汇编网首页登录博客注册
masmaster的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
文章收藏

[2010-08-31 10:09] 习题2.44

问:请比较如下指令片段

答:
(1)LDS SI,[BX]
这是错误指令,源操作数必须是32位地址指针。

(2)MOV SI,[BX]
   MOV DS,[BX+2]
这条指令指向一个逻辑地址DS:SI。

(3)MOV DS,[BX+2]
   MOV BX,[BX]
这条指令指向一个逻辑地址DS:BX...
阅读全文 | 评论次数(0) | 浏览次数(261) | 所属类型(汇编习题集)

[2010-08-31 09:59] 习题2.43

问:下列程序片段完成什么功能? 可否使用更简单的方法实现同样的功能?
XCHG AX,[SI]
XCHG AX,[DI]
XCHG AX,[SI]

答:上述片段完成两个内存单元内容交换。可以用push/pop指令完成同样的功能:
push [si]
push [di]
pop [si]
pop [di]...
阅读全文 | 评论次数(0) | 浏览次数(208) | 所属类型(汇编习题集)

[2010-08-31 09:48] 习题2.42

问:请指出如下指令哪些是错误的?并说明原因。

答:
(1) MOV [SP],AX        ;错。sp不能作为数据段指针寄存器使用。
(2) PUSH CS            ;对。
(3) JMP BX+100H        ; 对。
(4) JMP CX             ;对。
(5) ADD AL,[SI+DI]     ;错。源和目的指针不许同时表示一个内存单元。
(6) SUB [BP+DI-1000],AL;错。如果用BP作为数据段指针寄存器使用,不许用段超越。
(7) ADD BH,[BL-3]      ;错。bl不能作为指针寄存器使用。...
阅读全文 | 评论次数(0) | 浏览次数(246) | 所属类型(汇编习题集)

[2010-08-31 09:30] 习题2.41

问:请指出下列指令的错误所在

答:
(1) MOV CX,DL     ;源操作数与目的操作数尺寸不符
(2) POP CS        ;CS地址不确定,程序会出错
(3) SUB [SI],[DI] ;源与目的操作数不允许同时为内存单元
(4) OR BL,DX      ;源与目的操作数尺寸不符
(5) MUL 16        ;立即数不能作为目的操作数
(6) DIV 256       ;同上
(7) MOV ES,1234H  ;不允许直接给段寄存器赋值
(8) SUB DL,CF     ;CF默认使用在ADC,SBB等带进位指令中
(9) MOV ...
阅读全文 | 评论次数(0) | 浏览次数(289) | 所属类型(汇编习题集)

[2010-08-30 17:00] 习题2.40

问:相对转移和绝对转移的区别是什么?相对转移有何优点?

答:相对转移是利用目标地址和当前转移指令本身地址之差记录转移目标地址。绝对转移是在指令中包含目标地址的转移方式。 相对转移有利于程序的浮动。...
阅读全文 | 评论次数(0) | 浏览次数(265) | 所属类型(汇编习题集)

[2010-08-30 16:52] 习题2.39

问:8086的条件转移指令范围是多大? 如何实现超出范围的条件转移?

答:8086的条件转移都是段内转移,通过在IP上加一个字节的地址差的方法实现转移。 所以它的转移范围-127~+129之间。如果条件转移的目标超出范围,则需要无条件转移指令jmp...
阅读全文 | 评论次数(0) | 浏览次数(277) | 所属类型(汇编习题集)

[2010-08-30 16:47] 习题2.38

问:段间转移和段内转移的本质区别是什么?8086有哪些指令可实现段间转移?

答:
①段间转移和段内转移的本质区别就是段间转移CS发生变化而段内转移CS保持不变。
②jmp,call,int n,均可实现段间转移...
阅读全文 | 评论次数(0) | 浏览次数(264) | 所属类型(汇编习题集)

[2010-08-30 16:36] 习题2.37

问:请不用条件转移指令JG、JGE、JL、JLE等指令实现如下程序片段功能
    CMP AL,BL
    JGE OK
    XCHG AL,BL
OK:

答:
    CMP AL,BL
    JNC OK
    XCHG AL,BL
OK:
PS:如果不考虑用J系列条件转移指令,确实太男啦!...
阅读全文 | 评论次数(0) | 浏览次数(267) | 所属类型(汇编习题集)

[2010-08-30 12:51] 习题2.36

问:8086中,那些指令把寄存器CX作为计数器使用?哪些指令把寄存器BX作为基址指针寄存器使用?

答:循环指令loop默认把寄存器CX作为计数器使用。数据传送和地址传送指令可以把寄存器BX作为基指针寄存器使用。...
阅读全文 | 评论次数(0) | 浏览次数(279) | 所属类型(汇编习题集)

[2010-08-30 12:40] 习题2.35

问:请写出如下程序片段中每条移位指令执行后标志CF、ZF、SF和PF的状态

答:
MOV AL,84H
SHR AL,1 ;CF=0,ZF=0,SF=0,PF=1
SHR AL,1 ;CF=0,ZF=0,SF=0,PF=1
ROR AL,1 ;CF=1,ZF=0,SF=0,PF=1
RCL AL,1 ;CF=1,ZF=0,SF=0,PF=1
SHL AL,1 ;CF=0,ZF=0,SF=0,PF=1
ROL AL,1 ;CF=0,ZF=0,SF=0,PF=1...
阅读全文 | 评论次数(0) | 浏览次数(261) | 所属类型(汇编习题集)
页码数(16):  << 11  12  13  14  15  16