汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx

上传人:b****1 文档编号:15331827 上传时间:2022-10-29 格式:DOCX 页数:11 大小:18.01KB
下载 相关 举报
汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx_第1页
第1页 / 共11页
汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx_第2页
第2页 / 共11页
汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx_第3页
第3页 / 共11页
汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx_第4页
第4页 / 共11页
汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx

《汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。

汇编语言沈美明答案 汇编语言第3章答案 沈美明Word文件下载.docx

  ADD[0524H],AX

  (5)ADDAL,0B5H

  3、写出把首地址为BLOCK的字数组的第6个字送回到DX寄存器的指令。

要求使用以下几种寻址方式

  

(1)寄存器间接寻址

  

(2)寄存器相对寻址

  (3)基址变址寻址

  MOVBX,OFFSET[BLOCK][0AH]

  MOVDX,[BX]

  MOVSI,OAH

  MOVDX,[BLOCK][SI]

  MOVBX,BLOCK

  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中

W-X

  CWD;

把AX中的十六位带符号数扩展成为32位,低十六位保存在AX中,高十六位保;

在DX中

  MOVBX,5;

把5送到BX中

(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

  程序结束后,(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;

如果是负数,则求补

  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中的‘&

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1