. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->标志寄存器
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  11章检测题,做了四次还是错一条。这次记下来  [待解决] 回复[ 11次 ]   点击[ 723次 ]  
cairulong
[帖 主]   [ 发表时间:2008-06-18 10:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-27 16:45
下列指令对标志寄存器内容产生影响,但不会改变参与其执行过程的其它寄存器内容的是____2__。 
 1、 loop s 
 2、 cmp cx,0 
 3、 jcxz s 
 4、 div cx 

对于Intel8086cpu标志寄存器的说法正确的是__2___。 
 1、 cpu执行每一条指令都有可能改变标志寄存器的内容。 
 2、 无符号数运算的进位或借位情况由cf标志位记录,有符号数运算的溢出情况由of标志位记录。 
 3、 当前指令对标志寄存器的影响为此指令的执行提供了所需的依据,对后续指令没有任何指导作用。 
 4、 所有的条件转移指令都要参考标志寄存器中的相关标志位。 
    sub ax,ax 
    mov ax,5 
    add ax,-3 
以上程序执行完后,CF,OF的值是__2___ 
 1、 0,0 
 2、 0,1 
 3、 1,0 
 4、 1,1 

   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 

    mov ax,0 
    push ax 
    popf 
    mov ax,0fff0h 
    add ax,0010h 
    pushf 
    pop ax 
    and al,11000101B 
    and ah,00001000B 
上面指令执行后ax的值是_3___ 
 1、 845H 
 2、 8C5H 
 3、 45H 
 4、 C5H 


错了哪一条?第二题吗?
peterhui
[第1楼]   [ 回复时间:2008-06-18 14:09 ]   [引用]   [回复]   [ top ] 
荣誉值:24
信誉值:21
注册日期:2007-08-13 23:04
sub ax,ax  
    mov ax,5  
    add ax,-3  
以上程序执行完后,CF,OF的值是__2___  
 1、 0,0  
 2、 0,1  
 3、 1,0  
 4、 1,1  
---------------
这题应该选1吧,应该没有溢出,寄存器是AX,16位的
younggay
[第2楼]   [ 回复时间:2008-06-18 15:13 ]   [引用]   [回复]   [ top ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
第三题错了。
OF是对于有符号数来说的,结果超过了寄存器表示的有符号数的范围就会溢出。而5-3=2,显然没有超出。
CF是对于无符号数来说的,对于负数,要转换成其对应的补码,-3表示成补码是 1111 1111 1111 1110然后加上0000 0000 0000 0101后,其结果超过了ax最大无符号数的值FFFFH,所以就会产生进位,影响CF位。

这么说,楼主应该知道答案是什么了吧。
建议回头在看看标志寄存器章节的知识。
peterhui
[第3楼]   [ 回复时间:2008-06-18 21:31 ]   [引用]   [回复]   [ top ] 
荣誉值:24
信誉值:21
注册日期:2007-08-13 23:04
受教了,纠正了我对16位的二进制的认识。选3没错
cairulong
[第4楼]   [ 回复时间:2008-06-19 09:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-27 16:45
谢谢各位,受教了。
我把-3当作FDH来算了,其实是FFFDH才对!
在debug里跑一趟才知道。
谢谢了。。各位前辈们!
towersimper
[第5楼]   [ 回复时间:2008-07-18 10:36 ]   [引用]   [回复]   [ top ] 
荣誉值:9
信誉值:3
注册日期:2008-06-12 09:16
sub ax,ax  
    mov ax,5  
    add ax,-3  
以上程序执行完后,CF,OF的值是__2___  
 1、 0,0  
 2、 0,1  
 3、 1,0  
 4、 1,1  
还是有点疑问啊。的确5-3等于2,是没有超出,只是将5和-3分别表示为二进制后,5D=0000,0000,0000,0101
(-3)D=1111,1111,1111,1101,两着相加为:
       0000,0000,0000,0101
     +1111,1111,1111,1101
     =(1)0000,0000,0000,0010
1无论是进位还是溢出后,结果均为0000,0000,0000,0010,结果为2。跟直接的十进制运算结果一样。我是觉得既然涉及-3,肯定涉及到最高位为符号位,否则怎么可能在16位寄存器中保存它们。因为对于无符号运算,最高位不是符号位,既然如何怎么可能表示-3。
ym3823078
[第6楼]   [ 回复时间:2008-07-21 19:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-18 07:43
还是有点疑问啊。的确5-3等于2,是没有超出,只是将5和-3分别表示为二进制后,5D=0000,0000,0000,0101 
(-3)D=1111,1111,1111,1101,两着相加为: 
------------------------------------------------------------------------



-1为FFFF,-2为FFFE,    -3为FFFD(1111,1111,1111,1100)!!!!!!
towersimper
[第7楼]   [ 回复时间:2008-07-23 09:09 ]   [引用]   [回复]   [ top ] 
荣誉值:9
信誉值:3
注册日期:2008-06-12 09:16
不知道是你错,还是我错。(-3)原=1000,0000,0000,0011.(-3)反=1111,1111,1111,1100.
(-3)补=(-3)反+1=1111,1111,1111,1101.
towersimper
[第8楼]   [ 回复时间:2008-07-23 09:18 ]   [引用]   [回复]   [ top ] 
荣誉值:9
信誉值:3
注册日期:2008-06-12 09:16
(-2)原=1000,0000,0000,0010.
(-2)反=1111,1111,1111,1101.
(-2)补=1111,1111,1111,1110=FFFE.
(-1)原=1000,0000,0000,0001.
(-1)反=1111,1111,1111,1110.
(-1)补=1111,1111,1111,1111=FFFF。
(-3)原=1000,0000,0000,0011.
(-3)反=1111,1111,1111,1100. 
(-3)补=(-3)反+1=1111,1111,1111,1101=FFFD.
你自己在计算一下,四位二进制数1100相当多少啊。(1100)B=0+0+4+8=十进制的12=十六进制的C。
towersimper
[第9楼]   [ 回复时间:2008-07-23 09:28 ]   [引用]   [回复]   [ top ] 
荣誉值:9
信誉值:3
注册日期:2008-06-12 09:16
所以younggay和ym3823078在-3的补码问题搞错了。希望你们再好好看一下。不要下次弄错。
nfh_china
[第10楼]   [ 回复时间:2008-09-15 19:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-29 19:04
sub ax,ax  
    mov ax,5  
    add ax,-3  
以上程序执行完后,CF,OF的值是__3___  
 1、 0,0  
 2、 0,1  
 3、 1,0  
 4、 1,1
younggay
[第11楼]   [ 回复时间:2008-11-16 14:41 ]   [引用]   [回复]   [ top ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
所以younggay和ym3823078在-3的补码问题搞错了。希望你们再好好看一下。不要下次弄错。
------------------
回复:谢谢towersimper的指正。是我弄错了。下次会注意。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved