77范文网 - 专业文章范例文档资料分享平台

汇编语言程序设计答案(2)

来源:网络收集 时间:2018-12-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

例如DS=6542H,指令mov ax,DS:[123A]; 123A为有效地址,6542H为段地址,65420H+0123AH=6665A即物理地址.

3.2 指出以下指令的寻址方式,array是变量。

(1)mov ax, 9

(2)mov byte ptr[bx],9 (3)mov bx,[di] (4)mov ax,bx (5)mov [si+bx],9 (6)mov array[bx],cx (7)mov ax, array+9

(8)mov ax, array[bx+di] 答: (1)立即数寻址

(2)寄存器间接寻址 (3)变址寻址 (4)寄存器寻址 (5)基址变址寻址 (6)相对基址寻址 (7)直接寻址

(8)相对基址变址寻址

3.3 假定(DS)=1200H,(SS)=4400H, (BX)=463DH,(BP)=2006H, (SI)=6A00H,位移量D=4524H,以AX寄存器为目的操作数,试写出以下各种寻址方式下的传送指令,并确定源操作数的有效地址EA和物理地址。 (1)立即寻址 (2)直接寻址

(3)使用BX的寄存器寻址;无EA (4)使用BX的间接寻址

(5)使用BP的寄存器相对寻址 (6)基址变址寻址 (7)相对基址变址寻址 答:(1)操作数在指令中无EA

(2)直接寻址:EA=4524H,物理地址=DS:4524 (3)使用BX的寄存器寻址:无EA

(4)使用BX的间接寻址:EA=463DH,物理地址=DS:463D

(5)使用BP的寄存器相对寻址:MOV AX,[BP+4524],EA=2006+4524,

物理地址=SS:EA

(6)基址变址寻址: MOV AX,[BX+SI],EA= BX+SI,物理地址=DS:EA (7)相对基址变址寻址:MOV AX,[4524+BX+SI],EA=4524+BX+SI, 物理地址=DS:EA

3.4 在数据段定义了ARRAY数组,其中依次存储了五个字数据,ARRAY的起始地址(第一个数据的地址)为24H,请用不同寻址方式的指令,把第5个字送AX寄存器,指令条数不限。

答:(1)直接寻址

MOV AX,ARRAY+8 或MOV AX,[ARRAY+8] (2)使用BX的间接寻址

LEA BX,ARRAY+8 ;MOV AX,[BX] (3)使用BX的寄存器相对寻址

LEA BX,ARRAY ;MOV AX,[BX+8] (4)基址变址寻址

LEA BX,ARRAY ; MOV SI,8 ; MOV AX,[BX+SI]

习题4

4.1 溢出标志OF与进位标志CF有何作用和区别?

答:处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志CF;同时,根据是否超出有符号数的范围设置溢出标志OF。应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要注意是否溢出。

4.2 带符号数比较大小,当AX < BX时程序转向标号L1,若前导指令为CMP AX, BX,后续指令应为什么?若视为二个无符号数比较大小, 后续指令应为什么? 答:带符号数:JL L1, 无符号数:JB L1

4.3 说出CALL指令和INT 21H指令的操作,有何异同? 答:CALL把断点压入堆栈,不一定是远调,INT 21H还要把FLAGS压入堆栈,且是远调,总入口地址为84H内存中的两个字。

4.4 除了用4CH号系统功能调用结束程序的执行并退出,还有哪些办法? 答:RET指令,INT 20H,但要正确使用。

4.5 V是变量,指出下列错误的指令,说出错误原因,并给出合适的修改。 (1) MOV AX,[DX] (2) MOV DS,DATA (3) MOV CS,AX (4) MOV AX,DL (5) PUSH AL (6) ADD [BX],[DI] (7) LEA [BX],V (8) MOV [DX],OFFSET V (9) MOV [SI],2 (10) MUL BX,CX (11) DIV 5 (12) MOV BYTE[SI],AX (13) MOV AX,[SI+DI] (14) SHR AX,4 (15) CMP 6,AX

(16) MOV [FFFF],AX (17) MOV AX,BX+4 (18) JMP FAR PRO 答: (1) MOV AX,[BX] (2) MOV DS,BX (3) MOV ES,AX

(4) MOV AL,DL (5) PUSH AX

(6) ADD [BX],DI (7) LEA BX,V

(8) MOV DX,OFFSET V

(9) MOV WORD PTR [SI],AX (10) MUL BX (11) DIV BX

(12) MOV BYTE PTR [SI],2 (13) MOV AX,[BX+SI] (14) SHR AX,1 (15) CMP AX,6

(16) MOV [FFFE],AX (17) MOV AX,[BX+4] (18) JMP FAR PTR PRO

4.6 在数据段定义了ARRAY数组,其中依次存储了4个字数据,根据以下要求把第4个字送AX寄存器。

(1)直接寻址 (2)使用BX的间接寻址

(3)使用BX和 ARRAY的寄存器相对寻址 (4)基址变址寻址

(5)MOV以外的其它指令 答:(1)直接寻址

MOV AX,ARRAY+6 或MOV AX,[ARRAY+6] (2)使用BX的间接寻址

LEA BX,ARRAY+6 ;MOV AX,[BX] (3)使用BX和 ARRAY的寄存器相对寻址

LEA BX,ARRAY ;MOV AX,[BX+6] (4)基址变址寻址

LEA BX,ARRAY ; MOV SI,6 ; MOV AX,[BX+SI] (5)MOV以外的其它指令

SUB AX,AX; ADD AX,[ARRAY+6]

4.7 画出数据在数据段中的存放情况,程序执行后,BX、DI、CX、DX寄存器中的内容是什么? 程序如下: data segment

array dw 20,30,40,20h,30h,-6

buff db ‘abcd$’ data ends code segment

assume cs:code,ds:data start:

mov ax, data mov ds, ax

mov bx, array+1

mov di, offset array mov cx, [di+5] mov dl, buff+3 mov ah, 4ch int 21h code ends

end start

答: 14 00 1E 00 28 00 20 00 30 00 FA FF 61 62 63 64 $

(BX)=1E00H,(DI)=0000H,(CX)=2000H,(DX)=0064H

4.8 在DEBUG下设置(SP)=20H,设置AX、BX、CX、DX为不同值,把这四个寄存器内容依次压入堆栈,再从堆栈中依次弹出到SI、DI、BP、BX寄存器。写出一段程序实现上述操作,并画出每条入栈指令执行后SP和堆栈中数据的变化。 答:

code segment

assume cs:code start:

push AX push BX push CX Push DX Pop SI

Pop DI Pop BP Pop BX Hlt Code ends

End start

4.9 求出7450H与以下各十六进制数的和及差,并根据结果标出SF、ZF、CF、OF标志位的值。

(1) 1234H (2)5678H (3)9804H (4)E0A0H 答: SF、ZF、CF、OF

(1)1234H+7450H, 1 0 0 1 (2)5678H+7450H, 1 0 0 1 (3)9804H+7450H, 0 0 1 0 (4)E0A0H+7450H, 0 0 1 0

4.10 在数据段有32位的无符号数变量X,Y,按如下格式定义,其中‘?’请用数值代替,用16位指令按要求写出程序。 X DW ?,? Y DW ?,?

Z DW ?,?,?,? (1)Z=X+Y。 (2)Z=X-Y。 (3)Z=|X-Y|。 (4)Z=X×Y。

答:(1)X和Y两个字数据相加,和存放在Z中。 MOV AX,X MOV DX,X+2 ADD AX,Y ADC DX,Y+2 MOV Z,AX MOV Z+2,DX (2)MOV AX,X MOV DX,X+2 SUB AX,Y SBB DX,Y+2 MOV Z,AX MOV Z+2,DX (3)MOV AX,X MOV DX,X+2 SUB AX,Y SBB DX,Y+2 TEST AX,8000H

JZ Exit NOT AX NOT DX ADD DX,1 ADC AX,0 Exit: MOV Z,AX MOV Z+2,DX (4)MOV AX,X MUL Y MOV Z,AX

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库汇编语言程序设计答案(2)在线全文阅读。

汇编语言程序设计答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/336985.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: