当前位置:首页 > 微机原理及应用复习题
微机原理及应用复习题
三、简答题
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
INC ;修改指针 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 ;保存零元素个数
MOV AH, INT 21H CODE ENDS
END
4、把从ARRAY单元开始的6个无符号数按从小到大的顺序排序。请把程序补充完整,说明:本程序用BL寄存器作为交换标志寄存器,BL=0,表示排序完成;BL=0FFH,表示排序示完成,BL初值预置为0FFH。 程序如下: DATA
ARRAY DB 25,75,3,46,5,30 COUNT EQI 6 DATA ENDS STACK SEGMENT
DW 50 DCP (?) STACK ENDS CODE SEGMENT
CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX, ;初始化DS,ES,SS MOV DS,AX MOV ES,AX
MOV AX, MOV SS,AX
MOV BL,0FFH ;初始化变换标志寄存器 AGAIN0: CMP BL,0
JZ DONE ;BL=0,转移到DONE BL,BL ;否则BL清0 MOV SI,OFFSET ARRAY
MOV CX, ;置循环次数 DEC CX
AGAINI: MOV AL,|SI| ;两元素比较 CMP ,|SI+1|
JBE UNCH ;若|SI|≤|SI+1,不交换 EXCH: MOV DL,|SI+1| ;否则交换 MOV |SI|,DL MOV |SI+1|,
MOV BL,0FFH ; 互换标志位 UNCH: INC SI LOOP AGAIN1
JMP AGAIN0
DONE: MOV AH ;返回DOS
INT 21H
CODE ; 码段结束 END START
五、应用题
(一)、可编程定时/计数8253应用
定时/计数器8253接线图如下图所示,已知8253 CLK0输入时钟为1MHZ,计数器0工作方式3,由OUT0发出1ms的方波。要求:(1)确定端口地址;(2)确定控制字及时间常数;(3)设计初始化程序。
1.确定各端口地址:计数器0 ,计数器1 ,计数器2 ,控制寄存器
共分享92篇相关文档