汇编复习习题答案

上传人:ldj****22 文档编号:37470691 上传时间:2018-04-16 格式:DOC 页数:17 大小:120KB
返回 下载 相关 举报
汇编复习习题答案_第1页
第1页 / 共17页
汇编复习习题答案_第2页
第2页 / 共17页
汇编复习习题答案_第3页
第3页 / 共17页
汇编复习习题答案_第4页
第4页 / 共17页
汇编复习习题答案_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《汇编复习习题答案》由会员分享,可在线阅读,更多相关《汇编复习习题答案(17页珍藏版)》请在金锄头文库上搜索。

1、所有十二种寻址方式必须必须必须牢牢记住,按照以往的经验是百分百会考,所有十二种寻址方式必须必须必须牢牢记住,按照以往的经验是百分百会考,20 分;指出分;指出 程序的错误,百分百会考,程序的错误,百分百会考,16 或者或者 20 分;说明程序的功能,课后习题就三四道,一定会分;说明程序的功能,课后习题就三四道,一定会 考至少一到两道题,考至少一到两道题,5-10 分;应该会有补充程序题,也是课后题,所以就自己多注意。选分;应该会有补充程序题,也是课后题,所以就自己多注意。选 择题和最后的编程就看自己的本事了。择题和最后的编程就看自己的本事了。红色黄底的必须全部记住,死死地,百分百保证记住,标红

2、的也要全部记住,必须全部记红色黄底的必须全部记住,死死地,百分百保证记住,标红的也要全部记住,必须全部记 住。后边没标红的程序,一般会考两道程序题,但是不敢确定是哪几道,所以程序题属于住。后边没标红的程序,一般会考两道程序题,但是不敢确定是哪几道,所以程序题属于 看自己的水平,能记住的就多记几道,否则自求多福。学霸自重!看自己的水平,能记住的就多记几道,否则自求多福。学霸自重!我这只是当时的复习内容,现在一定要对一下有没有漏掉的,自行补充。或者找一个比较我这只是当时的复习内容,现在一定要对一下有没有漏掉的,自行补充。或者找一个比较 认真的同学整理一份大家共享。认真的同学整理一份大家共享。2.3

3、 在 IBM PC 机的存储器中存放信息如右下图所示。试读出 30022H 和 30024H 字节单元 的内容,以及 30021H 和 30022H 字单元的内容。 答:30022H 字节单元的内容为 ABH;30024H 字节单元的内容为 EFH。30021H 字单 元的内容为 AB34H;30022H 字单元的内容为 CDABH。2.4 在实模式下,段地址和偏移地址为 3017:000A 的存储单元的物理地址是 什么?如果段地址和偏移地址是 3015:002A 和 3010:007A 呢? 答:3017:000A、3015:002A 和 3010:007A 的存储单元的物理地址都是 301

4、7AH。2.6 在实模式下,存储器中每一段最多可有 10000H 个字节。如果用调试程 序 DEBUG 的 r 命令在终端上显示出当前各寄存器的内容如下,请画出 此时存储器分段的示意图,以及条件标志 OF、SF、ZF、CF 的值。 Cdebug -r AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC 答:此时存储器分段的示意图如右图所示。OF、SF、ZF、CF 的值都 为 0。3.2 试根据

5、以下要求写出相应的汇编语言指令 (1) 把 BX 寄存器和 DX 寄存器的内容相加,结果存入 DX 寄存器中。(2) 用寄存器 BX 和 SI 的基址变址寻址方式把存储器中的一个字节与 AL 寄存器的内 容相加,并把结果送到 AL 寄存器中。 (3) 用寄存器 BX 和位移量 0B2H 的寄存器相对寻址方式把存储器中的一个字和(CX)相 加,并把结果送回存储器中。 (4) 用位移量为 0524H 的直接寻址方式把存储器中的一个字与数 2A59H 相加,并把结 果送回存储单元中。 (5) 把数 0B5H 与(AL)相加,并把结果送回 AL 中。 答:(1) ADD DX, BX (2) ADD

6、AL, BXSI (3) ADD BX+0B2H, CX (4) ADD WORD PTR 0524H, 2A59H (5) ADD AL, 0B5H34H30021H ABH30022H CDH30023H EFH30024H存储器2.3 题的信息存放情况12H30020H10F4010E4020F4020E4021F0031F00 31FF041FF0附加段数据段堆栈段代码段2.6 题的存储器分段示意图3.3 写出把首地址为 BLOCK 的字数组的第 6 个字送到 DX 寄存器的指令。要求使用以下几 种寻址方式: (1) 寄存器间接寻址 (2) 寄存器相对寻址 (3) 基址变址寻址 答:(

7、1) MOV BX, OFFSET BLOCKADD BX, (61)*2MOV DX, BX (2) MOV BX, OFFSET BLOCK改为:MOV BX, (6-1)*2MOV DX, BX+(61)*2也可MOV DX, BLOCKBX (3) MOV BX, OFFSET BLOCKMOV SI, (61)*2MOV DX, BXSI3.4 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H) =34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H

