当前位置:首页 >> 工学 >>

微机原理习题答案


微机原理习题答案 技术支持 2007-08-30 20:29:17 阅读 611 评论 0 字号:大中小 订阅 第一章 绪论 习题与答案 1. 把下列二进制数转换成十进制数、十六进制数及 BCD 码形式。 (1) 10110010B = (2) 01011101.101B = 解: (1) 10110010B = 178D = B2H = (0001 0111 1000)BCD (2) 01011101.101B = 93.625D = 5D.AH = (1001 0011.0110 0010 0101)BCD 2. 把下列十进制数转换成二进制数。 (1) 100D = (2) 1000D = (3) 67.21D = 解: (1) 100D = 01100100B (2) 1000D = 1111101000B (3) 67.21D = 1000011.0011B 3. 把下列十六进制数转换成十进制数、二进制数。 (1) 2B5H = (2) 4CD.A5H = 解: (1) 2B5H = 693D = 0010 1011 0101B (2) 4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B 4. 计算下列各式。 (1) A7H+B8H = (2) E4H-A6H = 解: (1) (2)

A7H+B8H = 15FH E4H-A6H = 3EH

5. 写出下列十进制数的原码、反码和补码。 (1) +89 (2) -37 解:

(1) [+89 ] 原码、反码和补码为: 01011001B (2) [-37] 原码 = 10100101 B [-37] 反码 = 11011010 B [-37] 补码 = 11011011 B 6.求下列用二进制补码表示的十进制数 (1) (01001101)补 = (2) (10110101)补 = 解: (1) (01001101)补 = 77D (2) (10110101)补 = -75D 7.请用 8 位二进制数写出下列字符带奇校验的 ASCII 码。 (1)C: 1000011 (2)O: 1001111 (3)M: 1001101 (4)P: 1010000 解: (1)C:0 1000011 (2)O: 0 1001111 (3)M:1 1001101 (4)P: 1 1010000 8.请用 8 位二进制数写出下列字符带偶校验的 ASCII 码。 (1)+:0101011 (2)=: 0111101 (3)#:0100011 (4)>: 0111110 解: (1)+:0 0101011 (3)#:1 0100011

(2)=: 1 0111101 (4)>: 1 0111110

9.叙述 CPU 中 PC 的作用。 解:PC 是 CPU 中的程序计数器,其作用是提供要执行指令的地址。 第二章 微处理器体系与结构 习题与答案 1. 8086/8088 CPU 由哪两大部分组成?请分别叙述它们的功能。 解: 8086/8088 CPU 均由两个独立的逻辑单元组成, 一个称为总线接口单元 BIU (Bus Interface Unit) ,另一个称为执行单元 EU(Execution Unit) 。 总线接口单元 BIU 取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时, 根据 EU 命令对指定存储器单元或 I/O 端口存取数据。 执行单元 EU 任务是执行指令,进行全部算术逻辑运算、完全偏移地址的计算,向总线接口 单元 BIU 提供指令执行结果的数据和偏移地址,并对通用寄存器和标志寄存器进行管理。 2. 8086/8088 与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什 么优点?

