微机原理与接口技术期末综合复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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) 段地址不能直接送入数据段寄存器