汇编语言沈美明答案 汇编语言第3章答案 沈美明.docx
- 文档编号:3091202
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:11
- 大小:18.01KB
汇编语言沈美明答案 汇编语言第3章答案 沈美明.docx
《汇编语言沈美明答案 汇编语言第3章答案 沈美明.docx》由会员分享,可在线阅读,更多相关《汇编语言沈美明答案 汇编语言第3章答案 沈美明.docx(11页珍藏版)》请在冰豆网上搜索。
汇编语言沈美明答案汇编语言第3章答案沈美明
第三章80X86的指令系统和寻址方式1、给定
(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么
答案
(1)立即寻址没有
(2)直接寻址7237H
(3)使用BX的寄存器寻址没有
(4)使用BX的间接寻址637DH
(5)使用BX的寄存器相对寻址0D5F0H
(6)基址变址寻址8E18H
(7)相对基址变址004FH
2、根据下列要求,写出相应的汇编指令
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。
(2)用寄存器BX和SI基地址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。
(3)用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。
(4)用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回该存储单元中。
(5)把数0B5H与(AL)相加,并把结果送回AL中。
答案
(1)ADDDX,BX
(2)ADDAL,[BX][SI]
(3)ADD[BX][0B2H],CX
(4)MOVAX,2A59H
ADD[0524H],AX
(5)ADDAL,0B5H
3、写出把首地址为BLOCK的字数组的第6个字送回到DX寄存器的指令。
要求使用以下几种寻址方式
(1)寄存器间接寻址
(2)寄存器相对寻址
(3)基址变址寻址
答案
(1)寄存器间接寻址
MOVBX,OFFSET[BLOCK][0AH]
MOVDX,[BX]
(2)寄存器相对寻址
MOVSI,OAH
MOVDX,[BLOCK][SI]
(3)基址变址寻址
MOVBX,BLOCK
MOVSI,OAH
MOVDX,[BX][SI]
4、现有
(DS)
=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,
(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
答案
(1)MOVAX,1200H1200H
(2)MOVAX,BX0100H
(3)MOVAX,[1200]4C2AH
(4)MOVAX,[BX]3412H
(5)MOVAX,1100[BX]4C2AH
(6)MOVAX,[BX][SI]7856H
(7)MOVAX,1100[BX][SI]65B7H
5、给定
(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,(224A0)=0600H,(275B9)=098AH,试为以下的转移指令找出转移的偏移地址。
(1)段内直接寻址
(2)使用BX及寄存器间接寻址方式的段内间接寻址
(3)使用BX及寄存器相对寻址方式的段内间接寻址
答案
(1)7CD9H
(2)1200H(3)6319H
7、在0624单元内有一条二字节JMPSHORTOBJ指令,如其中位移量为
(1)27H,
(2)6BH,
(3)0C6H,试问转向地址OBJ的值是多少?
答案
转向地址OBJ的值分别为
(1)064DH
(2)0691H(3)05E0H注意有符号数的符号位
8、假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?
其物理地址值是多少?
(1)MOVAX,0ABH
(2)MOVAX,BX
(3)MOVAX,[100](4)MOVAX,VAL
(5)MOVAX,[BX](6)MOVAX,ES[BX]
(7)MOVAX,[BP](8)MOVAX,[SI]
(9)MOVAX,[BX+10](10)MOVAX,VAL[BX]
(11)MOVAX,[BX][SI](12)MOVAX,VAL[BX][SI]
答案
(1)MOVAX,0ABH立即数寻址无物理地址
(2)MOVAX,BX寄存器寻址同上
(3)MOVAX,[100]直接寻址20100H
(4)MOVAX,VAL直接寻址20050H
(5)MOVAX,[BX]寄存器间接寻址20100H
(6)MOVAX,ES[BX]直接寻址21100H
(7)MOVAX,[BP]寄存器间接寻址20010H
(8)MOVAX,[SI]同上200A0H
(9)MOVAX,[BX+10]寄存器相对寻址20110H
(10)MOVAX,VAL[BX]同上20150H
(11)MOVAX,[BX][SI]基址变址寻址201A0H
(12)MOVAX,VAL[BX][SI]相对基相变址寻址201F0H
10、如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,试问以下两条指令有什么区别?
指令执行完后AX寄存器的内容是什么?
答案
MOVAX,TABLE是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234HLEAAX,TABLE是把符号地址TABLE的有效地址(这里是偏移量)送到指定寄存器AX里,指令执行完后,(AX)=0032H
11、执行下列指令后,AX寄存器中的内容是什么?
TABLEDW10,20,30,40,50
ENTRYDW3
…
MOVBX,OFFSETTABLE
ADDBX,ENTRY
MOVAX,[BX]
答案
执行完指令后,(AX)=1E00H
15、求出以下各十六进制数与十六进制数62A0之和,并根据结果设置标志位SF,ZF,CF,和OF的值。
答案
运算结果SF,ZF,CF,OF各位的值(从左至右依次往下~)
(1)74D4H0000
(2)A5C1H1001
(3)4240H0010
(4)0000H0110
17、写出执行以下计算的指令序列,其中X,Y,Z,R和W均为存放16位带符号数单元的地址。
(1)Z←W+(Z-X)
(2)Z←W-(X+6)-(R+9)
(3)Z←(W*X)/(Y+6),R←余数
(4)Z←((W-X)/5*Y)*2
答案
(1).MOVAX,Z;把Z送到AX
SUBAX,X;Z-X
ADDAX,W;W+(Z-X)
MOVZ,AX;结果保存在Z中
(2).MOVAX,R;R送到AX中
ADDAX,9;R+9
MOVBX,X;X送到BX中
ADDBX,6;X+6
ADDAX,BX;(R+9)+(X+6),结果保存在AX中
MOVBX,W;W送到BX中
SUBBX,AX;W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和~~MOVZ,BX;最终结果送到Z中
(3)
MOVAX,W;把W送到AX
IMULX;W*X注意低十六位保存在AX里,高十六位保存在DX里
MOVBX,Y;把Y送到BX里
ADDBX,6;Y+6
IDIVBX;(W*X)/(Y+6)注意商保存在AX里,余数保存在DX里
MOVZ,AX;把商送到Z中,
MOVR,DX;把余数送到R中
(4)
MOVAX,W;把W送到AX中
SUBAX,X;W-X
CWD;把AX中的十六位带符号数扩展成为32位,低十六位保存在AX中,高十六位保;在DX中
MOVBX,5;把5送到BX中
IDIVBX;(W-X)/5被除数为32位,除数为16位商为16位
IMULY;上一步结果再乖以Y,积为32位
MOVBX,2;把2送到BX中
IMULBX;上一步乘法所得的积再乘以2,各为64位
MOVZ,EAX;把结果中低32位放入Z双字单元中
MOV[Z+4],EDX;把结果中高32位放入Z+4双字单元中
18、已知程序段如下
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MOVCX,4
MULCX
INT20H
试问
(1)每条指令执行完后,AX寄存器的内容是什么?
(2)每条指令执行完后,进位、符号和零标志的值是什么?
(3)程序结束时,AX和DX的内容是什么?
答案
指令本条指令执行完后AX的内容执行完后CF,SF,ZF的值
MOVAX,1234H1234H000
MOVCL,41234H000
ROLAX,CL2341H100
DECAX2340H100
MOVCX,42340H100
MULCX8918H000
INT20H
程序结束后,(AX)=8918H(DX)=0000H
21、写出对存放在DX和AX中双字长数求补的指令序列。
答案
NEGDX
NEGAX
SBBDX,0
22、试编写一个程序求出双字长数的绝对值。
双字长数在A和A+2单元中,结果存放在B和B+2单元中。
答案
MOVAX,A;把双字長数的低字放到AX中
MOVDX,[A+2];把双字長数的高字放到DX中
TESTDX,8000H;测试字長数的符号
JZRIGHT;如果是非负数,则直接保存
NEGDX;如果是负数,则求补
NEGAX
SBBDX,0
RIGHT
MOVB,AX
MOV[B+2],DX
25、试用移位指令把十进制数+53和-49分别乘以2。
它们应该用什么指令?
得到的结果是什么?
如果要除以2呢?
答案
(1)把53D乘以2的程序
MOVAX,35H;53D=35H
SHLAX,1
(2)把53除以2的程序
MOVAX,35H
SHRAX,1
其他的同理
28、下列程序段执行完后,BX寄存器中的内容是什么?
MOVCL,3
MOVBX,0B7H
ROLBX,1
RORBX,CL
答案
该程序段执行完后,BX寄存器的內容是C02DH
30、编写程序段,把字符串STRING中的‘&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言沈美明答案 汇编语言第3章答案 沈美明 汇编语言 答案