微机原理与接口技术期末综合复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微计算机原理与接口技术复习题(4)

8086指令系统及寻址方式

1. 根据下列要求编写一个汇编语言程序::

(1)代码段的段名为COD_SG

(2)数据段的段名为DA T_SG

(3)堆栈段的段名为STK_SG

(4)变量HIGH_DA T所包含的数据为95

(5)将变量HIGH_DA T装入寄存器AH,BH和DL

(6)程序运行的入口地址为START

答案:

DA T_SG SEGEMNT

HIGH_DA T DB 95

DA T_SG ENDS

;

STK_SG SEGMENT

DW 64 DUP(?)

STK_SG ENDS

;

COD_SG SEGMENT

MAIN PROC FAR

ASSUME CS: COD_SG, DS: DA T_SG, SS: STK_SG

START: MOV AX, DA T-SG

MOV DS, AX

MOV AH, HIGH_DA T

MOV BH, AH

MOV DL, AH

MOV AH, 4CH

INT 21H

MAIN ENDP

COD_SG ENDS

END START

2. 指出下列程序中的错误:

STAKSG SEGMENT

DB 100 DUP(?)

STA_SG ENDS

DTSEG SEGMENT

DA TA1 DB ?

DTSEG END

CDSEG SEGMENT

MAIN PROC FAR

START: MOV DS,DA TSEG

MOV AL,34H

ADD AL,4FH

MOV DA TA,AL

START ENDP

CDSEG ENDS

END

答案:

改正后:

STAKSG SEGMENT

DB 100 DUP(?)

STAKSG ENDS

DTSEG SEGMENT

DA TA1 DB ?

DTSEG ENDS

CDSEG SEGMENT

MAIN PROC FAR

ASSUME CS: CDSEG, DS: DTSEG, SS: STAKSG START: MOV AX, DTSEG

MOV DS, AX

MOV AL, 34H

ADD AL, 4FH

MOV DA TA1, AL

MOV AH, 4CH

INT 21H

MAIN ENDP

CDSEG ENDS

ENDS

3. 将下列文件类型填入空格:

(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map

编辑程序输出的文件有_________;

汇编程序输出的文件有________;

连接程序输出的文件有__________。

答案:

编辑程序输出文件: (4)

汇编程序输出文件: (1), (3), (5)

连接程序输出文件: (2), (6)

4. 下列标号为什么是非法的?

(1) GET.DA TA (2) 1_NUM (3) TEST-DA TA

(4) RET (5) NEW ITEM

答案:

非法标号: (1)因为‘.’只允许是标号的第一个字符

(2)第一个字符不能为数字

(3)不允许出现‘-’

(4)不能是保留字,如助记符

(5)不能有空格

5. 下面的数据项定义了多少个字节?

DA TA_1 DB 6 DUP(4 DUP(0FFH))

答案:

24字节

6. 对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?DTSEG SEGMENT | DTSEG SEGMENT

ORG 10H | ORG 10H

DA TA1 DB 72H | DA TA1 DW 7204H

DB 04H | DTSEG ENDS

DTSEG ENDS |

答案:

不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节.

7. 下面的数据项设置了多少个字节?

(1) ASC_DA TA DB ‘1234’

(2) HEX_DA TA DB 1234H

答案:

(1) 设置了4个字节(2) 设置了2个字节

8. 执行下列指令后, AX寄存器中的内容是什么?

TABLE DW 10,20,30,40,50

ENTRY DW 3

.

.

.

MOV BX,OFFSET TABLE

ADD BX,ENTRY

MOV AX,[BX]

答案:

(AX)=40

9. 指出下列指令的错误:

(1) MOV AH,BX (2) MOV [SI],[BX] (3) MOV AX,[SI][DI]

(4) MOV AX,[BX][BP] (5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000

(7) MOV AX,OFFSET [SI] (8) MOV CS,AX (9) MOV DS,BP

答案:

(1) 源、目的字长不一致

(2)源、目的不能同时为存贮器寻址方式

(3) 基址变址方式不能有SI和DI的组合

(4) 基址变址方式不能有BX和BP的组合

(5) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式

(6) 1000超出一个字节的表数范围

(7) OFFSET只用于简单变量,应去掉

(8) CS不能作为目的寄存器

(9) 段地址不能直接送入数据段寄存器

相关文档
最新文档