maca 发表于 2013-6-30 22:43:04

关于AF(Auxiliary Carry Flag)的意义

本帖最后由 maca 于 2013-7-1 22:04 编辑

目前看小甲鱼的OD教学视频
有一点地方不太了解
当cmp 118, -1 (16进位)的时候
AF会变为1
我不太了解这个标记位的意义是什么,
网路上有查过了 但是不太了解他跟CF的区别
所以在这请教一下各位大大,希望能举一些例子帮助了解
谢谢~{:1_1:}


属専色灰 发表于 2013-6-30 22:43:05

本帖最后由 属専色灰 于 2013-6-30 22:54 编辑

一个是最高位进位,一个是半进位!就这么简单...
cmp 118, -1若学过一点免杀的都知道 可以看成 add 118,1    第三位进位(位从0开始)所以AF置1,按常理来说,明白CF应该也懂AF啊!靓仔,交出你手中的鱼币吧!:D

maca 发表于 2013-6-30 23:20:49

本帖最后由 maca 于 2013-6-30 23:46 编辑

不好意思, 可以请您用2进位说明一下嘛?
不太了解最高进位和半进位的意思...
您指的第三位是指
0x0000"0"118
这一位吗?
那加一之后不是变
0x00000119吗
是什么地方有进位呢?

maca 发表于 2013-7-1 15:16:35

本帖最后由 maca 于 2013-7-1 22:11 编辑

16进位应该是
0001 0001 1000

我想请问一下
2进位的减法, 不是会用2'complement转换之后改加法吗?
也就是11111111会转换成00000001
      01110110
    +00000001
————————
   01110111
我有理解错误吗?
------------------------------------------------------
而如果是减法
那最高位是0那是跟谁借位的呢?

maca 发表于 2013-7-4 21:58:55

刚刚实验了一下二楼的说法
用 add 0xFF, 0x1
C=0   P=1   A=1
用 cmp0xFF, -0x1
C=1   P=1   A=0
结果不太一样
页: [1]
查看完整版本: 关于AF(Auxiliary Carry Flag)的意义