资源描述
微机平时作业汇总
第二章
1.8086CPU由哪两部分构成?它们的主要功能是什么?
答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?
答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。
6.8086系统中的存储器为什么要采用分段结构?有什么好处?
答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址
采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。
9.在某系统中,已知当前(SS)=2360H,(SP)=0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入20个字节数据,那么SP的内容为什么值?
答:(SS)×10H+(SP)=23600H+0800H=23E00H,堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20个字节数据,那么SP的内容为0800H-14H=07ECH。(20的十六进制为14H)。
10.已知当前数据段位于存储器的B4000H到C3FFFH范围内,则段寄存器DS的内容为多少?
答:段寄存器DS的内容为B4000H。
13.若已知当前(DS)=7F06H,在偏移地址为0075H开始的存储器中连续存放6个字节的数据,分别为11H,22H,33H,44H,55H和66H,请指出这些数据在存储器中的物理地址,如果要从存储器中读出这些数据,需要设备部几次存储器?各读出哪些数据?
答:物理地址:7F06H×10H+0075H=7F0DSH,故从7F0DSH起6个地址数据在存储器中的地址。最少要访问四次:第一次:11。第二次:33,22。第三次:55,44。第四次:66。
14:某程序在当前数据段中存有两个数据字0ABCDH和1234H,它们对应的物理地址分别为3FF85H和40AFEH,若已知当前(DS)=3FB0H,请说明这两个数据的偏移地址,并用图说明它们在存储器中的存放格式。
答:偏移地址为:0485H和0FFEH。
第三章
2:设寄存器DS=2000H,SS=1500H,ES=3200H,SI=0A0H,BX=100H,BP=10H,数据段中变量VAL的偏移地址为50H,试指出下列各条指令中源操作数的寻址方式是什么?对于存储器操作数,其物理地址是多少?
MOV AX,[100H]直接寻址:20100H
MOV CX,ES:[BX] 寄存器寻址
MOV DX,[BX][SI]基址+变址:200F0h
MOV AX,VAL[SI]变址寻址:200F0h
MOV BX,1234[BX]基址寻址:205D2H
MOV AX,[BP]寄存器寻址:15010H
3.答案
(3)OUT 3EBH,AX 改 (4)MUL AL,CL 改MUL CL
MOV DX,3EBH 6)ROL DX,5改MOV CL,5
OUT DX,AX ROL DX,CL
(5)MUL AX,25改 (8)POP FR 改POPF
MOV BX,25 (9)MOV 234H,BX改MOV BX,234H (10)INC [SI]改INC BYTE PTR [SI]
(11)ADD [BX],456H改ADD WORD PTR [BX],456H
(12)INT O错 (13)DIV AX ,BX改DIV BX
(14)DEC [BP]改DEC WORD PTR [BP] (15)XLAT BX 错
(16)ADD CX+1改ADD CX,1或INC CX (17)DAA AX 改DAA
5:已知,DS=2000H BX=100H SI=02H 从物理地址20100H单元开始,依次存放数据12H 34H 56H 78H ,而从物理地址21200h单元开始,依次存放数据2AH,4CH.8BH,98H.试说明下列各条指令单独执行后AX寄存器的内容。
(1)MOV AX,3600H 3600H
(2)MOV AX,[1200H] 4C2AH
(3)MOV AX,BX 0100H
(4)MOV AX,[BX] 3412H
(5)MOV AX,1100H[BX] 4C2AH
(6)MOV AX,[BX][SI] 7856H
6.设堆栈指针SP的初值为2400H,(AX)=4000H,(BX)=3600H.问:
(1)执行指令“PUSH AX”后,SP=? 23FEH
(2)再执行“PUSH AX”和”POP AX”后,(SP)=?(AX)=?(BX)=?
SP=23FEH AX=3600H BX=3600H
第五章
6、 在8086系统中,若用1024´1位的RAM芯片组成16K´8位的存储器,需要多少芯片?在CPU的地址线中有多少位参与片内寻址?多少位用作芯片组选择信号?
答:①1024´1位的RAM芯片组成16K´8位的存储器,需要8´16片。分16组合成,每组8片构成1K´8位,16组共16K´8位。
②每组均为10个地址脚(210=1024),因此地址线中有10位参与片内寻址;每组都需要1个选择信号,16组需要16个选择信号,因此地址线中至少有4根作为译码选择信号(24=16)。
7、 在8086系统中,试用4K´8位的EPROM 2732和2K´8位的静态6116以及74LS138译码器,构成一个16KB的ROM(从F0000H开始)和8KB的RAM(从C0000H开始),设8086工作于最小模式。画出硬件连接图,写出ROM和RAM的地址范围。
设计分析:
芯片数量:16KB的ROM需4片2732;8KB的RAM需4片6116。
片内寻址地址线:2732需12根(212=4K);6116需11根(211=2K)
按给定的起始地址要求,建立地址分析表如下:
ROM占用地址范围:F0000H~F3FFFH
RAM占用地址范围:C0000H~C3FFFH
硬件连接线路:
第六章
6.在输入/输出电路中为什么常常要用锁存器和缓冲器?
答:
输入/输出按方式分为程序控制和DMA两类,程序控制方式又分为同步方
式、异步方式和中断方式。
在程序控制方式中,同步方式的软件编程和硬件实现都十分简单,当需要时,就可以直接在需要输入/输出的地方写输入/输出指令。异步方式由于需要根据状态信息进行输入/输出操作,就需要增加必要的“握手”信号电路,程序设计也要包括对状态信息的判断,根据状态信息再决定是继续等待还是将信息读入或输出。中断方式在程序控制输入/输出方式中比较复杂,需要有中断控制器等硬件电路和接口芯片,程序也包括了中断处理程序来完成计算机输入、输出。
DMA是另一类输入/输出方式,在进行输入/输出时,不需要CPU直接参加6.在输入/输出电路中为什么常常要用锁存器和缓冲器?
答:
输入/输出按方式分为程序控制和DMA两类,程序控制方式又分为同步方
式、异步方式和中断方式。
在程序控制方式中,同步方式的软件编程和硬件实现都十分简单,当需要时,就可以直接在需要输入/输出的地方写输入/输出指令。异步方式由于需要根据状态信息进行输入/输出操作,就需要增加必要的“握手”信号电路,程序设计也要包括对状态信息的判断,根据状态信息再决定是继续等待还是将信息读入或输出。中断方式在程序控制输入/输出方式中比较复杂,需要有中断控制器等硬件电路和接口芯片,程序也包括了中断处理程序来完成计算机输入、输出。
DMA是另一类输入/输出方式,在进行输入/输出时,不需要CPU直接参加操作,而仅是将总线空出给DMA控制器使用。当然,DMA方式要求的硬件电路更加复杂。其优点是响应速度快,缺点是需要增加硬件电路。
7、在输入/输出的电路中,为什么常常要用到锁存器和缓冲器?
答:
一般来说,I/O设备速度比CPU执行速度慢,故输入设备的数据线锁存在端口的锁存器中,CPU从端口中读入数据;输出时CPU将数据“打入”缓冲器后就可以退出,外设从缓冲器取数据。
8、采用异步查询方式时,输入查询和输出查询有什么不同?
答:
异步查询方式是根据外设的状态决定下一步操作。输入查询方式是在取数之前通过查询外设的状态判断是否把数据已经准备好,而输出方式是判断上次输出的数据是否已经取走,才决定是否再输出下一个数据。这两种方式的不同是判断缓冲区数据是否存在;对于输入,缓冲区数据已存在时从数据端口读取数据;对于输出,缓冲区为空时才向数据端口输出数据。
9、8086CPU在执行输入/输出指令时,CPU的那些控制管脚起作用,什么样的电平有效?
答:
8086CPU的M/IO管脚是区分输入/输出指令和存储器访问指令的,党委低电平时,是执行输入/输出指令。当然,8086CPU的读写信号和BHE信号都在输入/输出指令时起作用。
第七章
1、 设某8086系统中有2片8255A芯片,由74LS138译码器产生两个芯片的片选信号,要求:第1片8255A的A口工作在方式0输出,B口工作在方式0输入,C口高4位输出,低4位为输入;第2片8255A的A口为方式0输入,B口为方式1输出,C口高4位输出,低4位为B口控制信号。
①试指出两片8255A芯片各自的端口地址;
②试指出两片8255A芯片各自的方式控制字;
③试写出两片8255A芯片各自的初始化程序。
答:①两片8255A芯片各自的端口地址(设没用到的地址线为0):
J1:
各口地址
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
A口
0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0
0138H
B口
0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 0
013AH
C口
0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0
013CH
控制口
0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0
013EH
J2:
各口地址
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
A口
0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0
0130H
B口
0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0
0132H
C口
0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0
0134H
控制口
0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0
0136H
②两片8255A芯片各自的方式控制字:
1=输入
0=输出
PC3 ~PC0:
D7
D6
D5
D4
D3
D2
D1
D0
特征位
A组方式选择:
00=方式0
01=方式1
1´=方式2
A口:
1=输入
0=输出
PC7 ~PC4:
1=输入
0=输出
B组方式选择:
0=方式0
1=方式1
B口:
1=输入
0=输出
特征位
1有效
JI要求:A口工作在方式0输出,B口工作在方式0输入,C口高4位输出,低4位为输入。其方式控制字:10000011B=83H
J2要求:A口为方式0输入,B口为方式1输出,C口高4位输出,低4位为B口控制信号。其方式控制字:10010100B=94H
③两片8255A芯片各自的初始化程序。
J1: MOV AL,83H ;方式控制字
MOV DX,013EH ;控制口地址
OUT DX,AL ;方式控制字写入控制口
J2: MOV AL,94H ;方式控制字
MOV DX,0136H ;控制口地址
OUT DX,AL ;方式控制字写入控制口
展开阅读全文