鱼C论坛

 找回密码
 立即注册
查看: 3060|回复: 0

[汇编作业] 检测点11.1

[复制链接]
发表于 2020-4-16 14:05:05 | 显示全部楼层 |阅读模式

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

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

x
  1. assume cs:code

  2. code segment

  3. start:       
  4.         sub al,al;ZF=1   PF=1  SF=0
  5.         mov al,1;ZF=1   PF=1  SF=0
  6.         push ax;ZF=1   PF=1  SF=0
  7.         pop bx;ZF=1   PF=1  SF=0
  8.         add al,bl;ZF=0   PF=0  SF=0
  9.         add al,10;ZF=0   PF=1  SF=0
  10.         mul al;ZF=0   PF=1  SF=0
  11.        
  12. code ends
  13. end start
复制代码

我的debug里显示FLAG的是        NV UP EI PL NZ NA PO NC而不是具体的1或0
第一行Sub Al,Al执行完后变成了 NV UP EI PL ZR NA PE NC
从书上看,这些分别代表标志位   OF  DF IF ? ZF AF PF  CF
第一行命令执行完了,结果应为0,所以ZR的含义应为ZF=1;结果里1的个数为0(偶数),所以PE的含义应为PF=1;

第二、三、四行执行完了所有标志位不变
第五行执行完了标志位变成          NV UP EI PL NZ MA PO NC 结果里1的个数为1(奇数),所以PO的含义应为PF=0
由此可猜测NZ的含义为ZF=0
不过我始终搞不懂?位代表SF还是TF,看在这么多条指令下去?位和SF一样没变就当做SF吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 04:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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