最新微机原理及应用复习题教学内容
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理及应用复习题
三、简答题
1、下列指令中源操作数的寻址方式是什么?
(1) MOV BX,[0100H] 答:
(2) MOV CX,DATA[SI] 答:
(3) MOV ES:[SI],AX 答:
(4) ADD AX,[BX][DI] 答:
(5) MOV AL,NUMBER[BP][DI] 答:
2、执行下列指令后,AX寄存器的内容是什么?
定义: TABLE DW 0,100H,200H,300H,400H
DISTA DW 6
(1)执行 MOV BX,OFFSETTABLE
ADD BX,DISTA
MOV AX,[BX] AX的内容:
(2)执行 MOV SI,4
LEA BX,TABLE
MOV AX,[BX][SI] AX的内容:
3、指出下列指令的错误。
a.MOV AX,[SI][DI];答:
b.MOV [SI],OFFH;答:
c.MOV DATA[SI],CS:AX;答:
d.MOV CL,BX;答:
e.OUT280H,AL;答:
4、变量有哪几种属性?标号有哪几种属性?二者有何区别?
5.8086/8088系统中有20根地址线,它的存储空间最大是多少?将该内存空间顺序分为16段,每段64K,试写出第二段和最末段的地址范围。
6.分析下列程序段,写出该程序段的功能。
MOV AX,2000H
MOV DS,AX
MOV AX,6000H
MOV ES,AX
MOV SI,1200H
MOV DI,0
MOV CX,100
CLD
NEXT:REP MOVESB
7.8088CPU的中断系统中,中断向量表长度是多少字节?中断向量表的地址范围是多少?
8、已知X=-1101001 Y=-1010110,计算[X-Y]补=?
9、8088的EU和BIU有哪些主要功能?在执行指令期间,EU能直接访问存储器吗?
10、指出以下指令中源操作数的寻址方式。
MOV SI,300 MOV AX,[3102H]
ADD AX,[BX][SI] MUL BL
MOV [BP],AX
11、编写程序段,当输入接口的bit1、bit4、bit7位同时为1时,CPU将内存中以DATA为
首址的10个单元的数据从输出接口输出,若不满足上述条件则等待。
已知输入接口地址:FF80H
输出接口地址:FF81H
12、已知X=1100001B,Y=1010101B,用8位补码计算(X-Y)补=?,并说明结果是否溢出。14、在8086/8088系统中,当前数据段位于存储器的78000H-87FFFH,则DS 段寄存器为:
。
15、在数据段中有以下定义:
ARRAY1 EQU 16H
ARRAY2 DW 7F16H
请指出下面两条指令中源操作数的寻址方式:
MOV AX,ARRAY1;寻址方式
MOV AX,ARRAY2;寻址方式
四、程序设计
1、下列程序段为RAM实验中的存储器测试程序,将语句补充完整。
DATA SEGMENT
MESSAGE DB ’PLEASE ENTER A KEY TO SHOW THE CONTENTS’,ODH,OAH,’$’DATA
CODE SEGMENT
ASSUME CS:CODE,DS:,SS:STACK,ES:DATA
START:MOV AX,DATA
MOV DS,
MOV AX,2000H
MOV ES,AX
MOV BX,1000H
MOV DL,40H
REP1: INC DL ;输入A到Z 26个字符
MOV ES:[BX],DL
I N C;修改指针
CMP DL,’Z’
JNZ
LEA DX,;以下显示提示信息
MOV AH,09H
INT 21H
MOV AH,01H ;等待按键
INT 21H
MOV AX,2000H ;
MOV ES,AX
MOV BX,1000H
MOV CX,26 ;以下显示已写入的字符
REP2: MOV DL,ES:[BX]
MOV ,02H
INT 21H
INC BX
LOOP
MOV AX,;返回DOS
INT 21H
CODE
END START
2、设在内存NUM单元开始存放着100个字节,要求将其中为零的元素全部删除,并将保留的数据连续存放,以$为结束标志;结束标志的下一个单元保存零元素个数。下列程序是满足以上要求的部分程序,请补充完整。
DATA SEGMENT
NUM A1,A2,…A99,A100
NUM1 DB 00,00
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,
START:MOV AX,DATA
MOV DS,AX
LEA SI,;取NUM数据区首址
MOV DI,SI
MOV CX,100
XOR DL,DL ;DL作为统计零元素个数的计数器GO1:MOV AL,[SI]
CMP
JNZ GO2
INC
JMP GO3
GO2:
INC DI
GO3:INC SI
GO1
MOV [DI],‘$’
INC DI
MOV [DI],
MOV AH,
INT 21H
CODE
END START
3、设在内存NUM单元开始存放着100个字节类型的整数,要求将其中为一的元素全部删除,并将剩余的数据元素连续存放,以0为结束标志,另外结束标志的下一个单元保存零元素个数。下列程序是满足以上要求的部分程序,完成该程序:
DATA SEGMENT
NUM a1, a2, ……, a100
NUM1 DB 0,0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:
START:MOV AX,DATA
MOV DS,AX
LEA SI,;取数据首址
MOV DI, SI
MOV CX,100
XOR DL,DL ;DL作为统计零元素个数的计数器
GO1:MOV AL,|SI|
CMP ,0 ;与0比较
JNZ GO2
INC ;零元素计数器加一
JMP GO3
GO2:MOV [DL],;保存非零元素
INC DI
GO3:INC SI
LOOP GO1
MOV BYTE PTR |DI|,0
MOV ,DL ;保存零元素个数