汇编语言沈美明答案 汇编语言第3章答案 沈美明

上传人:我*** 文档编号:121830156 上传时间:2020-02-26 格式:DOCX 页数:16 大小:20.97KB
返回 下载 相关 举报
汇编语言沈美明答案 汇编语言第3章答案 沈美明_第1页
第1页 / 共16页
汇编语言沈美明答案 汇编语言第3章答案 沈美明_第2页
第2页 / 共16页
汇编语言沈美明答案 汇编语言第3章答案 沈美明_第3页
第3页 / 共16页
汇编语言沈美明答案 汇编语言第3章答案 沈美明_第4页
第4页 / 共16页
汇编语言沈美明答案 汇编语言第3章答案 沈美明_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《汇编语言沈美明答案 汇编语言第3章答案 沈美明》由会员分享,可在线阅读,更多相关《汇编语言沈美明答案 汇编语言第3章答案 沈美明(16页珍藏版)》请在金锄头文库上搜索。

1、汇编语言沈美明答案 汇编语言第3章答案 沈美明第三章 80X86的指令系统和寻址方式 1、给定(BX )=637DH,(SI )=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么答案:(1)立即寻址 没有(2)直接寻址 7237H(3)使用BX 的寄存器寻址 没有(4)使用BX 的间接寻址 637DH(5)使用BX 的寄存器相对寻址 0D5F0H(6)基址变址寻址 8E18H(7)相对基址变址 004FH2、根据下列要求,写出相应的汇编指令(1)把BX 寄存器和DX 寄存器的内容相加,结果存入DX 寄存器中。(2)用寄存器BX 和SI 基地址变址寻址方式把存储器中的

2、一个字节与AL 寄存器的内容相加,并把结果送到AL 寄存器中。(3)用寄存器BX 和位移量0B2H 的寄存器相对寻址方式把存储器中的一个字和(CX )相加,并把结果送回存储器中。(4)用位移量为0524H 的直接寻址方式把存储器中的一个字与数2A59H 相加,并把结果送回该存储单元中。(5)把数0B5H 与(AL )相加,并把结果送回AL 中。答案:(1)ADD DX,BX(2)ADD AL,BXSI(3)ADD BX0B2H, CX(4)MOV AX,2A59HADD 0524H ,AX(5)ADD AL ,0B5H3、写出把首地址为BLOCK 的字数组的第6个字送回到DX 寄存器的指令。要

3、求使用以下几种寻址方式:(1)寄存器间接寻址(2)寄存器相对寻址(3)基址变址寻址答案:(1)寄存器间接寻址MOV BX,OFFSET BLOCK0AHMOV DX ,BX(2)寄存器相对寻址MOV SI,OAHMOV DX,BLOCKSI(3)基址变址寻址MOV BX ,BLOCKMOV SI,OAHMOV DX,BXSI4、现有(DS )=20XXH,(BX)=0100H,(SI)=0002H,(20XX0)=12H,(20XX1)=34H,(20XX2)=56H,(20XX3)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明

4、下列各条指令执行完后,AX 寄存器的内容。答案:(1)MOV AX,1200H 1200H(2)MOV AX,BX 0100H(3)MOV AX,1200 4C2AH(4)MOV AX,BX 3412H(5)MOV AX, 1100BX 4C2AH(6)MOV AX,BXSI 7856H(7)MOV AX,1100BXSI 65B7H5、给定(IP )=2BC0H,(CS )=0200H,位移量D=5119H,(BX )=1200H,(DS )=212AH,(224A0)=0600H,(275B9)=098AH,试为以下的转移指令找出转移的偏移地址。(1)段内直接寻址(2)使用BX 及寄存器间

5、接寻址方式的段内间接寻址(3)使用BX 及寄存器相对寻址方式的段内间接寻址答案:(1)7CD9H (2)1200H (3)6319H7、在0624单元内有一条二字节JMP SHORT OBJ 指令,如其中位移量为(1)27H ,(2)6BH 。(3)0C6H ,试问转向地址OBJ 的值是多少?答案:转向地址OBJ 的值分别为:(1)064DH (2)0691H (3)05E0H 注意有符号数的符号位8、假定(DS )=20XXH,(ES )=2100H,(SS )=1500H,(SI )=00A0H,(BX )=0100H,(BP )=0010H,数据段中变量名VAL 的偏移地址值为0050H

6、 ,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?(1)MOV AX,0ABH (2)MOV AX,BX(3)MOV AX,100 (4)MOV AX,VAL(5)MOV AX,BX (6)MOV AX,ES:BX(7)MOV AX,BP (8)MOV AX,SI(9)MOV AX,BX+10 (10)MOV AX,VALBX(11)MOV AX,BXSI (12)MOV AX,VALBXSI答案:(1)MOV AX,0ABH 立即数寻址 无物理地址(2)MOV AX,BX 寄存器寻址 同上(3)MOV AX,100 直接寻址 20XX0H(4)MOV AX,VAL 直接寻址 2

