检测点11.1作业练习
ZF 标志如果0,ZF=1;如果1,ZF=0;
PF 标志
结果偶数1,PF=1;结果基数1,PF=0;
SF 标志
结果为负,SF=1;结果为正,SF=0;
add、sub、mul、div 、inc、or、and 等运算指令影响标志寄存器
mov、push、pop 等传送指令对标志寄存器没影响。
sub al,al 结果:00000000b ZF = 1, PF = 1, SF = 0
mov al,1 结果:00000001b ZF = 1, PF = 0, SF = 0
push ax 结果:00000001b ZF = 1, PF = 0, SF = 0
pop bx 结果:00000001b ZF = 1, PF = 0, SF = 0
add al,bl 结果:00000010b ZF = 0, PF = 0, SF = 0
add al,10 结果:00001100b ZF = 0, PF = 1, SF = 0
mul al 结果:10010000b ZF = 0, PF = 1, SF = 0
你是怎么知道ai和bl的值的?题目中也没有给出啊 文小诗 发表于 2020-4-6 15:53
你是怎么知道ai和bl的值的?题目中也没有给出啊
我们已知mov al,1
然后push ax放进寄存器
再pop bx转给bx;此时bx等于ax等于1;
知道了,谢谢 14-16应该都是110吧,他们都是标志寄存器的标志位,传送指令不影响标志寄存器的值,所以标志位也不会改变 110
000
000
000
000
010
010
这个是我的答案,我没弄明白这行:mov al,1 结果:00000001b ZF = 1, PF = 0, SF = 0,结果为什么是0? mov push pop 指令不是说不会改变标志寄存器的值吗 没明白 本帖最后由 sbx 于 2020-8-18 18:00 编辑
转:
sub al,al al=0h ZF=1 PF=1 SF=0
mov al,1 al=1h ZF=1 PF=1 SF=0 mov指令对标志寄存器没有影响
push ax al=1h ZF=1 PF=1 SF=0 puah指令对标志寄存器没有影响
pop bx bx=1h ZF=1 PF=1 SF=0 pop指令对标志寄存器没有影响
add al,bl al=2h ZF=0 PF=0 SF=0
add al,10 al=12h ZF=0 PF=1 SF=0
mul al al=144h ZF=0 PF=1 SF=0
黑色太阳 发表于 2020-6-5 20:13
110
000
000
我也是这样{:5_100:} 黑色太阳 发表于 2020-6-5 20:13
110
000
000
好吧,我知道为啥了,看书214页,有的指令的执行对标志寄存器没有影响,比如mov、push、pop 感谢老铁!虽然你答案错的不过楼层里有正确答案
页:
[1]