解:总线接口部分和执行部分是分开的,每当 EU 执行一条指令时,造成指令队列空出 2 个 或空出一个指令字节时 ,BIU 马上从内存中取出下面一条或几条指令,以添满他的指令队 列。这样,一般情况下,CPU 在执行完一条指令后,便可马上执行下一条指令,不像以往 8 位 CPU 那样,执行完一条指令后,需等待下一条指令。即 EU 从指令队列中取指令、执行指 令和 BIU 补充指令队列的工作是同时进行的。这样大大提高了 CPU 利用率,降低了系统都 对存储器速度的要求。 3. 状态标志和控制标志有何不同?8086/8088 的状态标志和控制标志分别有哪些? 解:8086/8088 CPU 设立了一个两字节的标志寄存器,共九个标志。其中标志位 O、S、Z、A、 P、C 是反映前一次涉及 ALU 操作结果的状态标志,D、I、T 是控制 CPU 操作特征的控制标 志。 4. 8086/8088 CPU 寻址存储器时,什么是物理地址?逻辑地址?它们之间有何关系? 解:8086/8088 系统中每个存储单元都有一个物理地址,物理地址就是存储单元的实际地址 编码。在 CPU 与存贮器之间进行任何信息交换时,需利用物理地址来查找所需要的访问的 存储单元。逻辑地址由段地址和偏移地址两部分组成。 逻辑地址的表示格式为: 段地址: 偏移地址。 知道了逻辑地址, 可以求出它对应的物理地址: 物理地址=段地址×10H+偏移地址。 5. 段寄存器 CS=1200H,指令指针寄存器 IP=FF00H,此时,指令的物理地址为多少? 指向这一物理地址的 CS 值和 IP 值是唯一的吗? 解:根据:物理地址=段地址×10H+偏移地址,指令的物理地址为 21F00H。指向这一物理地 址的 CS 值和 IP 值不唯一。 6. 8086 CPU 中 信号和 A0 信号是通过怎样的组合解决存储器和外设端口的读/写的? 这种组合决定了 8086 系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区 分? 解:若存取一个字节的数据,总是用一个总线周期来完成该操作;若存取一个字,则依该字 是规则字还是不规则字需用一个或两个总线周期来完成。 对规则字, 只用一个总线周期来完 成 16 位数据的传送,而对于非规则字则用相邻两个总线周期来完成该字的存储操作,先取 其奇地址字节(即数据的低位字节) ,然后存取偶地址字节。在组成存储系统时,总是偶地 址单元的数据通过 AD0~AD7 传送,而奇地址单元的数据通过 AD8~AD15 传送,即通过总线 高字节传送。 信号和 A0 信号控制存储器读写见下表: 操作 存取规则字 传送偶地址的一个字 节 传送奇地址的一个字 节 存取非规则字 0 1 0 0 1 1 A0 0 0 1 1 0 1 使用的数据总线 AD15~AD0 AD7~AD0 AD15~AD8 AD15~AD8(第一个总线周 期) AD7~AD0 第二个总线周期) ( 为非法码

7. 请分别画出 80386 微处理器运行在实模式和保护模式时的存储器映像图。 解:80386 微处理器在实模式和保护模式时的存储器映像图如下:

保护模式 存储器映像 FFFFFFFFH

实模式存 储器映像 000FFFFFH

00000000H

00000000H

8. 请说出 80386 微处理器的控制寄存器 CR0、CR1、CR2 和 CR3 的功能作用。 解:CR0 选择分页,以及选择进入还是退出保护模式; CR1 为将来预留; CR2 保存任何错误的线性地址; CR3 保存页目录的基地址。 9. 什么是描述符?段描述符和系统描述符之间的区别是什么? 解:描述符是一个 8 字节长的序列,它描述了保护模式下存储器段的地址、长度和属性。 段描述符描述数据、代码或堆栈段;而系统描述符则描述 call,中断门或任务。 10. 请说明 80386 微处理器是如何实现从实模式到保护模式的切换的? 解:80386 通过设置或清除 CR0 的 D0 位来实现实模式到保护模式的切换。 11. 已知 80386 微处理器的物理存储地址为 C0000000H,请问分页单元如何将线性地址 D0000000H 映射到此物理存储单元? 解:线性地址 D0000000H 通过访问页目录项 1101000000B 来寻址物理页,在该项中给出了 描述 4MB 的存储空间的页表地址。页表项 0000000000 保存存储地址 C0000000H,以便将线 性地址 D0000000H 转换为 C0000000H。 第三章 80x86 指令系统 习题与答案 1、指出下列指令中操作数的寻址方式(8086 系统) 。 (1) MOV AX,100 (2) MOV AX,[100] (3) MOV DL,[BP+SI] (4) MOV [BX],CX

(5) MOV DX,[SI] (6) MOV 1234H[BX],DS (7) MOV [DI+5678H],AL (8) MOV 12[BP][DI],BH (9) POP CX (10)MOV AX,[BX+SI+10] 解: 目的操作数 (1) MOV AX,100 (2) MOV AX,[100] (3) MOV DL,[BP+SI] (4) MOV [BX],CX (5) MOV DX,[SI] 寄存器寻址 寄存器寻址 寄存器寻址 寄存器间接寻址 寄存器寻址 源操作数 立即数寻址 直接寻址 基址变址寻址 寄存器寻址 寄存器间接寻址 寄存器寻址 寄存器寻址 寄存器寻址 相对基址变址寻址

(6) MOV 1234H[BX],DS 寄存器相对寻址 (7) MOV [DI+5678H],AL 寄存器相对寻址 (9) POP CX 隐含为堆栈

(8) MOV 12[BP][DI],BH 相对基址变址寻址 寄存器寻址 (10)MOV AX,[BX+SI+10] 寄存器寻址

2、指出下列指令中操作数的寻址方式(80386 系统) 。 (1) MOV [EBX+12H],AX (2) MOV [EBP+EDI*2],EBX (3) MOV [EBX*4],BX (4) MOV EDX,[EAX+ESI*8-12H] 解: 目的操作数 (1)寄存器相对寻址 (3)比例变址寻址 (4)寄存器寻址 源操作数 寄存器寻址 寄存器寻址 相对基址比例变址寻址

(2)基址比例变址寻址 寄存器寻址

3、指出以下指令中,哪些指令是非法的,并说明为什么(8086 系统) 。 (1) PUSH 1234H (2) MOV CS,AX (3) IN AX, 300 (4) MOV AX,[DX+12] (5) MOV BX,[BX] (6) MOV DS,1000H (7) XCHG AL,AL (8) MOV AL,100H (9) MOV DX,AL (10)LEA BL,[BX+5] (11)LEA DX,BX (12)MOV [1000H],12H (13)ADD AX,DS (14)SUB [0100H],BYTE PTR [0001] (15)SHL BL,2 (16)SHR CL,CL (17)MUL AL,BL (18)INT 400 解: (1)非法,8086 系统不允许 PUSH 指令的操作数为立即数; (2)非法,MOV 指令中 CS 不能作为目的操作数; (3)非法,端口号大于 0FFH; (4)非法,DX 不能出现在中括号[]内; (5)合法; (6)非法,不能把立即数赋给段寄存器;

(7)合法; (8)非法,源操作数大于 0FFH,不能赋给 8 位寄存器 AL; (9)非法,源操作数是 8 位寄存器,目的操作数却是 16 位寄存器,不匹配; (10)非法,LEA 指令得到的是 16 位偏移量,但目的操作数是 8 位寄存器; (11)非法,LEA 指令的源操作数只能是存储器操作数; (12)非法,指令存在歧义,无法确定传送的是字节还是字; (13)非法,段寄存器不能参与算术运算; (14)非法,源和目的寄存器不能同为存储器操作数; (15)非法,在 8086 系统中,移位次数大于 1 时需要将移位次数存放到 CL 中; (16)合法; (17)非法,在 8086 系统中 MUL 指令没有双操作数的用法; (18)非法,中断类型号大于 0FFH。 4、指出以下指令中,哪些指令是非法的,并说明为什么(80386 系统) 。 (1) MOV AX,12[EBX][SI*16] (2) RCR EAX,10 (3) PUSH 5678H (4) POP 1000H (5) MOV [EAX+EAX],EAX (6) MOV AL,[ESP+ESP*2] (7) MOV BL,[AX+12] (8) IMUL AL,BL,12 解: (1)非法,比例因子只能是 1、2、4、8,不能是 16; (2)合法; (3)合法; (4)非法,POP 指令的目的操作数不能是立即数; (5)合法; (6)非法,ESP 只能作为基址寄存器,不能作为变址寄存器; (7)非法,在 386 系统中 AX 不能作为基址寄存器,也不能作为变址寄存器; (8)合法。 5、假设(AX)=1234H,(BX)=5678H,(SP)=1000H,指出执行下面的程序段后,各相关寄存器及 堆栈段中的内容。 PUSH AX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? PUSH BX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? POP AX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? 解:(AX)=1234H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H (AX)=1234H,(BX)=5678H,(SP)=0FFCH,栈顶字节[SP]=78H,栈顶第二字节[SP+1]=56H (AX)=5678H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H 6、假设 A、B、C、D、X、Y 为字节变量,AA、BB、YY 为字变量,试利用算术运算指令编写 程序段,完成以下各算术运算题。 (1)计算 YY←A+B*C,其中 A、B、C 都是无符号数; (2)计算(AA+BB)/(C-D),商赋给 X,余数赋给 Y,其中 AA、BB、C、D 都是带符号数; (3)计算 YY←(A-B)*C,其中 A、B、C 都是未组合 BCD 码。 解:

(1)MOV MUL ADD ADC MOV (2)MOV ADD MOV SUB IDIV

AL,B C AL,A AH,0 YY,AX AX,AA AX,BB BL,C BL,D BL

MOV X,AL MOV Y,AH (3)MOV AL,A SUB AL,B AAS MUL C AAM MOV YY, AX 7、利用移位指令编写程序段,实现以下运算。 (1)计算 AX←AX*10,其中 AX 为无符号数; (2)32 位带符号数存放在寄存器 DX 和 AX 中,其中 DX 存放高 16 位,AX 存放低 16 位计算 (DX,AX)←(DX,AX)*2。 (3)32 位带符号数存放在寄存器 DX 和 AX 中,其中 DX 存放高 16 位,AX 存放低 16 位计算 (DX,AX)←(DX,AX)/2。 解: (1)SHL AX,1 MOV BX,AX SHL AX,1 SHL AX,1 ADD AX,BX (2)SAL AX,1 RCL DX,1 (3)SAR DX,1 RCR AX,1 8、指出以下指令执行后,标志寄存器 OF、SF、ZF、AF、PF、CF 的状态。 (1)(AL)=0FFH,(BL)=20H,执行指令:ADD AL,BL (2)(AL)=01H, (BL)=02H,执行指令:CMP AL,BL (3)(AL)=0FFH,执行指令:INC AL (4)(AL)=0,执行指令:DEC AL (5)(AL)=0F0H,(BL)=04H,执行指令:IMUL BL (6)(AX)=1F0H,(BL)=08H,执行指令:DIV BL (7)(AL)=12H, (BL)=34H,执行指令:TEST AL,BL (8)(AL)=98H,执行指令:SAL AL,1

解: OF (1) (2) (3) (4) (5) (6) (7) (8) 0 0 0 0 0 — 0 1 SF 0 1 0 1 — — 0 0 ZF 0 0 1 0 — — 0 0 AF 0 1 1 1 — — — — PF 0 1 1 1 — — 0 1 CF 1 1 × × 0 — 0 1

注:0 表示结果为 0,1 表示结果为 1,×表示结果不变,—表示结果不确定。 9、在 8086 系统下,编写实现如下功能的程序段: (1)从地址为 80H 的端口中读入一个字节; (2)如果该字节最高位为“1”,则将字节 0FFH 送到地址为 81H 的端口中,并退出程序; (3)如果该字节最高位为“0”,则转向第(1)步,继续循环扫描。 解: 参考程序段: AGAIN: IN AL, 80H TEST AL, 80H JZ AGAIN MOV AL, 0FFH OUT 81H, AL 10、我们知道,MOV 指令并不能直接修改 CS、IP 的值,但事实上,我们还可以通过其他方 法来达到修改 CS、 的目的。 IP 试编写一个程序段, 使该程序段运行后, (CS)=0100H, (IP)=0000H。 解: 方法一、利用段间返回指令 RETF: MOV AX,0100H PUSH AX ;段基址入栈 MOV AX,0 PUSH AX ;偏移量入栈 RETF 方法二、利用 JMP 指令实现段间跳转,假设 ADDR 为双字变量: MOV WORD PTR ADDR,0 ;WORD PTR ADDR←偏移量 MOV WORD PTR ADDR+2, 0100H ;WORD PTR ADDR+2←段基址 JMP DWORD PTR ADDR 第四章 80x86 汇编语言程序设计 习题与答案 1、指出以下数据定义伪指令所分配的字节数(8086 系统) 。 (1)DATA1 DB 10,?, ‘A’ (2)DATA2 DW 10 DUP(2,3 DUP(?) ,1)

(3)DATA3 DB ‘HELLO,WORLD!, ’‘$’ (4)DATA4 DW DATA4 解: (1)3 字节; (2)100 字节; (3)13 字节; (4)2 字节。

2、指出以下数据定义伪指令所分配的字节数(80386 系统) 。 (1)DATA1 DF 12,34,56 (2)DATA2 DF DATA2 (3)DATA3 DQ 0,10 DUP(?) (4)DATA4 DT 0,1,2 解: (1)18 字节; (3)6 字节; (3)88 字节; (4)30 字节。

3、指出以下指令中哪些是无效的,并说明原因。 (1)ADDR DB $ (2)DATA DB F0H,12H (3)1_DATA DW 1234H (4)@VAR DW VAR1 ;VAR1 为一个字节变量 (5)MOV AX,[10-VAR1] ;VAR1 为一个字变量 (6)MOV BX,[VAR2*2+1] ;VAR2 为一个字变量 解: (1)非法,地址计数器$是 32 位数; (2)非法,以字母开头的 16 进制数应在前面加“0” ,即应为“0F0H” ; (3)非法,变量名非法,不能以数字开头; (4)合法; (5)非法,地址表达式不能是“常数-地址” ; (6)非法,地址表达式不能出现乘法。 4、假设已定义数据段如下: DATA SEGMENT ORG 100H DATA1 DATA2 DATA DB DW ENDS 10 DUP(1,2,3) DATA1,$

且段寄存器 DS 已初始化为该数据段的段基址 (假设段基址为 1234H) 请指出以下指令执行 。 后,相应的寄存器中的内容。 (1)MOV AX,WORD PTR DATA1 ;(AX)=? (2)MOV BX,DATA2 ;(BX)=? (3)MOV CX,DATA2+2 ;(CX)=? (4)MOV DX,OFFSET DATA2 ;(DX)=? (5)MOV SI,SEG DATA1 ;(SI)=? (6)MOV DI,LENGTH DATA1 ;(DI)=? (7)MOV SP,TYPE DATA1 ;(SP)=? (8)MOV BP,SIZE DATA2 ;(BP)=?

解: (1)(AX)=0201H; (2)(BX)=0100H; (3)(CX)=0120H; (4)(DX)=011EH; (5)(SI)=1234H;(6)(DI)=000AH; (7)(SP)=0001H; (8)(BP)=0002H。 5、在 8086 系统下,编写完整程序,实现从键盘上输入 8 位二进制数,从显示器上显示相应 的 16 进制数,例如从键盘上输入“00010010” ,应在显示器上显示“12H” 。 解:参考程序: DATA SEGMENT MSG1 DB 'Input binary number(ESC to exit):','$' MSG2 DB 0AH,0DH,'Input error!',0AH,0DH,'$' DATA ENDS OUTPUT MACRO ASC ;定义输出一个字符的宏 MOV DL, ASC MOV AH, 2 INT 21H ENDM CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX AGAIN: LEA DX, MSG1 MOV AH, 9 INT 21H ;提示输入信息 MOV CX, 8 ;输入 8 位二进制数 MOV BL, 0 L: MOV AH, 1 INT 21H SHL BL, 1 CMP AL, 1BH ;ESC 键退出 JZ DONE CMP JZ CMP JNZ INC NEXT: OUTPUT OUTPUT PUSH AL, '0' NEXT AL, '1' ERROR BL LOOP 0AH 0DH BX ;输入“0” ;输入“1” ;输入其他则出错 L

MOV CL, 4 SHR BL, CL CALLTRAN ;显示高 4 位对应的 16 进制数 POP BX AND BL, 0FH CALLTRAN ;显示低 4 位对应的 16 进制数 OUTPUT 'H' OUTPUT 0AH OUTPUT 0DH JMP AGAIN ERROR: LEA DX, MSG2 MOV AH, 9 INT 21H JMP AGAIN DONE: RET MAIN ENDP TRAN PROC FAR CMP BL, 0AH JB BELOW ADD BL, 7 BELOW: ADD BL, 30H OUTPUT BL RET TRAN ENDP CODE ENDS END MAIN 6、在 8086 系统下,编写完整程序,实现从键盘上输入两个 4 位十进制数,从显示器上显示 这两个数之和,例如输入“1234”“5678” 、 ,应在显示器上显示“6912” 。 解:参考程序: DATA SEGMENT MSG1 DB 'Input the first number(ESC to exit):','$' MSG2 DB 'Input the second number(ESC to exit):','$' MSG3 DB 0AH,0DH,'Input error!Input again:','$' DATA ENDS OUTPUT MACRO ASC ;定义输出一个字符的宏 MOV DL, ASC MOV AH, 2 INT 21H ENDM CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN: MOV AX, DATA MOV DS, AX

AGAIN: LEA DX, MSG1 MOV AH, 9 INT 21H ;提示输入第一个数 CALLINPUT ;输入过程 PUSH BX OUTPUT 0AH OUTPUT 0DH LEA DX, MSG2 MOV AH, 9 INT 21H ;提示输入第二个数 CALLINPUT ;输入过程 OUTPUT 0AH OUTPUT 0DH POP AX ;实现两个 4 位组合 BCD 码相加 ADD AL, BL ;低 8 位相加 DAA ;校正 MOV CL, AL ;保存至 CL ADC AH, BH ;高 8 位相加 MOV AL, AH ;移至 AL DAA ;校正 MOV AH, AL MOV AL, CL MOV BX, AX ;最后结果放在 BX 中 JNC NEXT OUTPUT '1' ;如果相加结果大于 9999,则显示进位“1” NEXT: PUSH BX MOV CL, 4 SHR BH, CL ADD BH, 30H OUTPUT BH ;显示千位数 POP BX PUSH BX AND BH, 0FH ADD BH, 30H OUTPUT POP PUSH MOV SHR ADD OUTPUT POP AND ADD BH BX BX CL, 4 BL, CL BL, 30H BL BX BL, 0FH BL, 30H ;显示百位数

;显示十位数

OUTPUT OUTPUT OUTPUT JMP INPUT BEGIN: MOV L: SHL SHL SHL MOV INT CMP JZ CMP JB CMP JA SUB XOR ADD LOOP RET ERROR: MOV INT JMP DONE: INT INPUT CODE END

BL ;显示个位数 0AH 0DH AGAIN PROC FAR ;输入一个 4 位十进制数的过程 MOV CX, 4 BX, 0 SHL BX, 1 BX, 1 BX, 1 BX, 1 AH, 1 21H AL, 1BH DONE AL, '0' ERROR AL, '9' ERROR AL, 30H AH, AH BX, AX L LEA ;BX 的值乘以 16 ;输入 ;ESC 键退出

;非数字,出错 ;非数字,出错

;将输入加到 BX 中

DX, MSG3 AH, 9

21H BEGIN MOV 21H ENDP ENDS MAIN

AH, 4CH

7、在 8086 系统下,编写完整程序,实现两个 32 位带符号数相乘。假设被乘数存放在以字 变量 MUL1 开始的连续 4 个字节中,乘数存放在以字变量 MUL2 开始的连续 4 个字节中中, 相乘结果存放在以字变量 RES 开始的连续 8 个字节中。 解:参考程序: DATA SEGMENT MUL1 MUL2 RES DATA CODE DW 0FFFFH,0FFFFH DW 5678H,1234H DW 4 DUP(0) ENDS SEGMENT ;被乘数 ;乘数 ;结果

ASSUME CS:CODE, DS:DATA MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, MUL1 MOV BP, MUL1+2 MOV SI, MUL2 MOV DI, MUL2+2 TEST BP, 8000H ;被乘数是否为负数 JZ NEXT1 NOT BP ;为负数,则取反加 1 NOT CX ADD CX, 1 ADC BP, 0 NEXT1: TEST DI, 8000H ;乘数是否为负数 JZ NEXT2 NOT SI ;为负数,则取反加 1 NOT DI ADD SI, 1 ADC DI, 0 NEXT2: MOV AX, SI ;相乘过程 MUL CX MOV RES, AX MOV RES+2, DX MOV AX, SI MUL BP ADD RES+2, AX ADC RES+4, DX MOV AX, DI MUL CX ADD RES+2, AX ADC RES+4, DX MOV AX, DI MUL BP ADD RES+4, AX ADC RES+6, DX MOV AX, MUL1+2 XOR AX, MUL2+2 ;判断被乘数和乘数是否同号 JNS DONE ;同号,则结果为正数,无须修改结果 NOT RES ;不同号,则结果为负数,须取反加 1 NOT RES+2

NOT NOT ADD ADC ADC ADC DONE: MAIN CODE END

RES+4 RES+6 RES, 1 RES+2, 0 RES+4, 0 RES+6, 0 RET ENDP ENDS MAIN

8、在 8086 系统下,编写完整程序,找出字节数组 ARRAY 中的最大值和最小值。假设 ARRAY 的长度为 100 个字节, 每个字节为一个无符号数, 程序执行后最大值将存放到字节变量 MAX 中,最小值则存放到字节变量 MIN 中。 解:参考程序: DATA SEGMENT ARRAY DB 100 DUP(?);字节数组 MAX DB ? ;最大值 MIN DB ? ;最小值 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA SI, ARRAY CLD MOV MOV MOV AGAIN: CMP JNA MOV NEXT1: JNB MOV NEXT2: MOV MOV BH, 0 ;存放临时最大值的寄存器 BL, 0FFH ;存放临时最小值的寄存器 CX, 100 LODSB AL, BH NEXT1 BH, AL ;如果当前数值比临时最大值大,则代替 CMP AL, BL NEXT2 BL, AL ;如果当前数值比临时最小值小,则代替 LOOP AGAIN MAX, BH MIN, BL

RET MAIN CODE END

ENDP ENDS MAIN

9、在 8086 系统下,编写完整程序,将字节数组 ARRAY 中的所有数据往高地址的方向移动 一位,即原来存放在 ARRAY 中的字节移动到 ARRAY+1 中,原来存放在 ARRAY+1 中的字节移 动到 ARRAY+2 中,……,依此类推。假设 ARRAY 的长度为 100 个字节。 解:可利用 MOVSB 指令实现移位,但应该注意,必须从串尾开始移动,因为假如直接从串 头开始,将串头移到第二个数,那么第二个数将被覆盖。为使程序能从串尾开始移动,可令 方向标志位 DF=1。参考程序: DATA SEGMENT ARRAY DB 100 DUP(?), ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV ES, AX LEA SI, ARRAY+99 ;SI 指向源串尾 LEA DI, ARRAY+100 ;DI 指向新串尾 STD ;DF=1,串尾先移动 MOV CX, 100 REP MOVSB ;循环移动 RET MAIN ENDP CODE ENDS END MAIN 10、在 8086 系统下,编写在长字符串 L_STR 中查找短字符串 S_STR 的完整程序,如果找到 匹配的字符串,则将字节变量 RES 置 0FFH,否则置 0。例如,在字符串“ABABCD”中可找 到字符串“ABC” ,则 RES=0FFH。 解:参考程序: DATA SEGMENT L_STR L_LTH S_STR S_LTH RES DB DW DB DW DB 'ABDABABCD' $-L_STR 'ABC' $-S_STR ? ;长串 ;长串长度 ;短串 ;短串长度 ;存放结果

DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV ES, AX LEA SI, L_STR LEA DI, S_STR CLD MOV CX, L_LTH SUB CX, S_LTH INC CX ;作串比较的次数 AGAIN: CALLCOMP ;进行串比较 INC SI LOOP AGAIN MOV RES, 0 RET MAIN ENDP COMP PROC FAR PUSH CX PUSH SI PUSH DI MOV CX, S_LTH REPZ CMPSB JZ YES ;如果两个串相同,则说明找到 POP DI POP SI POP CX RET YES: MOV RES, 0FFH MOV AH, 4CH INT 21H COMP ENDP CODE ENDS END MAIN 11、在 80386 系统下,编程实现两个 64 位无符号数相乘。 解:参考程序: .386 . MODEL SMALL

.DATA MUL1 MUL2 RES .CODE MAIN: MOV MOV MUL MOV MOV MOV MUL ADD ADC MOV MUL ADD ADC MOV MUL ADD ADC MOV INT DD 3456789AH, 12345678H ;被乘数 DD 789ABCDEH, 3456789AH ;乘数 DD 4 DUP(0) ;存放 128 位结果,初始化为 0 MOV AX, @DATA DS, AX EAX, MUL2 MUL1 RES, EAX RES+4, EDX EAX, MUL2 MUL1+4 RES+4, EAX RES+8, EDX EAX, MUL2+4 MUL1 RES+4, EAX RES+8, EDX EAX, MUL2+4 MUL1+4 RES+8, EAX RES+12, EDX AH, 4CH 21H END MAIN

第五章 微处理器总线与时序 习题与答案 1. 总线周期的含义是什么?8088/8086 基本总线周期由几个时钟周期组成? 解:总线周期是指 CPU 从存储器或 I/O 端口存取一个字节所需的时间。8088/8086 基本总 线周期由 4 个时钟周期组成。 2. 从引脚信号来看,8086 和 8088 有什么不同? 解:从引脚信号来看,8086 的地址引脚与数据引脚复用,引脚为 AD0~AD15,而 8088 同样 也采用了地址引脚与数据引脚复用,但引脚为 AD0~AD7。 3. 试说明 8086/8088 工作在最小方式下和最大方式下系统基本配置的差别。在最大组 态下,8086/8088 的外围电路由哪些器件组成?它们的作用是什么? 解:8086/8088 工作在最大方式下时,需要使用 8288 总线控制器,但是工作在最小方式下 时不需要使用。 8086/8088 工作在最大方式下时,外围电路包括 8284 时钟发生器、8286 数据发送/接收 器、8282 地址锁存器以及 8288 总线控制器。8284 将晶体振荡器的振荡频率分频,向 8086 /8088 以及计算机系统提供符合定时要求的时钟信号、准备好信号和系统复位信号。8286

数据发送/接收器增加数据总线的驱动能力。8282 地址锁存器用来锁存 CPU 地址信号,特 别是地址-数据线、地址-状态线上出现的地址信号。8288 根据 CPU 要执行的指令提供的 状态信号建立控制时序,输出读写控制命令。 4. 8086/8088 数据信号与地址信号是共用引脚的,怎样把这两种不同的信号分离出 来? 解:8086/8088 工作时,对数据信号与地址信号的公用引脚进行分时复用,采用 8282 地址 锁存器来分离数据与地址信号。在 T1 状态时,CPU 提供 ALE 地址锁存允许信号,将地址信 号锁存到 8282 地址锁存器。然后,在 T2、T3、TW 状态,用作传送数据信号。 5. 在总线周期的 T1、T2、T3、T4 状态,CPU 分别执行什么动作?什么情况下需要插入 等待状态 TW?TW 在哪儿插入?怎样插入? 解:CPU 在 T1、T2、T3、T4 这四个状态完成一个总线周期。 在 T1 状态,把地址信息从地址线 A19~A16,A15~A8 和 AD7~AD0 上输出,且立即发出地 址锁存信号 ALE, 把在 A19~A16 上出现的高 4 位地址和在 AD15~AD0 8088 则是 AD7~AD0) ( 上出现的地址,在外部地址锁存器上锁存。 在 T2 状态,CPU 发送读写等控制命令。 在 T3、T4 状态,CPU 发送或接收数据,并在 T4 状态结束此总线周期。 当外部存储器或 I/O 端口的时序不能与 CPU 的时序相配合时,就需要插入 TW 周期。因此, 在 CPU 中设计了一条准备就绪 READY 输入线, 即存储器或 I/O 端口输给 CPU 的状态线。 CPU 在 T3 采样 READY 线,若为高电平,则在 T3 状态后进入 T4 状态。若存储器或 I/O 端口来不 及在 T4 状态的前沿把数据准备好,则当 CPU 在 T3 状态采样时应使 READY 线为低电平,并 在 T3 状态后插入一个等待状态 TW。 6. 8086/8088 在最大组态下的存储器读/写周期和 I/O 周期中, 8288 发出的控制信号为 什么能够和 8086/8088 发出的地址信号相配合? 解:8288 总线控制器根据 CPU 要执行的指令提供的状态信号建立控制时序,输出读写控制 命令。8288 总线控制器接收 8086/8088 的状态信号 , , ,以确定 CPU 执行何种操作, 发出相应的控制命令信号,以控制系统中有关部件的工作。 7. 在 T1 状态下, 8088/8086CPU 数据/地址线上是什么信息?用哪个信号可将此信息锁 存起来?数据信息是什么时候送出的?在最大组态下, 怎样使系统地址总线和系统数据总线 上同时分别存在地址信息和数据信息? 解:在 T1 状态下,8088/8086CPU 数据/地址线上是地址信息。用 ALE 信号可将地址信息 锁存起来。数据信息在 T2 开始以后送出。在最大组态下,AD15~AD0 在 8288 发出的 ALE 下降沿控制下将地址信息锁存后送系统地址总线 A15~A0(对 8088 则为 AD7~AD0) 。A19 /S6~A16/S3 经 ALE 下降沿控制锁存后送系统地址总线 A19~A16;CPU 的 AD0~AD7 在 8288 发出的 (数据收发控制信号)和 DEN(数据允许信号)信号控制下,经双向总线驱动器 连接到系统数据总线 D7~D0,这样,实现了地址和数据及状态信号的分离,使地址信号和 数据信号同时分别出现在系统地址总线和数据总线上。 8. RESET 信号来到后,8086/8088 系统的 CS 和 IP 分别等于多少? 解:CS=FFFFH,IP=0000H

9. 在中断响应过程中,8086/8088 往 8259A 发的两个 信号分别起什么作用? 解: 在每一个中断响应地机器周期, CPU 都给出中断响应信号 。 在第一个机器周期, AD0~ 使 AD7 浮空。在第二个机器周期,被响应地外设(或接口片子)应向数据线上输送一个字节的 中断向量类型, 把它读入后, CPU 就可以在中断向量表上找到该设备的服务程序的入口地址, 转入中断服务。 10. 总线保持过程是怎样产生和结束的?画出时序图并说明。 解: 总线保持过程包括总线保持请求和保持响应操作。 当一个系统中具有多个总线主模块时, 除 CPU 之外的其它总线主模块为了获得对总线的控制,需向 CPU 发出总线保持请求信号, 当 CPU 接到此请求信号,并在同意让出总线时,就向发该请求的主模块发响应信号。 具体过程是:在最小模式下,CPU 在每个时钟周期的上升沿处,对 HOLD 引脚进行检测,若 HOLD 已变为高电平(有效状态),则在总线周期的 T4 状态或空闲状态 TI 之后的下一个状态, 由 HLDA 引脚发出响应信号。同时 CPU 将把对总线的控制权转让给发出 HOLD 的设备,到发 出 HOLD 信号的设备再将 HOLD 变为低电平(无效)时,CPU 才又收回总线控制权。 时序图如下:

第六章

半导体存储器

习题与答案 1、半导体存储器可分为哪几个类型?试分别说明它们各自的特点。 解:从存取方式来分,有读写存储器 RAM 和只读存储器 ROM。 RAM 也称为随机存取存储器, CPU 在执行程序的过程中能对它进行读出和写入操作。 RAM 在 中可分为双极型(Bipolar)和 MOS 型 RAM 两大类。双极型 RAM 具有很高的存取速度,但 是双极型 RAM 的集成度低,单片容量小,功耗大,成本高。MOS 型 RAM 具有功耗低、集 成度高、单片容量大的特点,但存取速度则较慢。MOS 型 RAM 又可以分为静态 RAM 和动 态 RAM 两种。 ROM 器件的功能是只许读出,不许写入,一旦有了信息,就不能轻易改变,也不会在掉电 时丢失,所以它只能用在不需要经常对信息进行修改和写入的地方。ROM 可以分为 4 种: 掩膜 ROM、可编程 ROM、可擦除、可编程 ROM 和可电擦除的、可编程 ROM 等。 2、列出半导体存储器的主要性能指标。 解:半导体存储器的性能指标有:存储芯片容量、存取速度、可靠性、价格、易失性、集成 度、功耗和电源种类等。 3、试比较 SRAM 和 DRAM 的优缺点。 解:SRAM 用由 6 管构成的触发器作为基本电路,不需要刷新电路,而且易于用电池作后备 电源。DRAM 是利用电容的记忆功能保存信息,由于电容存在漏电电流,即使电源不掉电, 电荷会随着电容放电而泄露,从而导致信息丢失,所以需要刷新。 与 SRAM 相比,DRAM 的主要优点是集成度高、功耗小、价格低。而不足之处是与 CPU 的接口电路比较复杂,有两个问题要解决:一个是上面所讲的刷新问题,另一个是地址信号 的输入问题。DRAM 一般用于组成大容量的内存系统。

4、若某微机系统的系统 RAM 存储器由四个模块组成,每个模块的容量为 128K 字节,若四 个模块的地址是连续的,最低地址为 00000H,试指出每个模块的首末地址。 解:第一个模块:00000H~1FFFFH; 第二个模块:20000H~3FFFFH; 第三个模块:40000H~5FFFFH; 第四个模块:60000H~7FFFFH。 5、对于下列芯片,它们的片内地址线各有多少根?若分别用以下芯片组成容量为 64K 字节 的模块,试指出分别需要多少芯片? (1)Intel 2114(1K×4 位) ; (2)Intel 6116(2K×8 位) ; (3)Intel 2164(64K×1 位) ; (4)Intel 3148(4K×8 位) 。 解: (1)片内地址线 10 根。需要 128 片。 (2)片内地址线 11 根。需要 32 片。 (3)片内地址线 16 根。需要 8 片。 (4)片内地址线 12 根。需要 16 片。 6、试比较存储器读周期和写周期的差别。 解: 存储器的读周期和写周期的主要差别在于数据出现在数据总线上的时间不同和总线上数 据的来源不同。对于存储器的读周期,是在地址线和选通控制线稳定后,被读出的数据才出 现在数据总线上,数据来自于存储器;而对于存储器的写周期,则是往存储器内写入新的信 息,故在所有选通控制信号出现之前,数据线上应有待写的稳定数据,数据来自于 CPU。 7、某 RAM 芯片,容量为 4K?4 位,该芯片有数据线、地址线、片选信号线 和读写控制线 。 请问: RAM#1 RAM#2 RAM#3 RAM#4 RAM#5 30000H 32000H 34000H 37000H

38000H 图 6-31 题 7 内存模块示意图 (1)该 RAM 芯片有几根地址线?几根数据线? (2)现要在 8088 为 CPU 的微机系统中,用该芯片构成右图中 RAM#2 和 RAM#4 两个内存 模块,请画出扩展这两个模块的存储器连接图。 (连接图中可选用三八译码器和与非门等。 ) 解: (1)该 RAM 芯片有 12 根地址线,4 根数据线。 (2)RAM#2 地址范围:32000H—33FFFH。 可分成两组: 第一组为 32000H~32FFFH; 0011 0010 0000 0000 0000 …… 0011 0010 1111 1111 1111 第二组为 33000H~33FFFH 0011 0011 0000 0000 0000 …… 0011 0011 1111 1111 1111 RAM#4 为另一组,地址范围为:37000H~37FFFH 0011 0111 0000 0000 0000 …… 0011 0111 1111 1111 1111 上面每组用两块 RAM 芯片组成,共用 6 片。 上面的地址范围可以看出,三组地址范围的高 5 位 A19~A15 是相同的,都是 00110;中间 三位 A14 A13A12 的值分别是 010、011、111。因此,可以将 A14 A13A12 连三八译码器的 C、 B、A 输入引脚,用三八译码器输出选择线 、 、 分别作为三组的组选择信号线,连各芯片 的 引脚。三组地址范围的低 12 位都是从全 0 变到全 1,用于 RAM 片内单元的寻址,因此 地址总线中的 A0~A11 的连各 RAM 芯片的地址引脚。 连接图如下页所示。

8、 某微机系统的 CPU 为 8088, 且工作于最小方式, 原有系统 RAM 存储器模块的容量为 128K 字节,其首地址为 40000H,现用 2128RAM 芯片(容量 2K×8 位)扩展一个容量为 16K 字节 的存储器模块,地址和原有 RAM 模块的地址相连接,试完成该扩展 RAM 模块的设计。 (注: 可选用 3:8 译码器、与门、或门、非门等) 。 解:原模块:128K=20000H;原模块地址范围:40000H~5FFFFH 新模块:16K=4000H;新模块地址范围:60000H~63FFFH 2128RAM 芯片(容量 2K×8 位)扩展一个容量为 16K 字节的存储器模块,需要 8 片。 20 位地址中,6 位模块选择, 3 位送 3:8 译码器用于片选, 11 位片内选择。 扩展 RAM 模块连接图如下所示。

第七章 输入和输出 习题与答案 1、请说明为什么输入接口的数据缓冲寄存器必须有三态输出功能而输出接口却不需要的原 因。 解: 输入接口的数据缓冲寄存器的输出端是直接接在数据总线上的, 如果数据寄存器没有三 态输出功能,则无论数据寄存器被寻址选中或未被选中,其数据都会被送上数据总线,若此 时总线上真正要传送的数据与该输入缓存器的内容不一致时,就会发生总线冲突。所以,输 入接口的数据缓冲器必须有三态输出功能, 以便当接口未被寻址选中时, 其输出端处于高阻 态,从而与总线隔离。 对于输出接口来说,是输入端与数据总线相连,而输出端是与外设相连,因此其输出不 影响总线状态;另外,一个外设一般只与一个输出数据缓存起相连,因此输出接口的数据缓 存器无须有三态输出功能。 2、8086/8088CPU 中哪些寄存器可以用于 I/O 寻址?若 I/O 端口地址分别是 10H 和 100H,分 别写出向这两个端口写入 73H 的程序段。 解:8086/8088CPU 内可以用于 I/O 寻址的寄存器为 AL、AX 和 DX。 向端口 10H 写入 73H 的程序段为: MOV AL,73H OUT 10H,AL 向端口 10H 写入 73H 的程序段为: MOV AL,73H MOV DX,100H OUT DX,AL 3、图为 7 段显示器接口,显示器采用共阳极接法,试编写程序段,使 AL 中的一位十六进制 数显示于显示器上。输出锁存器地址为 40H。 解: TABLE DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,67H,77H,7CH, DB 39H,5EH,79H,71H LEA BX,TABLE XLAT OUT 40H,AL 4、PC/XT 机有哪些输入输出方式?各自的特点如何?DMA 控制器应具备哪些功能? 解:无条件方式:需要外设处于就绪状态,硬件简单; 查询方式:CPU 需要不断地查询外设是否就绪,浪费 CPU 时间,硬件较简单; 中断方式:外设准备好后,向 CPU 发中断请求,请求 CPU 完成数据传输,外设与 CPU 并行;硬件又比前两者复杂。 DMA 方式:CPU 对 DMAC 初始化后,由 DMAC 控制总线完成数据传送;CPU 与 I/O 并 行。速度快,用于大量数据传输。DMAC 占用总线时,CPU 不能用。硬件更复杂。 5、与程序控制 I/O 方式相比较,中断控制方式有哪些优点。 解:用查询方式使 CPU 与外设交换数据时,CPU 要不断读取状态位,检查输入设备是否已

经准备好数据,输出设备是否忙碌或输出缓冲器是否已空。若外设没有准备就绪,CPU 就必 须反复查询,进入等待循环状态。由于许多外设的速度很低,这种等待过程会占用 CPU 的 大部分时间,但是真正用于传输数据的时间却很少,使 CPU 的利用率变得很低。 为了提高 CPU 执行有效程序的工作效率和提高系统中多台外设的工作效率,可以让外 设处于能主动申请中断的工作方式,这在有多个外设及速度不匹配时,尤其重要。 采用中断方式后,CPU 平时可以执行主程序,只有当输入设备将数据准备好了以后,或 者输出端口的数据缓冲器已空时,才向 CPU 发中断请求。CPU 响应中断后,暂停执行当前 的程序,转去执行管理外设的中断服务子程序。在中断服务程序中,用输入或输出指令在 CPU 和外设之间进行一次数据交换。等输入或输出操作完成以后,CPU 又会去执行原来的程 序。这样,外设在处理数据期间,CPU 就不必浪费大量的时间去查询它们的状态,因此中断 传送方式的好处就是能大大提高 CPU 的工作效率。 6、请用 74LS138 译码器及其他门电路设计一个端口地址译码器,使 CPU 可以对一下地址范 围寻址: (1)740H~747H; (2)750H~757H; (3)758H~75FH; (4)768H~76FH。 解:各地址范围地址线的逻辑电平: A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 0 1 0 0 0 × × × (1) 1 1 1 0 1 0 1 0 (2) 1 × × × 1 1 0 1 0 1 1 (3) 1 × × × 1 1 0 1 1 0 1 (4) 1 × × × 7、图为开关量检测与指示电路接口。显示器采用 7 段 LED 显示器,它由 BCD-7 段译码、驱 动器所驱动,并采用共阴极接法(只有阴极为低电平,显示器才会发亮) ,试编写一段程序 来统计开关闭合的个数, 并显示在 LED 显示器上。 输入缓冲器和输出数据锁存器地址为 20H。

图 开关量检测与指示电路 IN AL,20H MOV BL,AL MOV AL,00010000B MOV CX,8 AGAIN:SHR BL,1 JNC NEXT INC AL NEXT: LOOP AGAIN OUT 20H,AL 8、什么是 DMA?DMA 操作可以分几个主要步骤? 解:

解:(1)DMA 方式:即直接内存访问方式,完全由硬件执行 I/O 交换的工作方式。在这种方 式下,DMA 控制器从 CPU 完全接管对总线的控制,数据交换不经过 CPU,而直接在内存与 设备之间进行。 (2)DMA 操作可以分 3 个主要步骤: 即传送前预处理、正式传送、传送后处理阶段。 ①预处理阶段:由 CPU 执行几条输入输出指令,测试设备状态。向 DMA 控制器的设备 地址寄存器中送入设备号,并启动设备。向内存地址计数器中送入起始地址。向字计数器中 送入交换的数据字个数。 ②正式传送阶段:外设准备好发送数据(输入)或接收数据(输出)时,发出 DMA 请 求,由 DMA 控制器向 CPU 发出总线使用权的请求(HOLD) 。CPU 在本机器周期执行完毕后 响应该请求并使 CPU 的总线驱动器处于高阻状态,然后与系统总线相脱离,DMA 控制器接 管数据总线和地址总线的控制,并向内存提供地址。在内存和外围设备之间进行数据交换。 每交换一个字则地址计数器和字计数器加 1,当记数值到 0 时,DMA 操作结束并向 CPU 提 出中断报告。 ③DMA 后处理工作:一旦 DMA 的中断请求得到响应,CPU 将停止主程序的执行,转去 执行中断服务程序进行 DMA 操作的后处理。包括校验送入内存的数据是否正确;决定使用 DMA 方式传送数据还是结束传送;测试传送过程中是否发生错误。 9、 8237A 在做 DMA 控制时, 能为存储器和 I/O 设备提供多少条地址线?分别说明下列 8237A 引线的作用: (1)DB0~DB7; (2)A0~A3; (3)A4~A7。 解:DB0~DB7:数据/地址线,双向三态。从态时为数据线,作为 CPU 对 8237A 进行读/写 操作的数据输入/输出线。主态时为地址线,提供高 8 位地址线 A8~A15,DMA 传送时还是 数据的输入输出段端。8237A-5 作 DMA 控制时可以为存储器和 I/O 设备提供 16 位地址线: A0~A7(低 8 位)和 DB0~DB7(高 8 位) 。 A0~A3:最低地址线,双向三态。从态时作输入,选中 8237A 的 16 个端口地址;主态时作 输出,提供 20 位内存地址最低 4 位。 A4~A7:地址线,单向。主态时作输出,提供 20 位地址中的 A4~A7。 10、试利用通道 1 从外设输入 54KB 的一个数据块,传送至 5678H 开始的存储区域(增量传 送) ,采用块传送方式,传送完不自动初始化,外设的 DREQ 和 DACK 都为高电平有效。已知 8237A 的端口地址为 50H~5FH。 解:OUT 5DH, AL ;主清除命令 MOV AL, 78H ;基地址和当前地址的低 8 位 OUT 50H, AL MOV AL, 56H ;基地址和当前地址的高 8 位 OUT 50H, AL MOV AL, 00H OUT 51H, AL MOV AL, 0D8H OUT 51H, AL MOV AL, 85H ;基字节数和当前字节数低 8 位 ;基字节数和当前字节数高 8 位 ;模式控制字

OUT 5BH, AL MOV AL, 01H MOV AL, 0A0H OUT 58H, AL ;屏蔽控制字,使通道 1 的屏蔽位复位(不屏蔽) ;命令字

第八章 中断 习题与答案 1、CPU 响应外设中断请求的必要条件是什么? 解:CPU 对外部中断的请求,通常必须满足以下条件才能响应: (1)置位中断请求触发器; (2)中断屏蔽触发器没有被屏蔽; (3)开放 CPU 内部中断,IF=1 (4)没有优先级别更高的中断请求正在被响应或正发出、挂起; (5)没有总线请求或 NMI 请求; (6)CPU 现行指令执行结束。 2、试述中断的一般过程。 解:中断过程是指从中断源提出中断请求,到中断被 CPU 响应并被处理,最好返回到被中 断的程序的全过程。经历的处理步骤包括: (1)中断请求。需要服务的中断源向 CPU 发出中断请求; (2)中断判优。由中断优先权判决电路识别中断请求的中断源,当同时有多个中断源提出 请求时,按一定的优先级顺序选择响应中断; (3)中断响应。当满足 CPU 响应中断的条件时,CPU 获取响应的中断信息,即中断类型码, 并自动保护某些现场信息,从而转入中断服务处理程序的过程; (4)中断处理。执行中断服务程序,为发出中断请求的中断源服务; (5)中断返回。恢复现场信息,返回被中断的程序。 3、已知(SP)=0100H, (SS)=0300H, (PSW)=0240H,以及 00020H 至 00023H 单元的 内容分别是 40H,00H,00H 和 01H,原来 CS=0900,IP=00A2,求执行 INT8 指令并进入该指 令响应的中断例程时,SP,SS,IP,CS,PSW 和堆栈最上面三个字的内容。 解:SS:SP=0300:00FAH,CS:IP=0100:0040H,PSW=0040H 堆栈最上面三个字的内容分别为:00A2H,0900H,0240H。 4、试编写只有一块 8259A 的 8088 系统中的 8259A 的初始化程序,8259A 的地址为 02C0H 和 02C1H,要求: (1)中断请求输入采用电平触发; (2)IR7 请求的中断类型是 23; (3)采用缓冲器方式; (4)采用普通的 EOI 命令。 解: INTA0 EQU 02C0H INTA1 EQU 02C1H

MOV AL,1BH ; 00011011B MOV DX,INTA0 OUT DX,AL MOV AL,16H MOV DX,INTA1 OUT DX,AL MOV AL,09H; 00001101B OUT DX,AL 5、试根据不同的假设分别编写一段使 8259A 的优先级顺序如下的程序: IR4,IR5,IR6,IR7,IR0,IR1,IR2,IR3 假定 CPU 为 8088,8259A 的偶地址为 20H。假设 1:当前的最高优先级为 IR0;假设 2:当 前的最高优先级为 IR3。 解: (1)MOV AL,11X000011B;将 IR3 设置为最低,IR4 为最高 OUT 20H,AL (2)MOV AL,10X00000B;自动旋转将刚服务完的 IR3 优先权降为最低 OUT 20H,AL 或: 同(1) 。 6、试编写一段将 8259A 中的 IRR、ISR 和 IMR 的内容传送至存储器中从 REG_ARR 开始的数 组中去的程序,假定 CPU 为 8086,8259A 的偶地址为 50H。 解:对于 8086 CPU, 若 8259A 的偶地址为 50H,则奇地址为 52H INTA0 EQU 50H INTA1 EQU 52H MOV AX,SEG REG-ARR MOV ES,AX LEA DI,REG-ARR CLD MOV AL,0AH ;00001010B MOV DX,INTA0 OUT DX,AL ;写 OCW3,设置为读 IRR 方式 IN AL,DX STOSB MOV AL,0BH OUT DX,AL ; 写 OCW3,读 ISR IN AL,DX STOSB MOV IN STOSB DX,INTA1 AL,DX ; 读 IMR

7、设在最大方式下,8086 系统中有一块主 8259A 和一块从 8259A,从 8259A 接至主 8259A 的 IR1 上,主、从 8259A 的偶地址分别是 0200H 和 0210H。主 8259A 的 IR 0 中断类型码是 30H,从 8259A 的 IR0 的中断类型码是 38H。所有请求都是边沿触发,用 EOI 命令清 ISR 位,

两块 8259A 采用级联方式连接。主、从 8259A 的 IMR 都清除, 用作输入。试编写该中断系 统的初始化程序。 解:对于 8086 CPU,若主 8259A 的偶地址为 0200H,则奇地址为 0202H;若从 8259A 的偶 地址为 0210H,则奇地址为 0212H。 ;主 8259A 初始化程序: INTA0 EQU 0200H; INTA1 EQU 0202H MOV AL,11H MOV DX,INTA0 OUT DX,AL MOV AL,30H MOV DX,INTA1 OUT DX,AL MOV AL,02H OUT DX,AL MOV AL,11H OUT DX,AL ;从 8259A 初始化程序: INTA0 EQU 0210H INTA1 EQU 0212H MOV AL,11H MOV DX,INTA0 OUT DX,AL MOV AL,38H MOV DX,INTA1 OUT DX,AL MOV AL,01H OUT DX,AL MOV AL,01H OUT DX,AL ; 00010001B ;ICW1

;ICW2 ;00000010B ;ICW3 ;00010001B ;ICW4

;ICW1

;ICW2 ;ICW3 ;00000001B ;ICW4

8、 若一个中断系统有一块主 8259A 和三块从 8259A, 8259A 分别接在主 8259A 的 IR2, 从 IR3 和 IR6 上,如主 8259A 的 IMR 置成 01010000,各从 8259A 的 IMR 的所有位都清零。除接在 IR3 上的那块 8259A 外,其他 8259A 都按全嵌套方式工作,而接在 IR3 上的那块 8259A 的最 高优先级是 IR5,试按优先级的顺序排列出各未被屏蔽的中断级,最高优先级在前。 解:优先级顺序为: 主: IR0、IR1 从 2: IR0、IR1、IR2、IR3、IR4、IR5、IR6、IR7 从 3: IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4 主: IR5、IR7 9、简单说明中断向量的概念,并指出 8086/8088 中断系统存放中断向量表的内存位置。如 果对应于中断类型号为 40H 的中断处理子程序存放在 1234H:5678H 开始的内存区域中,则

中断向量应如何存放? 解:中断服务处理程序入口地址称为中断向量。 8086/8088 中断系统的中断向量表处于内存开始处 00000H~003FFH 单元的 1K 字节存储区 里。最多可以容纳 256 个中断向量。 从 00100H 单元开始顺序存放:78H,56H,34H,12H。 10、假设 8259A 的地址为 E0000H 和 E0001H,且系统中只有一片 8259A,试画出它与系统总 线的连接图。若允许外部中断源的上升沿触发中断,不需要缓冲,按一般全嵌套方式工作, 中断向量号为 40H,试编写此 8259A 的初始化程序。 解:连接图如图所示。 MOV DX,0E000H MOV AL,13H OUT DX,AL INC DX MOV AL,40H OUT DX,AL MOV AL,01H OUT DX,AL 11、设已编写好类型码为 0CH 的中断服务程序为: INT_ROUT … IRET INT_ROUT ENDP 请编写一段程序,实现该程序的中断矢量在中断矢量表中的装填。 解: (1)MOV AX,0 MOV ES,AX MOV DI,0DH*4 MOV AX,OFFSET INT_ROUT CLD STOSW MOV AX,SEG INT_ROUT STOSW 或者: (2) PUSH MOV AX,SEG MOV MOV MOV MOV INT POP DS INT_ROUT DS,AX DX,OFFSET INT_ROUT AH,25H AL,0DH 21H DS … PROC FAR

第九章 计数器和定时器电路 习题与答案 1、8253 主要由哪几个部分组成? 解:数据总线缓冲器、读写控制电路、控制字寄存器以及三个计数器 2、 (1)8253 内部有哪几个通道?简要说明 CLK、OUT 和 GATE 引脚的含义。 (2)8253-5 通道 2 工作于方式 3,输入时钟频率为 1MHz,OUT 引脚输出周期为 10ms 的方 波。已知通道 0 的口地址为 3F0H,试编写初始化程序段。 解: (1)8253 内部有三个计数通道,计数器#0、#1、#2。 CLK 为时钟信号输入引脚,GATE 为门控信号输入引脚,OUT 引脚根据各种工作方式的 不同,输出各种工作波形。 (2)MOV AL,10010110B MOV DX,3F3H OUT DX,AL MOV AL,1000 MOV DX,3F2H OUT DX,AL 3、8253 使用通道 1,工作在方式 2,要求产生 2ms 的定时中断,8253 的 CLK 输入端的时钟 周期为 0.84?s,试写出初始化程序段。 (假设端口地址为 0FCH~0FFH) 解: 计算 2ms 对应的时间常数 N=2mS/0.84?s=2×1000/0.84=2381=094DH 初始化编程: MOV AL ,75H OUT 0FFH ,AL MOV AL ,81H OUT 0FDH ,AL MOV AL ,23H OUT 0FDH ,AL 4、假设 8253 各端口的地址分别为 40H 一 43H,若计数器 0,OUT 引脚输出 1KHZ 的连续方 波信号;计数器 1,每秒钟产生 18.2 次连续的方波信号;计数器 2,每 15.12?s,输出一 次连续的单脉冲信号。CLK=1.19MHZ。对以上通道进行初始化编程。 解: TC(计数周期)=1/1.19MHZ=0.84?s 计数器 0:N=1000/0.84=1190=04A6H 计数器 1:N=54900/0.84=65357=FF4DH 计数器 2:N=15.12/0.84=18=12H 初始化编程: MOV AL, 36H ;通道 0 OUT 43H, AL

MOV AL, 0A6H OUT 40H, AL MOV AL, 04H OUT 40H, AL MOV AL, 76H ;通道 1 OUT 43H, AL MOV AL, 4DH OUT 41H, AL MOV AL, 0FFH OUT 41H, AL MOV AL,94 H ;通道 2 OUT 43H, AL MOV AL, 12H OUT 42H, AL 5、假设 8253 各端口的地址分别为 40H 一 43H,CLK=1MHZ,若要计数器产生周期为 1s 的 方波,请问使用一块 8253 如何达到目的?并写出初始化编程。 解:在只用一个计数器的情况下。由于计数值: N=1000000/1=106≥65536 故可以采用计数器级联的方式实现题目的要求。 级联方法:计数器 0 的 CLK 接 1MHZ 的时钟脉冲,计数值为 1000,工作于方式 3;再将计数 器 0 的 OUT 接于计数器 1 的 CLK 端口。令计数器 1 也工作于方式 3,计数值为 1000,就可 以在计数器 1 的 OUT 输出得到所需要的方波。 初始化程序: MOV DX, 43H MOV AL, 37H OUT DX, AL MOV AL, 00 MOV DX, 40H OUT DX, AL MOV AL, 10 OUT DX, AL MOV DX, 43H MOV AL, 77H OUT DX, AL MOV AL, 00 MOV DX, 41H OUT DX, AL MOV AL, 10 OUT DX, AL

;初始化计数器 0

;初始化计数器 1

第十章并行输入输出接口芯片 8255A 习题与答案 1、通常并行接口应具有哪些功能? 解: (1)两个或两个以上具有锁存器或缓冲器的数据端口; (2)每个数据端口都有与 CPU 进行联络的控制和状态信息,也有与外设交换信息所必须的 控制和状态信息; (3)通常每个数据端口,还可用中断方式与 CPU 交换信息; (4)有片选和控制电路; (5)可通过编程达到选择端口、传送方向与 CPU 交换信息的方法等目的。 2、8255A 由哪几个主要部分组成? 解: (1)数据端口 A,B,C。而且每个端口都是 8 位; (2)A 组和 B 组控制电路; (3)数据总线缓冲器; (4)读/写控制逻辑。 3、8255A 有哪些控制信号?各有何功能? 解: (1) ——片选信号与 A0,Al 一起确定其端口地址; (2) ——读信号,控制 8255A 送出数据或状态信息至 CPU; (3) ——写信号,控制 CPU 输出的数据或命令到 8255A; (4)RESET——复位信号,清除控制寄存器和将所有端口设置成输入方式。 4、若 8255A 端口 A 工作在方式 2(双向) 。端口 B 能工作在哪种方式? 解: 方式 0、方式 1。 5、若 B 口工作在方式 1 的输出状态时,应执行哪个操作,可禁止它产生中断请求信号? 解: 将 C 口的 PC2 置 0。 6、8255A 工作在方式 1 和方式 2 时.C 口哪些引脚负责中断允许或禁止? 解:方式 1:输入——A 口为 PC4 B 口为 PC2 输出——A 口为 PC6 B 口为 PC2 方式 2:输入——PC4 输出——PC6 7、假设 8255A 芯片起始端口地址为 60H,编写指令序列,分别完成: (1)设置端口 A 组和 B 组都是方式 0,其中端口 B 和 C 是输出口,A 为输入口。 (2)设置端口 A 组为方式 2、B 组为方式 0 且端口 B 为输出。

(3)设置端口 A 组为方式 1 且端口 A 为输入、PC6 和 PC7 为输出;设置端口 B 组为方式 1 且端口 B 为输入。 解: (1)MOV DX, 0063H MOV AX, 0090H OUT DX, AX (2)MOV DX, 0063H MOV AX, 00D0H OUT DX, AX (3)MOV DX, 0063H MOV AX, 00B2H OUT DX, AX 8、现要求用一个 8255 作为终端机的接口。由 PA 通道输出字符到终端机的显示缓冲器,PB 通道用于键盘输入字符,PC 通道为终端状态信息输入通道。当 PC0=1 表示键盘输入字符就 绪, PC7=0 表示显示缓冲器已空。要求用查询方法把从键盘输入的每个字符都送到终端机 的显示缓冲器上,当输入的是回车符(ASCII 码为 0DH)则操作结束。已知控制字格式如下 图所示,并假设该 8255A 芯片的端口地址为 60H-63H。请编写包括 8255 初始化的输入输出 驱动程序。 解: MOV AL,10001011B OUT 63H,AL AGAIN1: IN AL,62H TEST AL,01H JZ AGAIN1 AGAIN2: IN AL,62H TEST AL,80H JNZ AGAIN2 IN AL,61H OUT 60H,AL CMP AL,0DH JNZ AGAIN1

第十一章 串行通信及接口电路 习题与答案 1、串行通信有哪些特点? 解: (1)需要的通信线少(通常为两条),特别适合于远距离传送; (2)传送速度较并行通信慢。 2、串行通信方式有哪两种?

解:异步通信与同步通信 3、串行通信传送编码.主要有哪两种形式? 解: (1)扩展的 BCD 交换码 (2)ASCII 码 4、同步传送中 CPU 与外设有哪些规定? 解: (1)字符格式:起始位、有效数据位(5-8 位)—奇偶校验位—停止位(1-2 位)(有一 种还有空闲位) ; (2)波特率:常用为 50—9600 波特。 5、串行通信在传送过程中,有哪几种方式? 解: 单工;半双工;全双工。 6、同步传送与异步传送有何差别? 解: (1)同步传送的字符格式,仅在开始时使用同步字符(常用为 2 个),因而传送速度可达 十——几百干波特; (2)同步传送需时钟来实现发送端与接收端之间的同步,故硬件较复杂; (3)异步速度比同步慢,硬件较同步简单一些。 7、8250 内部结构,主要由哪几部分组成? 解: (1)发送器,接收器部分: A、发送器; B、接收器; (2)通信控制和状态寄存器: A、LCR——串行通信的数据格式; B、LSR——通信线状态寄存器; (3)波特率发生控制电路 (4)调制解调控制部分: A、调制解调控制寄存器 MCR; B、调制解调状念寄存器 MSR; (5)中断控制: A、中断识别寄存器 IIR; B、中断允许寄存器 IER; 8、8250 有哪些控制字? 解: (1) 通信线控制字(确定通信的数据格式) ; (2) 中断控制字; (3) 调制解调控制字(设置 8250 与通信设备之间联络应答的输出信号) ; (4) 设置波特率的除数锁存器; (5) 状态读出的控制字: A、通信线状态字;

B、调制解调状态字。 9、8250 的初始化编程,有哪几个主要步骤? 解: (1) 为确定波特率设置除数锁存器(D7 应为 1) ; (2)对通信线控制寄存器编程确定通信的数据格式(D7 应为) ; (3)若要使用中断,则应设置中断允许寄存器的状态; (4)设置调制解调控制寄存器。 10、初始化编程应用: 要求以波持率为 9600 进行异步通信,每个字符 7 位,1 个停止位,1 个奇偶校验位,允许所 有中断,试进行初始化编程?假设:异步通信的端口地址为 4E8~4EFH。 解:初始化编程: MOV AL ,80H MOV DX, 4EBH OUT DX, AL MOV AL , 0C H MOV DX, 4E8H OUT DX , AL MOV AL , 0 MOV DX, 4E9H OUT DX , AL MOV AL , 1AH MOV DX, 4EB OUT DX , AL MOV AL , 0FH MOV DX , 4E9H OUT DX , AL MOV AL , 0BH MOV DX , 4ECH OUT DX , AL

第十二章 D/A 与 A/D 转换 习题与答案 1. 什么叫分辨率?什么叫相对转换精度? 答:分辨率:这个参数是 D/A 转换器对微小输入量变化的敏感程度的描述。用数字量的位数 来表示,如 8 位、10 位等。对于一个分辨率为 n 位的转换器,它能对刻度的 2-n 输入作出 反应。 相对转换精度:指满刻度已校准的情况下,在整个刻度范围内,对应于任一数码的模拟量输 出与它的理论值之差。 2. 在 T 型电阻网络组成的 D/A 转换器中,设开关 S0、S1、S2、S3 分别对应一位二进 制数,当二进制数据为 1011 时,流入运算放大器的电流为多少?以图 8-1 为例。 答:I = [(20*D0+21*D1+22*D2+…+2n-1*Dn-1)/2n]* VREF/2R; I = 13 VREF/32R。

3. 用带两级数据缓冲器的 D/A 转换器时,为什么有时要用三条输出指令才完成 16 位 或 12 位数据转换? 答: 当主机位数小于 DAC 芯片位数时, 我们需要对连接方式作出调整。 如果仍采用 8 位 CPU, 则被转换的数据必须分几次送出; 同时, 就需要多个锁存器来锁存分几次送来的完整的数字 量。这种情况下,可采用双缓冲器结构。CPU 输出时,先输出低 8 位给第一级锁存器(此时 第二级锁存器不通) ,然后输出高 4 位给第一级锁存器。等这两者都输出后,再输出一个打 开第二级锁存器的选通脉冲,把 16 位或 12 位数据输给 D/A 转换,这样可避免毛刺。 如图: 4. 使用 DAC0832 进行数/模转换时,有哪两种方法可对数据进行锁存? 答: 单缓冲方式:LE1 或 LE2 一直为高,只控制其中一级寄存器。 第一种方法是使输入寄存器工作在锁存状态,而 DAC 寄存器工作在不锁存状态。使 和 为 低电平,这样,DAC 寄存器的锁存端得不到有效电平;另一方面,使输入寄存器的有关控制 信号中,ILE 处于高电平, 处于低电平。这样,当 端来一个负脉冲时,就可以完成一次变 换。 第二种方法是使输入寄存器工作在不锁存状态,而使 DAC 寄存器工作在锁存状态。使 为低 电平, 为低电平而 ILE 为高电平,这样,输入寄存器的锁存信号处于无效状态;另外, 和 端输入一个负脉冲,从而使 DAC 寄存器工作在锁存状态。 双缓冲方式:不让 LE1 和 LE2 一直为高,控制两级寄存器。 控制 LE1 从高变低,将从 DI0~DI7 输入的数据存入输入寄存器。控制 LE2 由高变低,则将输 入寄存器的数据存入 DAC 寄存器,开始 D/A 转换。双缓冲方式能做到对某个数据进行 D/A 转换的同时,输入下一个数据,适用于要求多个模拟量同时输出的场合。 5. 设计一个电路和相应程序完成一个锯齿波发生器的功能,使锯齿波呈正向增长且锯 齿波周期可调。 电路如下: 产生锯齿波只须将输出到 DAC 0832 的数据由 0 循环递增,程序如下: MOV AL, 0 ;初始值 MOV AX, 290H ;D/A 转换器的端口地址 CYCLE: INC AL OUT AX, CL JMP CYCLE ;若无则转 CYCLE 上面程序在执行时得到的输出电压将为连续上升的锯齿波, 我们可以利用延迟来调整锯齿波 的周期。程序如下: MOV AL, 0 ;初始值 MOV DX, 290H ;D/A 转换器的端口地址 CYCLE: INC AL OUT CALL JMP MOV DELAY: RET DX, AL ;往 D/A 转换器输出数据 DELAY CYCLE ;若无则转 CYCLE CX, TIMES ;TIMES 为延迟常数 LOOP DELAY

6. 什么叫模/数转换精度?什么叫转换率?什么叫分辨率? 模/数转换绝对精度:指对应于一个给定的数字量的实际模拟量输入与理论模拟量输入之 差。实际上对应于同一个数字量其模拟量输入不是固定值,而是一个范围。 模/数转换相对精度: 在整个转换范围内, 任一数字量所对应的模拟输入量实际值与理论值 之间的差。 转换率:完成一次 A/D 转换所须的时间,在大多数情况下,转换率是转换时间的倒数。 分辨率:这个参数是 A/D 转换器对微小输入量变化的敏感程度的描述。

7. 说明并行比较、双积分式和逐次逼近式 A/D 转换的工作原理。 答: 并行比较 ADC 由电阻分压器、比较器、缓冲器及编码器四部分组成。这种结构的 ADC 所有 位的转换同时完成, 其转换时间主要取决于比较器的开关速度、 编码器的传输时间延迟等。 双积分式 ADC 的基本原理是通过两次积分将输入的模拟电压转换成与其平均值成正比的时 间间隔。与此同时,在此时间间隔内利用计数器对时钟脉冲进行计数,从而实现 A/D 转换。 逐次逼近型 ADC 是应用非常广泛的模/数转换方法,它由比较器、D/A 转换器、比较寄存器 SAR、时钟发生器以及控制逻辑电路组成,将采样输入信号与已知电压不断进行比较,然后 转换成二进制数。 8. 比较并行比较、双积分式和逐次逼近式 A/D 转换的优缺点。 答: 并行比较 ADC 特点增加输出代码对转换时间的影响较小,但随着分辨率的提高,需要高密 度的模拟设计以实现转换所必需的数量很大的精密分压电阻和比较器电路。 积分型 ADC 两次积分的时间都是利用同一个时钟发生器和计数器来确定,其转换精度只取 决于参考电压 。此外,由于输入端采用了积分器,所以对交流噪声的干扰有很强的抑制能 力。 若把积分器定时积分的时间取为工频信号的整数倍, 可把由工频噪声引起的误差减小到 最小,从而有效地抑制电网的工频干扰。这类 ADC 主要应用于低速、精密测量等领域,如 数字电压表。其优点是:分辨率高,可达 22 位;功耗低、成本低。缺点是:转换速率低, 转换速率在 12 位时为 100~300sps。 逐次逼近 ADC 的优点:高速,采样速率可达 1Msps;与其它 ADC 相比,功耗相当低;在分 辨率低于 12 位时,价格较低。缺点:在高于 14 位分辨率情况下,价格较高;传感器产生的 信号在进行模/ 数转换之前需要进行调理,包括增益级和滤波,这样会明显增加成本。 9. 在实时控制和实时数据处理系统中,当需要同时测量和控制多路信息时,常用什么 方法解决? 答:以 ADC0809 为例,模拟输入部分提供一个 8 通道的多路开关和寻址逻辑,可以接入 8 个输入电压,由三位地址输入 ADDA、ADDB、ADDC 的不同组合来选择。我们可查询状态端 口确定转换是否完成。当 ADC0809 工作在查询模式时,利用 ADC0809 芯片有 8 路模拟信号 输入通道的多路开关,可以实现 8 个模拟信号的分时转换。

第十三章 Pentium 微处理器 习题与答案

1、 Pentium 微处理器的 引脚有何作用? 解: 信号用于通知 Pentium 微处理器数据已传输完毕,可用于向时序中插入等待状态。 2、 Pentium 微处理器可以同时执行三条指令吗?为什么? 解: 可以。 由于在 Pentium 处理器中内置了彼此独立的两条整型指令流水线和一条浮点指令流水 线,因此系统能够在一个时钟周期内同时处理三条指令,只要他们不是相互依赖的。 3、 什么是 Pentium 的系统存储器管理工作模式? 中断时 Pentium 从哪里开始执行服务程 序? 解: 系统存储管理模式是由 Pentium 处理器的存储器管理中断输入访问的一种特殊模式。 中断 时 Pentium 从地址 38000H 开始执行服务程序。 4、 请简单描述 Pentium 微处理器如何访问 4MB 的页? 解:Pentium 微处理器通过使用页目录来访问 4MB 页,页目录存储 4MB 内存页的页基地址 而不是页表地址。 5、若总线周期指示信息 M/IO#、D/C#、W/R#、CACHE#、KEN#为 0 1 1 1 x,总线周期的类型 是什么? 解:非缓存式 I/O 写总线周期。 6、试描述下页图所示的总线周期操作: 解:为流水线式读写周期,第一个总线周期为缓存式突发读操作,第二个总线周期为非缓存 式单次传送写操作。

第十三章 Pentium 微处理器 习题与答案 1、 Pentium 微处理器的 引脚有何作用? 解: 信号用于通知 Pentium 微处理器数据已传输完毕,可用于向时序中插入等待状态。

2、 Pentium 微处理器可以同时执行三条指令吗?为什么? 解: 可以。 由于在 Pentium 处理器中内置了彼此独立的两条整型指令流水线和一条浮点指令流水 线,因此系统能够在一个时钟周期内同时处理三条指令,只要他们不是相互依赖的。 3、 什么是 Pentium 的系统存储器管理工作模式? 中断时 Pentium 从哪里开始执行服务程 序? 解: 系统存储管理模式是由 Pentium 处理器的存储器管理中断输入访问的一种特殊模式。 中断 时 Pentium 从地址 38000H 开始执行服务程序。 4、 请简单描述 Pentium 微处理器如何访问 4MB 的页? 解:Pentium 微处理器通过使用页目录来访问 4MB 页,页目录存储 4MB 内存页的页基地址 而不是页表地址。 5、若总线周期指示信息 M/IO#、D/C#、W/R#、CACHE#、KEN#为 0 1 1 1 x,总线周期的类型 是什么? 解:非缓存式 I/O 写总线周期。 6、试描述下页图所示的总线周期操作: 解:为流水线式读写周期,第一个总线周期为缓存式突发读操作,第二个总线周期为非缓存 式单次传送写操作。


赞助商链接
相关文章:
微机原理习题答案(完整版)
微机原理习题答案(完整版)_工学_高等教育_教育专区。第一章习题答案 1-1 请说明 CPU 的功能以及 CPU 是如何执行指令和程序的。 答:CPU 的功能是执行程序和...
微机原理习题解答
微机原理习题解答_理学_高等教育_教育专区。全国高等学校“十 一五”重点规划教材 现代微型计算机原理 与接口技术教程(习题解答) 主编:杨文显 副主编:杨晶鑫编 著...
微机原理习题答案567
微机原理习题答案(最新整合... 33页 5财富值 微机原理复习题答案101118 15页 2财富值 《微型计算机原理与接口技... 43页 5财富值如要投诉违规内容,请到百度文...
李伯成《微机原理》课后习题答案
李伯成《微机原理》 李伯成《微机原理习题 第三章 本章作业参考书目: 本章作业参考书目: 1.周明德: 微型计算机 IBM-PC 系统原理与应用 周明德: 周明德 2....
微机原理练习题及答案
微机原理练习题及答案_工学_高等教育_教育专区。第一章 微型计算机的基础知识 习题 1. 计算机分那几类?各有什么特点? 2. 简述微处理器、微计算机及微计算机系统...
微机原理(王忠民版 课后答案)
微机原理(王忠民版 课后答案)_工学_高等教育_教育专区。微机原理课后答案 部分习题答案 第二章 计算机中的数值和编码 1、 将十进制数转换为二进制和十六进制 (1...
微机原理习题答案
微机原理习题答案 - 微型计算机原理及应用 习题集 专业班级 学姓号名 目录 第 1 章 概述 ...
微机原理习题答案1234章
微机原理习题答案1234章_工学_高等教育_教育专区。微机原理与接口技术 习题解答 - 0 - 第 1 章 数制与码制 1. 将下列十进制数转换成二进制数: (1)58; (...
微机原理习题与答案
5页 5财富值 微机原理习题答案(完整版) 28页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
微机原理习题答案5678910章
20. 微机在执行指令 MOV [DI],AL 时,将送出的有效信号有 B C A.RESET B.高电平的 M/IO 信号 C. WR D. RD 。 21. 设指令 MOV AX,DATA 已被取...
更多相关文章: