2023
微型计算机
原理
试题答案
微型计算机原理试题答案:微型计算机原理姚向华
一、填空(每空1分,共37分) 1、典型的微处理器的内部结构可分为:算术逻辑控制单元(ALU)、工作存放器、控制器和I/O控制逻辑等四局部组成。
2、8086是16位CPU,它有20根地址线,可行成1MB的存储器地址空间;有16根数据线,通过数据线能传输的有符号整数的范围为-32768 ~ +32767;有 2种工作模式;总共能管理64级中断源。
3、中断向量是中断效劳程序的入口地址,(也称为中断指针),在一个微机系统中,假设有4片8259A级联工作,能管理29级外部可屏蔽中断源。
4、微处理器是在统一的时钟信号CLK控制下,按节拍进行工作的,一个CLK的时间(周期)称为一个时钟周期,它是衡量微处器快慢的一个重要参数;而衡量微处器快慢的另一重要参数是指令周期,它表示执行一条指令所需的时间。
5、8088/8086汇编语言中语句的种类包括指令语句、伪指令语句和宏指令语句。
6、微型计算机的输入/输出控制方式主要有无条件传送方式、程序查询方式、I/O中断方式和DMA方式等四种方式,其中DMA 传送方式的突出优点是传送过程无须处理器的控制,数据也无须经过微处理器,而是直接在I/O设备与主存储器间进行,因此节省了微处理器的时间,使传送速率大大提高。
7、在计算机系统中,微处理器对存储器单元和I/O端口的编址方法有统一编址和独立编址两种方法,8086/8088CPU对存储器单元和I/O端口的编址采用的是统一编址方法。当8086CPU工作在最小方式时,用于区分访问存储器或I/O端口的控制信号为M/IO。
8、假设要给某8086CPU组成的微机系统配置8K字节的SRAM电路,假设选用1K×4的SRAM芯片,那么共需16片。
9、在某I/O端口的地址译码当中,有3条地址线未参加译码,那么有8个重叠地址。
10、8086CPU的RESET信号至少应保持4个时钟周期的高电平时才有效,该信号结束后,CPU内部的CS为_0FFFFH__,IP为_0000H__。
11、物理地址由段地址和偏移地址两局部组成。假设分配给某存储器单元的逻辑地址为8B90H:5669H,那么该单元的物理地址为90F69 H。
12、TEST BX ,[BX][SI]+28H 指令的源操作数的寻址方式为基址、变址且相对寻址。
13、指令MOV [BX],00H的操作类型不明确,假设将其操作类型指定为字型,那么正确的指令为MOV WORD PTR [BX],00H。
14.指令JMP NEAR PTR L1与CALL L1(L1为标号)的区别在于是否保存IP的内容。
15、将DL中保存的字母ASCII码变换成相应的小写字母的ASCII码的逻辑指令为OR DL,20H,而把它变换成相应的大写字母的ASCII码的逻辑指令为AND AL,5FH 16、假设(AX)=565BH,那么CPU执行:SUB AX, C546H指令后,CF= 1 ,OF= 1;执行:AND AX,8219H指令后,OF= 0。
17、执行以下三条指令后: MOV SP,1000H PUSH AX CALL BX (SP)=0FFCH。
18、主程序与子程序之间的参数传递方法有存放器参数传递方式、存储单元参数传递方式及堆栈参数传递方式等三种。
二、指令正误判断,对正确指令写出源操作数或操作数的寻址方式,对 错误指令写出原因(设VAR1, VAR2为字变量, L1为标号)(8分) 1.MOV BX,VAR1[SI] ;正确。SRC的寻址方式为存放器相对寻址。
2.MOV AL, [DX] ;错误。DX不能作间接存放器用。或能作间接寻址用的存放器只有:BX、SI、DI。
3.MOV BP, AL ;错误。类型不一致。
4.MOV CS, AX ;错误。CS不能作DST。
5.MOV DS, 0100H ;错误。当DS、ES、SS作DST时,SRC不能为立即数寻址。
6.JMP L1 ;正确。断内直接寻址 7.JMP VAR1[SI] ; 正确。断间间接寻址 8.JG L1 ;正确。段内相对寻址 三、写出完成以下要求的变量定义语句(10分) 1.在变量var1中保存4个字变量:4512H,4512,-1,100/3 Var1 DW 4512H,4512,-1,100/3 2.在变量var2中保存字符串:’XiDian’,’2023’,’LUCK’ Var2 DB ’XiDian’,’2023’,’LUCK’ 3.在缓冲区buf1中留出100个字节的存储空间; Buf1 DB 100 DUP() 4. 在缓冲区buf2保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次; Buf2 DB 7 DUP (5 DUP(55H),10 DUP (240)) 5.在变量var3中保存缓冲区buf1的长度; Var3 DB LENGTH Buf1 四、程序填空与分析题(共15分) 1、分析以下程序段执行后,求BX存放器的内容(3分) MOV CL, 3 MOV BX,0B7H ROL BX,1 ROR BX,CL BX:0C02DH 2、请在下面的程序段中空行处填写相应语句使其完成:在Buf为首地址的字节单元的Count个无符号数中找出最大数并送入MAX 单元的功能。(6分) BUF DB 5,6,7,58H,62,45H,127,… COUNT EQU $-BUF MAX DB … MOV BX, OFFSET BUF MOV CX,COUNT-1 MOV AL,[BX] LOP1: INC BX CMP AL,[BX] JAE NEXT MOV AL,[BX] NEXT: DEC CX JNZ LOP1 MOV MAX, AL 五、硬件应用题(35分) 1、74LS245数据双向缓冲器的引脚及功能图如图1所示。请画出8086CPU工作在最小方式下的系统数据总线D15~D0形成电路。(6分) A0 A1 A2 A3 A4 A5 A6 A7 E DIR B0 B1 B2 B3 B4 B5 B6 B7 2 3 4 5 6 7 8 9 19 118 17 16 15 14 13 12 11 方向 DIR E 00 01 1X A B A、B边均为高阻 A B (a) 74LS245逻辑及引脚 (b) 74LS245功能 图1 74LS245数据双向缓冲器的引脚及功能图 解:根据AD 15~AD 0、DEN 和R /DT 信号功能以及74LS245芯片引脚功能,设计的系统数据总线D 15~D 0形成电路如以下列图所示。
AD 15 ~ AD 8D 15 ~ D 8 A 0A 7 B 0 B 7~~DIR E 74LS245 AD 7 ~ AD 0 D 7 ~ D 0 DT/R DEN A 0A 7 B 0 B 7~ ~ E 74LS245DIR 2、在8086 CPU 工作在最小方式组成的微机系统中,扩充设计16kB 的SRAM 电路,SRAM 芯片选用Intel 6264,内存地址范围为70000H~73FFFH ,试画出此SRAM 电路与8086系统总线的连接图。(7分) 解:因为Intel 6264的片容量为8kB ,因此由2片Intel 6264 构成连续的RAM 存储区域的总容量为2×8kB=16kB 。其中1片Intel 6264作为偶地址存储器,另1片Intel 6264作为奇地址存储器。8086最小方式系统与存储器读写操作有关的信号线有:地址总线019A A ,数据总线:0 15D D ,控制信号:/,,,M IO RD WR BHE 。此存储电路与8086系统总线的连接 如以下列图所示。
+5V A BHE OE 7 0D ~D RD WR 12 A 13 1A ~A 0 D 7 D WE 2CS 1 CS 0 A OE 12 A 0 D 7 D WE 2CS 1 CS 2A G 2B G 1 G C B A Y 1Y 2Y 3 Y 4Y 5Y 6Y 7 Y 19 A 15A 14 A IO M 18 A 17 A 16 A 0 A 15 8D ~D 6264 6264 3、在PC/XT 系统总线上扩充设计一个数据输出端口,分配给该端口的地址为280H ,输出端口芯片用74LS374,输出设备为8个LED 发光二极管。(8分) (1)画出此输出端口与PC/XT 系统总线以及与LED 发光二极管的连接图。
(2)编写使8个LED 发光二极管每间隔1秒亮一个的功能段程序(假设有1秒延时子程序DELAY1S 可调用)。
解:(1)74LS374的功能和74LS373相同,都是8位数据输出锁存器,不同之处是使能信号的有效形式,74LS374的使能信号CP 为上升沿有效。LED 发光二极管导通时流过的电流应 20mA,否那么会损坏器件。设计的此输出端口与PC/XT 系统总线以及与LED 发光二极管的连接图如以下列图所示。
D 0 D 7 OE CP ~ ~ 74LS374 D 7~D 0 510×8 A 8A 6A 5A 4A 3A 2A 1A 0IOW AEN +5V A 9A 7Q 0Q 7 (2)编写使8个LED 发光二极管每间隔1秒亮一个的功能段程序如下: MOV DX,280H MOV AL,01H LOP:OUT DX,AL ;使Q 0对应的LED 发光二极管亮 CALL DELAY1S ;调用1秒延时子程序 ROL AL ,1 JMP LOP 4、在以8086构成的最大方式系统中,有一片8254的端口地址分别为301H 、303H 、305H 和307H ,给定的外部时钟为512kHz 。要求利用计数器1和2产生如图2所示的周期信号,画出8254与8086最大方式系统(地址线只使用 A0~A9)的连接图。并编写初始化程序。(8分) 1.5ms 3s 图2 8254所要产生的周期信号 解:设给定的外部时钟为CLK ,其周期T = 1/512kHz = 1.953125μs 。为了产生如图2所示的周期信号,应该采用方式2,但在方式2下,其低电平时间仅为一个时钟周期,因此,利用一个计数通道无法实现这个任务。现在采用计数器1和计数器2联合,先利用计数器1产生周期为1.5ms 的周期信号,然后将输出OUT1信号作为计数器2的时钟输入CLK2,这样可以实现题目的要求。
对于计数器1,工作方式可以选用方式2或方式3,一般采用方式3,这样可以使产生的信号(近似)对称,其时常数CR1 = 1.5ms/1.953125μs = 768 ,需要采用16位的时常数表示。对于计数器2,工作方式只能选用方式2,其时常数CR2 =(3s +1.5ms )/ 1.5ms = 2022, 也需要采用16位的时常数表示。
根据上面分析和题目给定的条件,可以画出8253的地址译码电路和连接图,如以下列图所示。
8086CPU 最大方式系统总线 A2A1IOW IOR D 15D 8~o A9o A8A3 A6A5A4A7o BHE Intel 8253 D 7D 0 ~A0 A1RD WR CS CLK1GATE1OUT1 CLK2GATE2OUT2 +5V +5V 512kHz 产生信号 8253的初始化程序段如下: MOV DX,307H ;写计数器1方式控制字 MOV AL,0111 0110B OUT DX,AL MOV DX,303H ;写计数器1时常数 MOV AX,768 OUT DX,AL XCHG AL,AH OUT DX,AL MOV DX,307H ;写计数器2方式控制字 MOV AL,1011 0100B OUT DX,AL MOV DX,305H ;写计数器2时常数 MOV AX,2022 OUT DX,AL XCHG AL,AH OUT DX,AL 5、在8088最大方式系统中,有一片8255A ,其端口地址为8000H~8003H ,编写完整的8086汇编语言程序,实现使