鱼C论坛

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

监测点11.4问题

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

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

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

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

  2. code segment
  3. start:        mov ax, 0
  4.                 push ax
  5.                 popf
  6.                 mov ax, 0fff0h
  7.                 add ax, 0010h
  8.                                 ;经过这句以后标志寄存器应该是0000000001000101 也就是0045, debug的时候怎么是1100001000101 也就是3047那,
  9.                 pushf
  10.                 pop ax
  11.                 and al, 11000101b
  12.                 and ah, 00001000b
  13.                
  14.                 mov ax, 4c00h
  15.                 int 21h

  16. code ends
  17. 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-3-29 04:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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