为什么会OF会标志为1???

jacky_shen 2004-10-09 04:09:34
MOV AX, 7FFFH
ADD AX, 01H

执行前
SF=0
OF=0
PF=0
AF=0

执行后
SF=1
OF=1
PF=1
AF=1

为什么呢?是怎么算的呢?
...全文
447 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kusk 2004-10-09
  • 打赏
  • 举报
回复
你把它当作无符号数时,请使用CF,把它当作有符号数时,才使用OF。计算机并不知道你想要什么类型,只是机械地设置相应的位。至于它的意义,解释权在你,方法就是选择使用正确的符号位。:)
dump123 2004-10-09
  • 打赏
  • 举报
回复
处理器既把操作数当作有符号数来对待,也把它作为无符号数对待,所以你的指令中的操作数,你既要把它作为无符号数,也要把它转为有符号数来对待,这样就能得出正确结果了。
csdsjkk 2004-10-09
  • 打赏
  • 举报
回复
sf是符号位标志,正数为0,负数为1,
8000h是负数-32768,因此sf是1
jacky_shen 2004-10-09
  • 打赏
  • 举报
回复
SF又为什么是1呢?
csdsjkk 2004-10-09
  • 打赏
  • 举报
回复
当然可以,
不过记住of是专为有符号数“服务”的
jacky_shen 2004-10-09
  • 打赏
  • 举报
回复
>> 超出有符号数表示范围

我把它认为是无符号数可以吗?
csdsjkk 2004-10-09
  • 打赏
  • 举报
回复
超出有符号数表示范围,就发生溢出,即of=1,
16位有符号数范围是:-32768(8000h)~~32767(7fffh),
7fffh+1超出最大值7fffh,因此溢出of=1

21,459

社区成员

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

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