鱼C论坛

 找回密码
 立即注册
查看: 2678|回复: 4

关于AF(Auxiliary Carry Flag)的意义

[复制链接]
发表于 2013-6-30 22:43:04 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 maca 于 2013-7-1 22:04 编辑

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


最佳答案

查看完整内容

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

使用道具 举报

发表于 2013-6-30 22:43:05 | 显示全部楼层
本帖最后由 属専色灰 于 2013-6-30 22:54 编辑

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

使用道具 举报

 楼主| 发表于 2013-6-30 23:20:49 | 显示全部楼层
本帖最后由 maca 于 2013-6-30 23:46 编辑

不好意思, 可以请您用2进位说明一下嘛?
不太了解最高进位和半进位的意思...
您指的第三位是指
0x0000"0"118
这一位吗?
那加一之后不是变
0x00000119吗
是什么地方有进位呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 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那是跟谁借位的呢?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-4 21:58:55 | 显示全部楼层
刚刚实验了一下二楼的说法
用 add 0xFF, 0x1
C=0   P=1   A=1
用 cmp  0xFF, -0x1
C=1   P=1   A=0
结果不太一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 16:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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