王爽汇编语言有关检测点11.2不明白运算结果

vs9841 2011-07-16 05:35:31
指令 CF OF SF ZF PF
sub al,al 0 0 0 1 1
mov al,10H
add al,90H 0 0 1 0 0
mov al,80H
add al,80H 1 1 0 1 1 ;这里为什么OF=1会溢出
mov al,0FCH
add al,05H 1 0 0 0 0 ;这里明明运算结果超出了al的范围怎么会是OF=0呢?
mov al,7DH
add al,0BH 0 1 1 0 1 ;这里怎么会产生OF=1呢,明明运算结果还在al的表示范围内。
...全文
257 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iretf 2011-07-16
  • 打赏
  • 举报
回复
有符号数计算结果如果超出al的表示范围,那么就会使得OF=1。如果你的运算结果存储在某个寄存器中,相当于告诉你此时该寄存器的值不是正确的计算结果。
vs9841 2011-07-16
  • 打赏
  • 举报
回复
如果按照有符号数来说,那看看我下面的理解是不是正确:
OF只是针对有符号数而言吗?
假设它针对有符号才有意义的话,是不是说。计算结果超出AL表示范围,是不是与OF无关呢。
iretf 2011-07-16
  • 打赏
  • 举报
回复
判断OF标志位须将操作数当作有符号数看待,则al只能表示-128~+127。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