找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2379|回复: 4
打印 上一主题 下一主题
收起左侧

王爽汇编语言检测点11.1 关于mul al的解答

[复制链接]
跳转到指定楼层
楼主
ID:282519 发表于 2020-3-5 21:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人是汇编初学者,学习到检测点11.1的时候遇到了问题,就是 SF为什么=0,所以我搜了网上的答案,结果如下(好多解答都是这样的):

sub al,al     al=0h        ZF=1        PF=1        SF=0

mov al,1      al=1h        ZF=1        PF=1        SF=0

push ax       ax=1h        ZF=1        PF=1        SF=0

pop bx        bx=1h        ZF=1        PF=1        SF=0

add al,bl     al=2h        ZF=0        PF=0        SF=0

add al,10     al=12h       ZF=0        PF=1        SF=0

mul al        ax=144h      ZF=0        PF=1        SF=0

但很明显,解释是有问题的, add al,10     al=12h,al应该=12(十进制),mul al        ax=144h,ax应该=144(十进制),我一直把结果当成144=10010000B,所以认为SF=1,后来又搜了好多文章,找到应该是正确答案,mul的结果存在ax中,ax=144=0000000010010000B,所以SF=0,SF是针对ax的结果而不是al。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:401564 发表于 2020-3-6 00:22 | 只看该作者
哥们,汇编是基于硬件的,不同的硬件不同有汇编
王爽的是8086的汇编,这单片机大多是8051的汇编,不一样的,估计没有人会
回复

使用道具 举报

板凳
ID:282519 发表于 2020-3-6 07:23 来自手机 | 只看该作者
Y_G_G 发表于 2020-3-6 00:22
哥们,汇编是基于硬件的,不同的硬件不同有汇编
王爽的是8086的汇编,这单片机大多是8051的汇编,不一样的,估 ...

好多人喜欢用百度,百度可以百到这个帖子的,所以这个网站以外的人也是可以看到的
回复

使用道具 举报

地板
ID:278576 发表于 2020-3-14 23:09 来自手机 | 只看该作者
感谢楼主,解惑了
回复

使用道具 举报

5#
ID:1008660 发表于 2022-3-7 08:58 | 只看该作者
结论不对。
事实上执行完mul al后SF具体是多少取决于硬件本身,8086手册明确说明mul指令为无符号乘法指令,对于SF的影响是未定义的,所以没有固定的答案。具体位置在8086手册6-21最下方

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表