微机原理复习题
- 格式:pdf
- 大小:213.35 KB
- 文档页数:12
微机原理复习题
⼀、简答题1.简述8086cpu如何应⽤地址锁存信号ale将地址A15~A0与数据线D15~D0分开的⼯作原理.
2. 8086CPU有哪⼏种主要的寻址⽅式。
3.试说明位、字节以及字长的概念。
4.⽐较主程序调⽤中断服务程序和主程序调⽤⼦程序的主要异同点。
5.什么是8086 CPU的最⼤/最⼩⼯作⽅式?两者的区别是什么?
6.8086 CPU 使⽤的存储器为什么要分段?怎样分段?
7.动态 RAM 为何要刷新?
8.8086 CPU 中设置的指令指针寄存器IP 中存放的内容是什么?
9.简述8086CPU的ALE引脚、READY引脚及BHE引脚的作⽤。
10.已知⼀个SRAM芯⽚的容量为8K×8,该芯⽚有⼀个⽚选信号引脚和⼀个读/写控制引脚,问该芯
⽚⾄少有多少个引脚?地址线多少条?数据线多少条?还有什么信号线?
⼆、计算题1.选取字长N为8位,已知原码(或补码)如下,求其补码(或原码)
1)[X]原=01010101
2)[Y]原=10000001
3)[Z]原=00000000
4)[U]补=1000000
5)[V]补=00000001
2. 将下列⼆进制数分别转换为⼋进制数、⼗六进制数
1)1101 1010B
2)1011 1100 1111B
3)0.1101B
4)1110.1010B
3. 将下列⼗进制数转换为⼆进制数
1)23.625
2)10.5
3) 75.25
4. 将下列⼗进制数⽤压缩BCD码表⽰
1)23.64
2) 809.7
5. 写出下列逻辑地址的段地址,偏移地址和物理地址。
1)2314H:0032H
2)10ADH:DDF6H6.已知(DS)=3000H, (ES)=2000H, (SS)=4000H, (BX)=1000H, (BP)=2000H, (SI)=0001H,(DI)=0002,请计算下列指令中源操作数的段地址、有效地址及物理地址。1)MOV CX,[BX]
2)MOV CX,[BP+DI]
3)MOV CX,SS:[1000H]
4)MOV CX, ES:[BX][SI]
7. 设有⼀个具有16位地址和8位字长的存储器,试问:
1)存储器能存储多少字节的信息?
2)如果存储器由2K x 4位的RAM芯⽚组成,共计需要多少⽚?
3)需要⽤哪⼏位⾼位地址作⽚选译码产⽣芯⽚选择信号?
8.给定⼀个堆栈区,地址为1240H:0000H ~ 1240H:0200H,SP=0062H,问:
(1)栈顶地址是多少?(2)栈底地址是多少?(3)堆栈段寄存器SS=?9.在8086系统中,若当前SS=3500H,SP=0800H
(1)说明堆栈段段⾸在存储器中的物理地址PA?
(2)问⼊栈10个字节后,SP的内容是什么?
(3)若再出栈6个字节,SP的内容⼜是什么值?10.若AL = 3BH,AH = 7DH,则:
(1)列竖式计算AL和AH中的内容相加后的结果。(3分)
(2)两数相加后,标志位CF,AF,PF,SF,OF和ZF的状态分别是什么?(6分)11. 右下图所⽰为8086/8088中断向量表部分⽰意图。此时若执⾏INT 4指令,则程序转向何处执⾏(分别⽤逻辑地址和物理地址回答)?写出计算过程。
12.假设要⽤2K×4的RAM存储芯⽚,组成16KB的存储容量,则:
1)需要多少芯⽚?多少芯⽚组?每块芯⽚需要多少寻址线?总共需要多少寻址线?
2)若与8088 CPU连接,试画出连接原理图(存储器芯⽚的有关引脚为A10~ A0,CS,WE,D3~ D0;CPU 的有关信号有A12~ A0,WR,D7~ D0)。
3)连接好后,写出各组芯⽚的地址分配情况。
13. 令PC及存储器地地址区有关单元的内容如下:
(20H)=3CH,(21H)=00H,(22H)=86H,(23H)=0EH
且CS=2000H,IP=0010H,SS=1000H,SP=0100H,FLAGS=0240H这时执⾏INT 8指令,请问:1)程序转向何处执⾏(⽤物理地址回答)?
2)栈顶6个存储器单元的地址(⽤逻辑地址回答)及内容分别是什么?
14. 存储器芯⽚与CPU的连接如下图所⽰,分析出各存储器芯⽚的地址范围及其容量。
存储器芯⽚与CPU的连接
三、分析题1. 阅读下列程序段,设初值AX=0119H,指出每条指令执⾏以后有关寄存器的内容。
MOV CH, AH
ADD AL, AH
DAA
XCHG AL, CH
ADC AL, 34H
DAA
MOV AH, AL
MOV AL, CH
HLT
2. 阅读下列程序段,指出每条指令执⾏以后有关寄存器的内容。
MOV AX,0ABCH DEC AX
AND AX,00FFH MOV CL,4 SAL AL,1 MOV CL,AL ADD CL ,78H PUSH AX POP BX
3.假设从地址0600H 开始的存储区,存储着31H,32H,33H,34H 。现有如下程序段:
MOV SI ,0600H (1) MOV DI ,0700H MOV DX ,0002HCYCLE : MOV AL ,[SI] (2)
AND AL ,0FH INC SI ADD AL ,[SI]
MOV [DI],AL (3) INC SI INC DI DEC DX JNZ CYCLE HLT
则(1)请写出程序段中(1)(2)(3)所⽰的指令中源操作数的寻址⽅式。
(2)程序段执⾏后,问SI 、DI 和AL 寄存器的内容分别是多少?存储器单元(0700H)=?4、若CPU 中各寄存器及RAM 参数如图所⽰,试求独⽴执⾏每⼩题对应的指令后,寄存器与内存单元的内容。(每⼩题指令执⾏前,寄存器的状态都处于如图所⽰的状态)3000H CPU 寄存器
内存FFFFH 2050H 0004H 50A0H 0000H 17C6H 8094H 1403H 10FFFH 0000H 000AH 0008H
CS 20506H DS SS ES IP DI SI
CX BX SP DX AX BP CF
20507H
2050CH 06H 00H 87H 15H 37H C5H 2FH
(1)MOV DX, [BX+2] ; DX = ; BX= ;
(2)PUSH DX ; SP = ;
(3)MOV CX, BX; CX= ; BX= ; (4)TEST AX, 0001H ; AX= ; (5)MOV AL, [SI] ; AL= ; (6)ADC AL, [DI]
; AL= ;
DAA
; AL= ; (7)INC SI
; SI= ; (8)XOR AH, BL ; AH= ; (9)JMP DX
; IP= ;
5、请在图中正确填写执⾏下列伪指令后数据区的内容。
DATA1 DB 01H ,02H DATA2 DW 01H ,02H DATA3 DB ‘1’,‘2’ DATA4 DB
3 DUP(2,1)6、程序中DATA 字数组中存放了100H 个补码数,读程序填空,并回答问题
CODE SEGMENT
ASSUME CS: CODE, DS: CODE START: MOV AX, CODE MOV DS, AX MOV CX, 100H
MOV SI, OFFSET DATA MOV AX, 0 MOV DX, 0
①
DATA1
DATA2
DATA3 DATA4
LP: ADD AX, [SI]
INC SI
INC SI
ADC DX, ②
LOOP LP ;求和
MOV CX, 100H
③;求平均
MOV SI, OFFSET DATA
④
LP1: CMP [SI], AX
JGE GRT
INC BL
GRT: INC SI
INC SI
LOOP LP1
MOV AH, 4CH
INT 21H
DATA DW 100H DUP(?)
CODE ENDS
END START
(1):请在上述划线处填⼊合适的程序
(2):程序执⾏后,AX与BL存放的是何值
(3):试说明该程序实现的功能7、现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(21200H)=2AH,
(21201H)=4CH,填⼊下列指令执⾏后AX寄存器的内容,并指出在每条指令中源操作数的寻址⽅式。
(1) MOV AX, 1200H ; AX=
;寻址⽅式(2) MOV AX, [1200H] ; AX=
;寻址⽅式
(3) MOV AX, [BX+1100H] ; AX=
;寻址⽅式
四、编程设计题1.在da1单元和da2单元起各有2个字节的⽆符号数,试编程分别实现这两个⽆符号数的加法以及减法运算,并将结果分别存放到das和dad开始的存储单元中去。2.编程计算1+3+5+……+99,并将计算结果存放到字存储单元SUM中。
3.统计AX寄存器中⼆进制位为1的个数,并将统计结果存放于字节变量result中。
4.在dbuf单元中有10字节的⽆符号数,试编程实现,统计dbuf数据区中正数和负数的个数,并分别存放于字节变量d1和d2中。5. 编程计算(A×B+C-70)/A,计算结果的商和余数分别存放在变量D和E中,其中A、B、C、D、E
均为有符号数、字节变量。
五、填空题:1.⼀位⼗进制数,⽤BCD码表⽰需要_ _位⼆进制码,⽤ASCⅡ码表⽰需要 _ _位⼆进制码。⼗进制数 96 转换成⼗六进制后,其值为。⼆进制数11101101,若为⽆符号数,其⼗进制数值是____________,若为补码表⽰的有符号数,其⼗进制数值是____________。与⼆进制数10011001等值的⼋进制数是____________,与其等值的⼗六进制数则为____________。
2.使⽤1条指令将寄存器BX⾼四位取反,指令为_________________,使⽤1条指令将寄存器BX 低四位置1,指令为_________________,使⽤1条指令将寄存器BX低四位清0,指令为_________________。
3.执⾏XOR AX,AX 后,AX 寄存器的值为。
4.已知:AL=9AH,BL=D6H,执⾏指令ADD AL,BL 后,AL= 、BL= 、ZF= 、OF= 。
5.DOS 功能调⽤指令 INT 21H 中断向量存放的物理地址为。
6.⼀⽚ Intel 2164 动态随机存储器有64Kb,当采⽤⾏、列地址分时传输时,则最少需要条地址线才能寻址64Kb 。
7.静态存储器不需要刷新电路,存储器需要刷新电路。
8.外设与CPU交换数据的⽅式为、、,其中速度最快。
9.主频为5MHz 的8086 CPU ,⼀个基本总线周期是。
10.存储器由、、三部分组成。
11.8086CPU从内部功能上可分为____________和____________两个独⽴的功能部件。
12.若某中断向量为21H,则该中断的中断服务⼦程序的⼊⼝地址在中断向量表中的物理地址范围为~。
13.设堆栈指针(SS)=2000H (SP)=1000H,在执⾏PUSH AX指令后,(SS)= ____________ (SP)=____________。
14.某8086微处理器系统中设计了⼀个容量为32KB的SRAM存储器,约定该存储器的起始地址为40000H,则该存储器的末地址为____________。15.在某8086系统中,设DS = 1000H,CS=2000H,数据段和代码段的长度都为64KB,则数据段的起始地址为,代码段的结束地址为。16.静态RAM的基本存储电路,是由6个MOS管组成的____________来存储信息的;动态RAM芯⽚是以MOS管栅极____________是否充有电荷来存储信息的