琴长不过时光 发表于 2020-5-8 16:40:49

小白求助 关于AF标志位的问题

AF初始值为0
mov ax,0x80
add ax,0x80输入这个代码 低半位向高半位进位 为啥AF的值还是0啊?


mov eax,0x8000
add eax,0x8000 输入这个代码 AF的值也是0

mov al,0x8
add eax,0x8 输入这个代码 AF变成1了

sunrise085 发表于 2020-5-8 17:25:43

你对AF理解可能有偏差
AF只看低四位,若低四位有进位或者借位,则AF为1

你的前两种写法中低四位全都是0,进行运算也不会出现进位或借位,所以AF为0,
第三种写法0x8为0b00001000,进行加法的时候低四位有进位,所以AF变成了1

琴长不过时光 发表于 2020-5-8 19:16:16

sunrise085 发表于 2020-5-8 17:25
你对AF理解可能有偏差
AF只看低四位,若低四位有进位或者借位,则AF为1



谢谢大佬了 弄明白了
页: [1]
查看完整版本: 小白求助 关于AF标志位的问题