鱼C论坛

 找回密码
 立即注册
查看: 4009|回复: 1

监测点11.4问题

[复制链接]
发表于 2011-5-25 12:33:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 loop 于 2011-5-29 23:24 编辑
assume cs:code

code segment
start:        mov ax, 0
                push ax
                popf
                mov ax, 0fff0h
                add ax, 0010h
                                ;经过这句以后标志寄存器应该是0000000001000101 也就是0045, debug的时候怎么是1100001000101 也就是3047那,
                pushf
                pop ax
                and al, 11000101b
                and ah, 00001000b
                
                mov ax, 4c00h
                int 21h

code ends
end start
标志寄存器
CF       OF       SF       ZF       PF

1        0        0        1        1

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-28 04:41:26 | 显示全部楼层
3047h == 00110000 01000111B

8086的标志寄存器咱只看第 0 2 4 6 7 8 9 10 11 位,其他都是浮云。

这里得到的数据第0位是1,因为产生进位了;
第2位是1,因为结果有奇数个1;
第6位是1,因为结果进位之后为0。

其他位……都是浮云,debug带来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-18 20:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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