8、) =B7H,(21203H)=65H,试说明下列各条指令执行完后 AX 寄存器的内容。 (1) MOV AX, 1200H (AX)=1200H (2) MOV AX, BX (AX)=0100H (3) MOV AX, 1200H (AX)=4C2AH (4) MOV AX, BX (AX)=3412H (5) MOV AX, 1100BX (AX)=4C2AH (6) MOV AX, BXSI (AX)=7856H (7) MOV AX, 1100BXSI (AX)=65B7H3.8 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0

9、100H,(BP) =0010H,数据段中变量名 VAL 的偏移地址为 0050H,试指出下列源操作数字段的寻址 方式是什么?其物理地址值是多少? (1) MOV AX, 0ABH(2) MOV AX, BX (3) MOV AX, 100H(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) 立即方式;操作数在本条指令中 (2) 寄存器

10、寻址方式;操作数为 (BX)=0100H (3) 直接寻址方式;PA=20100H (4) 直接寻址方式;PA=20050H (5) BX 寄存器间接寻址方式;PA=20100H (6) 附加段 BX 寄存器间接寻址方式;PA=21100H (7) BP 寄存器间接寻址方式;PA=15010H (8) SI 寄存器间接寻址方式;PA=200A0H(9) BX 寄存器相对寻址方式;PA=20110H (10) BX 寄存器相对寻址方式;PA=20150H (11) BX 和 SI 寄存器基址变址寻址方式;PA=201A0H (12) BX 和 SI 寄存器相对基址变址寻址方式;PA=201F0H

11、3.10 在 ABLE 为数据段中 0032 单元的符号名,其中存放的内容为 1234H,试问以 下两条指令有什么区别?指令执行完后 AX 寄存器的内容是什么? MOVAX, TABLE LEAAX, TABLE 答:MOVAX, TABLE 是将 TABLE 单元的内容送到 AX,(AX)=1234H LEAAX,TABLE 是将 TABLE 单元的有效地址送到 AX,(AX)=0032H3.11 执行下列指令后 AX 寄存器中的内容是什么? TABLE DW 10, 20, 30, 40, 50;000AH, 0014H, 001EH, 0028H, 0032H ENTRY DW 3 MO

12、VBX, OFFSET TABLE ADDBX, ENTRY MOVAX, BX 答:(AX)=1E00H (TABLE 的存储方式如右图所示)3.12 下列 ASCII 码串(包括空格符)依次存储在起始地址为 CSTRING 的字节单元中: CSTRING DB BASED ADDRESSING 请编写指令将字符串中的第 1 个和第 7 个字符传送给 DX 寄存器。 答:MOV DH, CSTRING MOV DL, CSTRING+7-13.25 试用移位指令把十进制数+53 和-49 分别乘以 2。它们应该用什么指令?得到的结果是 什么?如果要除以 2 呢? 答:MOVAL, 53 SA

13、LAL, 1;(AL)=(+53*2)=6AH MOVAL, -49 SALAL, 1;(AL)=(-49*2)=9EH MOVAL, 53 SARAL, 1;(AL)=(53/2)= 1AH MOVAL, -49 SARAL, 1;(AL)=(-49/2)=0E7H3.26 试分析下面的程序段完成什么功能? MOVCL, 04 SHLDX, CL MOVBL, AH SHLAX, CL SHRBL, CL ORDL, BL 答:本程序段将 (DX),(AX) 的双字同时左移 4 位,即将此双字乘以 10H (16)。3.30 编写程序段,把字符串 STRING 中的&字符用空格符代替。0AH

14、 00H 14H 00H 1EH 00H 28H 00H 32H 00HTABLETABLE+33.11 题的 TABLE 存储 方式STRING DB The date is FEB&03 答:程序段如下: MOVCX, 18 MOVAL, & CLD MOVDI, SEG STRING MOVES, DI LEADI, STRING REPNESCASB JNENEXT DECDI MOVES:BYTE PTR DI, ;送空格符NEXT: 3.32编写一程序段:比较两个 5 字节的字符串 OLDS 和 NEWS,如果 OLDS 字符串不同于 NEWS 字符串则执行 NEW_LESS;否则

15、顺序执行程序。 答:程序段如下: MOVCX, 5 CLD MOVDI, SEG OLDS MOVDS, DI MOVES, DI LEASI, OLDS LEADI, NEWS REPECMPSB JNENEW_LESS NEW_LESS:3.36假设 X 和 X+2 单元的内容为双精度数 p,Y 和 Y+2 单元的内容为双精度数 q,(X 和 Y 为低位字)试说明下列程序段做什么工作? MOV DX, X+2 MOV AX, X ADD AX, X ADC DX, X+2 CMP DX, Y+2 JL L2 JG L1 CMP AX, Y JBE L2 L1: MOV AX, 1 JMP SHORT EXIT L2: MOV AX, 2 EXIT:INT 20H 答:此程序段判断 p*2q,则使(AX)=1 后退出;p*2q,则使(AX)=2 后退出。 4.1 指出下列指令的错误:(1) MOV AH, BX;寄存器类型不匹配 (2) MOV BX, SI;不能都是存储器操作数 (3) MOV AX, SIDI;SI和DI不能一起使用 (4) MOV MYDAT BXSI, ES:AX;AX 寄存器不能使用段超越 (5) MOV BYTE PTR BX, 100

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

当前位置:首页 > 行业资料 > 其它行业文档

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