第11章检测题,居然错了两道。唉,两小时后再说吧。
检测题如下:
下列指令对标志寄存器内容产生影响,但不会改变参与其执行过程的其它寄存器内容的是______。
1、loop s
2、cmp cx,0
3、jcxz s
4、div cx
这题选2,没问题
对于Intel8086cpu标志寄存器的说法正确的是_____。
1、cpu执行每一条指令都有可能改变标志寄存器的内容。
2、无符号数运算的进位或借位情况由cf标志位记录,有符号数运算的溢出情况由of标志位记录。
3、当前指令对标志寄存器的影响为此指令的执行提供了所需的依据,对后续指令没有任何指导作用。
4、所有的条件转移指令都要参考标志寄存器中的相关标志位。
这题有点犹豫,在2和4之间。
最后选了4,忘记了jcxz这样的条件转移指令,是测试cx的。
当时认为2错误,主要是把注意力放到了无符号数“运算”和带符号数“运算”这样的字眼上。
其实每次加减运算,既是带符号的,同时也是无符号的,就看你选择什么标志位去判断了。
sub ax,ax
mov ax,5
add ax,-3
以上程序执行完后,CF,OF的值是_____
1、0,0
2、0,1
3、1,0
4、1,1
这道,太不应该了。
一开始选了1,正确答案应该是3
主要问题在于犯了懒惰的毛病,没有将负数的补码写出来。
0005h + 0fffdh,一定会有进位的。
mov ax,8
mov bx,3
cmp ax,bx
上面指令执行前ZF,PF的值是0,0,执行后ZF,PF的值是_____ 1,
1、0,1
2、0,0
3、1,0
4、1,1
这题选1,没问题。
mov ax,0
push ax
popf
mov ax,0fff0h
add ax,0010h
pushf
pop ax
and al,11000101B
and ah,00001000B
上面指令执行后ax的值是____
1、845H
2、8C5H
3、45H
4、C5H
这题是检测点11.4,没什么好说的,3。
- [游客] 感谢 11/15 22:10
- [游客] 把:DD 5937000,改成:DD 4294967295,你的错误,立刻就暴露出来。呵呵 05/19 18:30
- [游客] 计算人均时,是DD型除以DW型。把DD型的最大值代进去,你的程序,就溢出了。 05/19 18:28
- [游客] 注意不溢出的除法。 05/19 18:25
- [游客] 老师好啊~ 06/28 11:01
- [longphui] 谢谢 09/03 20:10
- [longphui] 谢谢 09/03 16:23
- [longphui] 谢谢 09/02 15:26
- [longphui] 谢谢 09/02 09:13
- [sissim] 恩恩,谢谢指正 01/11 18:24
- [even3] 亲,你好。。。这边有一个汇编语言程序,但是就是不知道哪里出了问题,问了很多人,都不知道想麻烦您一下, 05/16 20:48
- [mcjfo] 楼主可以帮我解决这个问题吗?谢谢! 为什么它会跳过JMP DD 指令不执行啊 小弟搞了好久抖没 06/08 06:50