7、0XX0H(5)MOV AX,BX 寄存器间接寻址 20XX0H(6)MOV AX,ES:BX 直接寻址 21100H(7)MOV AX,BP 寄存器间接寻址 20XX0H(8)MOV AX,SI 同上 200A0H(9)MOV AX,BX+10 寄存器相对寻址 20XX0H(10)MOV AX,VALBX 同上 20XX0H(11)MOV AX,BXSI 基址变址寻址 201A0H(12)MOV AX,VALBXSI 相对基相变址寻址 201F0H10、如TABLE 为数据段中0032单元的符号名,其中存放的内容为1234H ,试问以下两条指令有什么区别?指令执行完后AX 寄存器的内容是什么

8、?答案:MOV AX,TABLE 是把符号地址TABLE 里的内容送到AX 里,指令执行完后,(AX)=1234H LEA AX,TABLE 是把符号地址TABLE 的有效地址(这里是偏移量)送到指定寄存器AX 里,指令执行完后,(AX )=0032H11、执行下列指令后,AX 寄存器中的内容是什么?TABLE DW 10,20,30,40,50ENTRY DW 3MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BX答案:执行完指令后,(AX )=1E00H15、求出以下各十六进制数与十六进制数62A0之和,并根据结果设置标志位SF , ,CF ,和OF 的值。答案

9、:运算结果 SF,CF,OF各位的值(从左至右依次往下)(1)74D4H 0 0 0 0(2)A5C1H 1 0 0 1(3)4240H 0 0 1 0(4)0000H 0 1 1 017、写出执行以下计算的指令序列,其中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).MOV AX,Z ;把Z 送到AXSUB AX,X ;Z-XADD AX,W ;W+(Z-X)MOV Z,AX ;结果保存在Z 中(2).MOV AX,R

10、 ;R 送到AX 中ADD AX,9 ;R+9MOV BX,X ;X 送到BX 中ADD BX,6 ;X+6ADD AX,BX ;(R+9)+(X+6),结果保存在AX 中MOV BX,W ; W送到BX 中SUB BX,AX ; W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和 MOV Z,BX ;最终结果送到Z 中(3)MOV AX,W ;把W 送到AXIMUL X ;W*X 注意:低十六位保存在AX 里,高十六位保存在DX 里MOV BX,Y ;把Y 送到BX 里ADD BX,6 ;Y+6IDIV BX ;(W*X)/(Y+6) 注意:商保存在AX 里,余数保存在DX

11、里MOV Z,AX ;把商送到Z 中。MOV R,DX ;把余数 送到R 中(4)MOV AX,W ;把W 送到AX 中SUB AX,X ;W-XCWD ;把AX 中的十六位带符号数扩展成为32位,低十六位保存在AX 中,高十六位保;在DX 中MOV BX,5 ;把5送到BX 中IDIV BX ;(W-X )/5 被除数为32位,除数为16位商为16位IMUL Y ;上一步结果再乖以Y ,积为32位MOV BX,2 ;把2送到BX 中IMUL BX ;上一步乘法所得的积再乘以2,各为64位MOV Z,EAX ;把结果中低32位放入Z 双字单元中MOV Z+4,EDX ;把结果中高32位放入Z+

12、4双字单元中18、已知程序段如下:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXINT 20H试问:(1) 每条指令执行完后,AX 寄存器的内容是什么?(2) 每条指令执行完后,进位、符号和零标志的值是什么?(3) 程序结束时,AX 和DX 的内容是什么?答案:指令 本条指令执行完后AX 的内容 执行完后CF,SF, 的值MOV AX,1234H 1234H 0 0 0MOV CL,4 1234H 0 0 0ROL AX,CL 2341H 1 0 0DEC AX 2340H 1 0 0MOV CX,4 2340H 1 0 0MUL CX 89

13、18H 0 0 0INT 20H程序结束后,(AX )=8918H (DX)=0000H21、写出对存放在DX 和AX 中双字长数求补的指令序列。答案:NEG DXNEG AXSBB DX,022、试编写一个程序求出双字长数的绝对值。双字长数在A 和A+2单元中,结果存放在B 和B+2单元中。答案:MOV AX,A ;把双字長数的低字放到AX 中MOV DX,A+2 ;把双字長数的高字放到DX 中TEST DX,8000H ;测试字長数的符号JZ RIGHT ;如果是非负数,则直接保存NEG DX ;如果是负数,则求补NEG AXSBB DX,0RIGHT :MOV B,AXMOV B+2,DX25、试用移位指令把十进制数+53和-49分别乘以2。它们应该用什么指令?得到的结果是什么?如果要除以2呢?答案:(1)把53D 乘以2的程序:MOV AX,35H ;53D=35HSHL AX ,1(2)把53除以2 的程序:MOV AX,35HSHR AX,1其他的同理28、下列程序段执行完后,BX 寄存器中的内容是什么?MOV CL,3MOV BX,0B7HROL BX,1ROR BX,CL答案:该程序段执行完后,BX 寄存器的內容是:C02

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号