汇编语言期末习题

上传人:人*** 文档编号:508310618 上传时间:2022-12-14 格式:DOC 页数:14 大小:56.50KB
返回 下载 相关 举报
汇编语言期末习题_第1页
第1页 / 共14页
汇编语言期末习题_第2页
第2页 / 共14页
汇编语言期末习题_第3页
第3页 / 共14页
汇编语言期末习题_第4页
第4页 / 共14页
汇编语言期末习题_第5页
第5页 / 共14页
点击查看更多>>
资源描述

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

1、-汇编语言期末习题第二章8086计算机组织主要是寻址方式以及地址存储方式2.2 有两个16位字1EE5H和2A3CH分别存放在80x86微机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。答:存储器里的存放情况如右以下图所示:000B0HE5H000B1H1EH000B2H000B3H3CH000B4H2AH2.3在IBM PC机的存储器中存放信息如右以下图所示。试读出30022H和30024H字节单元的容,以及30021H和30022H字单元的容。 如图: 3002012H3002134H30022ABH30023CDH30024EFH答案:30020H:1

2、2H30021H:34H30022H:ABH30023H:CDH30024H:EFH2.4 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?答:3017:000A、3015:002A和3010:007A的存储单元的物理地址都是3017AH。2.5 如果在一个程序开场执行以前(CS)=0A7F0H,(如16进制数的最高位为字母,那么应在其前加一个0) (IP)=2B40H,试问该程序的第一个字的物理地址是多少?答:该程序的第一个字的物理地址是0AAA40H。第三章8086的指令系统和寻址方式3.1 给定(

3、BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用BX的存放器寻址(4) 使用BX的简接寻址(5) 使用BX的存放器相对寻址(6) 基址变址寻址(7) 相对基址变址寻址答:(1) 操作数在指令中,即立即数;(2) EA=D=7237H;(3) 无EA,操作数为(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丧失,因此EA

4、=004FH。3.2 试根据以下要求写出相应的汇编语言指令(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 AL, BXSI(3) ADD BX+0B2H

5、, CX(4) ADD WORD PTR 0524H, 2A59H(5) ADD AL, 0B5H3.3 写出把首地址为BLOCK的字数组的第6个字送到DX存放器的指令。要求使用以下几种寻址方式:(1) 存放器间接寻址(2) 存放器相对寻址(3) 基址变址寻址答:(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)*2MO

6、V DX, BXSI3.4 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明以下各条指令执行完后AX存放器的容。(1) MOV AX, 1200H(1) (AX)=1200H(2) MOV AX, BX(2) (AX)=0100H(3) MOV AX, 1200H(3) (AX)=4C2AH(4) MOV AX, BX(4) (AX)=3412H(5) MOV

7、AX, 1100BX(5) (AX)=4C2AH(6) MOV AX, BXSI(6) (AX)=7856H(7) MOV AX, 1100BXSI(7) (AX)=65B7H3.8 假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(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

8、, 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) 存放器寻址方式; 操作数为 (BX)=0100H(3) 直接寻址方式; PA=20100H(4) 直接寻址方式; PA=20050H(5) BX存放器间接寻址方式; PA=20100H(6) 附加段BX存放器间接寻址方式; PA=21100H(7) BP存放器间接寻址方式; PA=15010H(8) SI存放器间接寻址方式; PA

9、=200A0H(9) BX存放器相对寻址方式; PA=20110H(10) BX存放器相对寻址方式; PA=20150H(11) BX和SI存放器基址变址寻址方式; PA=201A0H(12) BX和SI存放器相对基址变址寻址方式; PA=201F0H3.9 在ARRAY数组中依次存储了七个字数据,紧接着是名为ZERO的字单元,表示如下:ARRAY DW 23, 36, 2, 100, 32000, 54, 0ZERO DW (1) 如果BX包含数组ARRAY的初始地址,请编写指令将数据0传送给ZERO单元。(2) 如果BX包含数据0在数组中的位移量,请编写指令将数据0传送给ZERO单元。答:

10、(1) MOV AX, BX+(7-1)*2MOV BX+(7)*2, AX(2) MOV AX, ARRAYBXMOV ARRAYBX+2, AX3.10 如TABLE为数据段中0032单元的符号名,其中存放的容为1234H,试问以下两条指令有什么区别?指令执行完后AX存放器的容是什么?MOV AX, TABLELEA AX, TABLE答:MOV AX, TABLE是将TABLE单元的容送到AX,(AX)=1234HLEA AX,TABLE是将TABLE单元的有效地址送到AX,(AX)=0032H3.11 执行以下指令后AX存放器中的容是什么?TABLE DW 10, 20, 30, 40

11、, 50 ;000AH, 0014H, 001EH, 0028H, 0032HENTRY DW 3MOV BX, OFFSET TABLEADD BX, ENTRYMOV AX, BX答:(AX)=1E00H (TABLE的存储方式如右图所示)3.12 以下ASCII码串(包括空格符)依次存储在起始地址为CSTRING的字节单元中:CSTRING DB BASED ADDRESSING请编写指令将字符串中的第1个和第7个字符传送给DX存放器。答:MOV DH, CSTRINGMOV DL, CSTRING+7-13.13 堆栈段存放器SS的容是0FFA0H,堆栈指针存放器SP的容是00B0H,

12、先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令。试画出堆栈区和SP的容变化过程示意图(标出存储单元的物理地址)。答:堆栈区和SP的容变化过程示意图如下左图所示。 3.15 求出以下各十六进制数与十六进制数62A0H之和,并根据结果设置标志位SF、ZF、CF和OF的值。(1) 1234H (2) 4321H (3) CFA0H (4) 9D60H答:(1) 和为74D4H;SF=0,ZF=0,CF=0,OF=0(2) 和为A5C1H;SF=1,ZF=0,CF=0,OF=1(3) 和为3240H;SF=0,ZF=0,CF=1,OF=0(4) 和为0000H;SF=0

13、,ZF=1,CF=1,OF=03.16 求出以下各十六进制数与十六进制数4AE0H的差值,并根据结果设置标志位SF、ZF、CF和OF的值。(1) 1234H (2) 5D90H (3) 9090H (4) EA04H答:(1) 差为C754H;SF=1,ZF=0,CF=1,OF=0(2) 差为12B0H;SF=0,ZF=0,CF=0,OF=0(3) 差为45B0H;SF=0,ZF=0,CF=0,OF=1(4) 差为9F24H;SF=1,ZF=0,CF=0,OF=0(1)MOV AX, Z SUB AX, X ADD AX, W MOV Z, AX(4)MOV AX, WSUB AX, XCWD

14、MOV BX, 5IDIV BXIMUL YSHL AX, 1 ;(DX),(AX)*2RCL DX, 1(3)ADD Y, 6MOV AX, WIMUL XIDIV YMOV Z, AXMOV R, DX(2)MOV BX, XADD BX, 6MOV CX, RADD CR, 9MOV AX, WSUB AX, BXSUB AX, CXMOV Z, AX3.17 写出执行以下计算的指令序列,其中X、Y、Z、R、W均为存放16位带符号数单元的地址。(1) ZW+(Z-X) (2) ZW-(X+6)-(R+9)(3) Z(W*X)/(Y+6),R余数 (4) Z(W-X)/5*Y)*2答: 以下程序都未考虑带符号数的溢出3.18 程序段如下:MOV AX, 1234H ;(AX)=1234H,标志位不变MOV CL, 4 ;(AX)和标志位都不变ROL AX, CL ;(AX)=2341H,CF=1,SF和ZF不变DEC AX ;(AX)=2340H,CF=1不变,SF=0,ZF=0MOV CX, 4 ;(AX)和标志位都不变MUL CX ;(AX)=8D00H,CF=OF=0,其它标志无定义INT 20H试问:(1) 每条指令执行完后,AX存放器的容是什么

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

当前位置:首页 > 建筑/环境 > 施工组织

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