当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

北京大学:《微机原理 Microcomputer Principle 微机与接口技术》课程资源_作业习题(部分习题参考答案)

资源类别:文库,文档格式:PDF,文档页数:10,文件大小:136.23KB,团购合买
点击下载完整版文档(PDF)

部分习题参考答案 习题 1.计算机由五大部件组成,采用二进制,存储程序并用程序控制(参见5.1.1小节)。存 储程序,用程序控制(参见5.1小节)。 2.参见书图5.1及5.2.1小节 3.参见书图5.5及522小节 4.参见52.1小节的4(1),参见52.小节的1和521小节的4 5.参见书图5.3及52.1小节的2。 6.参见书图54及52.1小节的4 7.参见书图57及522小节的2。 8.最大寻址空间是22=-16M,地址范围是0~224-1。0~65535,-32768~+32767 9.(1)算术逻辑部件(2)每秒百万条指令(3)随机访问存储器(4)只读存储器 (5)见52.1小节1(6)见543小节2(7)见543小节2(8)见54.3小节2 (9)见522小节1(10)见522小节1(11)见52小节4(2)(12)见521小节4(2) 10.(1) PCout、 MARin,占用。 (2)M读,不占用 (3)M写,不占用。 (4) Clout、add,占用。 11.取指令的过程参见543小节的2。执行指令的过程如下 (1)“ADDM,R”的执行过程 (2)“ADDR1,R2”的执行过程 T3:IR(地址段)→MAR( TRout, MARin) T3:Rl→Y (RIo DBUS→MDR T4:Y+R2→Z(R2out,ad) T4:MDR→Y (MDRout, Yin) T5:Z→R (Zout, RIin ( Rout, add (3)“JMPA(PC)”的执行过程: T6:IR地址段)→MAR( TRout, MARin) T3:IR(数据A)→Y(Rout,Yin) 7:Z→MDR (Zout, MDRin) T4:Y+PC→Z MDR→DBUS (M写) 习题 2.通用寄存器EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDl:指令指针寄存器EIP; 标志寄存器 EFLAGS;段寄存器CS、DS、ES、SS、FS、GS。 7.两者的物理地址均为12345H。 8段基值为27ABH。 9.代码段首地址为20100H,末地址为300FFH;数据段首地址为30100H,末地址为 400FFH 10.DS寄存器的内容为1000H。 13.堆栈段在存储器中的物理地址范围是21000H~30FFFH;在当前堆栈段中存入10 个字节数据后,SP的内容为0800H 14.需给出的段基值为1200H,偏移量为1008H和1009H。 习题三 1.(1)1234H,5678H,3007H,9ABCH,300BH (2)相同 2C3=12,是W中和B中数据的总字节数:C4=8,是W中数据的总字节数 (1)AL=0(2)AL=254(3)AX=4(4)AX=064lH 3.(1)2 (2) OFFEIH(3)X、Y的最小值 4.(1)①过程开始②段开始 ③宏开始 (2)①过程结束②段结束 ③宏结束 ④模块结束

部分习题参考答案 习题一 1. 计算机由五大部件组成,采用二进制,存储程序并用程序控制(参见 5.1.1 小节)。存 储程序,用程序控制(参见 5.1 小节)。 2. 参见书图 5.1 及 5.2.1 小节。 3. 参见书图 5.5 及 5.2.2 小节。 4. 参见 5.2.1 小节的 4(1),参见 5.2.1 小节的 1 和 5.2.1 小节的 4。 5. 参见书图 5.3 及 5.2.1 小节的 2。 6. 参见书图 5.4 及 5.2.1 小节的 4。 7. 参见书图 5.7 及 5.2.2 小节的 2。 8. 最大寻址空间是 224=16M,地址范围是 0~224-1。0~65535,-32768~+32767。 9. (1) 算术逻辑部件 (2) 每秒百万条指令 (3) 随机访问存储器 (4) 只读存储器 (5) 见 5.2.1 小节 1(6) 见 5.4.3 小节 2 (7) 见 5.4.3 小节 2 (8) 见 5.4.3 小节 2 (9) 见 5.2.2 小节 1(10) 见 5.2.2 小节 1(11) 见 5.2.1 小节 4(2) (12) 见 5.2.1 小节 4(2) 10. (1) PCout、MARin,占用。 (2) M 读,不占用。 (3) M 写,不占用。 (4) R1out、add,占用。 11. 取指令的过程参见 5.4.3 小节的 2。执行指令的过程如下: (1) “ADD M, R”的执行过程: (2) “ADD R1, R2”的执行过程: T3: IR(地址段)→MAR (IRout, MARin) T3:R1→Y (R1out, Yin) DBUS→MDR (M 读) T4:Y+R2→Z (R2out, add) T4: MDR→Y (MDRout, Yin) T5: Z→R1 (Zout, R1in) T5: Y+R→Z (Rout, add) (3) “JMP A(PC)”的执行过程: T6: IR(地址段)→MAR (IRout, MARin) T3: IR(数据 A)→Y (IRout, Yin) T7: Z→MDR (Zout, MDRin) T4: Y+PC→Z (PCout, add) MDR→DBUS (M 写) T5: Z→PC (Zout, PCin) 习题二 2. 通用寄存器 EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI;指令指针寄存器 EIP; 标志寄存器 EFLAGS;段寄存器 CS、DS、ES、SS、FS、GS。 7. 两者的物理地址均为 12345H。 8. 段基值为 27ABH。 9. 代码段首地址为 20100H,末地址为 300FFH;数据段首地址为 30100H,末地址为 400FFH。 10. DS 寄存器的内容为 1000H。 13. 堆栈段在存储器中的物理地址范围是 21000H~30FFFH;在当前堆栈段中存入 10 个字节数据后,SP 的内容为 0800H。 14. 需给出的段基值为 1200H,偏移量为 1008H 和 1009H。 习题三 1. (1) 1234H, 5678H, 3007H, 9ABCH, 300BH (2) 相同 2. C3=12, 是 W 中和 B 中数据的总字节数;C4=8, 是 W 中数据的总字节数 (1) AL=0 (2) AL=254 (3) AX=-4 (4) AX=0641H 3. (1) 2 (2) 0FFE1H (3) X、Y 的最小值 4. (1) ① 过程开始 ② 段开始 ③ 宏开始 (2) ① 过程结束 ② 段结束 ③ 宏结束 ④ 模块结束 1

搭配关系是:①和①搭配,②和②搭配,③和③搭配 5.变量名:N3 标号 N4 过程名:N2,N8 段名:N1,N7 符号名:N5常量名:N9 宏名:N6 6.(1)2BC3H,0004H, (2)①BX=0②BX=2BC3H③BX=1④BX ⑤BX=1 ⑥BX=3⑦BX=3 ⑧BX=6⑨BX=4149HBL=0 7.(1)错误。除DB外,均不能使用超过2个字符的字符串作为立即数:12345H太大 A3B4H左边应加0 (2)语法正确,但指令“ MOV AL,B+2”的执行结果未知。 00H,30H,30H,00H,30H,30H,00H,0OH,3OH,35H,00H,6丌H,76H,67H,76H;3个。 9. (1)A DW 6844H, IAFDH, OBC8H (2)B DB 87H, 62H, 9AH, 00H, 23H, OFH, OA6H, OOH (3)C DB 2 DUP(23), 5 DUPA),10 DUP(1, 2), 20 DUP(?) (4)D EQU S-A (5)XI EQU B-A X2 EQU S-B EDWⅩ1-X2 10.(1)X为字节变量,其初值为89H;Y为常量,其值为89H (2)X为字变量,其初值为7805H:;Y为字节变量,其初值为05H (3)X、Y都为常量,其值都是38。X不能重复定义,Y可以重复定义 62(4x为一个字变量,存储次序为8H,62H:Y起为两个字节变量,存储次序为 (5)X、Y都为字变量。X的初值为5816H,Y的初值为16B8H 1l.(1)错误:387超过一个字节。(2)正确。(3)错误:K没有定义 (4)正确。(5)错误:F被重复定义。(6)正确。(7)错误:SEG应为SEGM (8)错误:ENDP左边应有名字I。(9)错误:ENDM左边不应有名字。 习题四 1.(1)寄存器寻址,基址变址寻址;BO00H(2)寄存器相对寻址,寄存器寻址 27004H (3)立即寻址,寄存器间接寻址:26000H 4)寄存器寻址,寄存器间接寻址 17FFEH (5)寄存器间接寻址,寄存器寻址:260004(6)寄存器寻址,寄存器间接寻址 37000H (7)直接寻址,寄存器寻址;2123AH (8)基址变址相对寻址,寄存器寻 址;2B008H (9)直接寻址:21234H (10)直接转移:无物理地址 2.(1)错误。源与目的的类型(位数)不匹配(2)正确。数据可以存于代码段 (3)错误。寄存器左边不能用减号 (4)错误。立即数不能作为目的操作数 (5)正确。 OFFSET B是立即数 (6)正确。源操作数的值没超过8位 (8)错误。 WORD PTR右边只能是存 储器 (9)错误。没有“基址+基址”寻址方式(10)错误。BX-2整体应加方括号 (11)正确。 (12)错误。CS不能作为目的操作数

搭配关系是: ①和①搭配,②和②搭配,③和③搭配。 5. 变量名: N3 标号: N4 过程名: N2, N8 段名: N1, N7 符号名: N5 常量名: N9 宏名: N6 6. (1) 2BC3H, 0004H, ′T′ (2) ① BX=0 ② BX=2BC3H ③ BX=1 ④ BX=2 ⑤ BX=1 ⑥ BX=3 ⑦ BX=30 ⑧ BX=6 ⑨ BX=4149H BL=0 7. (1) 错误。除 DB 外,均不能使用超过 2 个字符的字符串作为立即数;12345H 太大; A3B4H 左边应加 0。 (2) 语法正确,但指令“MOV AL, B+2”的执行结果未知。 8. 00H, 30H, 30H, 00H, 30H, 30H, 00H, 00H, 30H, 35H, 00H, 67H, 76H, 67H, 76H;3 个。 9. (1) A DW 6844H, 1AFDH, 0BC8H (2) B DB 87H, 62H, 9AH, 00H, 23H, 0FH, 0A6H, 00H (3) C DB 2 DUP(23), 5 DUP(′A′), 10 DUP(1, 2), 20 DUP(?) (4) D EQU $-A (5) X1 EQU B-A X2 EQU $-B E DW X1-X2 10. (1) X 为字节变量,其初值为 89H;Y 为常量,其值为 89H (2) X 为字变量,其初值为 7805H;Y 为字节变量,其初值为 05H (3) X、Y 都为常量,其值都是 38。X 不能重复定义,Y 可以重复定义 (4) X 为一个字变量,存储次序为 88H,62H;Y 起为两个字节变量,存储次序为 62H,88H (5) X、Y 都为字变量。X 的初值为 5816H,Y 的初值为 16B8H 11. (1) 错误: 387 超过一个字节。 (2) 正确。 (3) 错误: K 没有定义。 (4) 正确。 (5) 错误: F 被重复定义。 (6) 正确。 (7) 错误: SEG 应为 SEGM ENT。 (8) 错误: ENDP 左边应有名字 I。 (9) 错误: ENDM 左边不应有名字。 习题四 1. (1) 寄存器寻址,基址变址寻址;1B000H (2) 寄存器相对寻址,寄存器寻址; 27004H (3) 立即寻址,寄存器间接寻址;26000H (4) 寄存器寻址,寄存器间接寻址; 17FFEH (5) 寄存器间接寻址,寄存器寻址;26000H (6) 寄存器寻址,寄存器间接寻址; 37000H (7) 直接寻址,寄存器寻址;2123AH (8) 基址变址相对寻址,寄存器寻 址;2B008H (9) 直接寻址;21234H (10) 直接转移;无物理地址 2. (1) 错误。源与目的的类型(位数)不匹配 (2) 正确。数据可以存于代码段 (3) 错误。寄存器左边不能用减号 (4) 错误。立即数不能作为目的操作数 (5) 正确。OFFSET B 是立即数 (6) 正确。源操作数的值没超过 8 位 (7) 错误。不能显式用 SP 寻址 (8) 错误。WORD PTR 右边只能是存 储器 (9) 错误。没有“基址+基址”寻址方式 (10) 错误。BX-2 整体应加方括号 (11) 正确。 (12) 错误。CS 不能作为目的操作数 2

(13)正确。(14)错误。258H超过8位,应使用DX寻址 (15)错误。移位次数大于1,应使用CL(16)错误。应改为 INC AL (17)错误。操作数的类型(位数)不确定(18)错误。两个操作数不能都是存 储器 (19)错误。源与目的的类型(位数)不匹配(20)错误。用于指明操作位数的操 作数不能是立即数 3.(1)前者将常数1000H送AX,后者将存储单元的内容(DS1000送AX。后者的 1000H为偏移地址 (2)前者将BX的内容送AX,后者将存储单元的内容(DSBX)送AX。后者的BX为偏 移地址。 (3)前者将常数N送AX,后者将存储单元的内容DSW)送AX。后者的W为偏移地址。 (4)两者都将存储器的内容(DSBX+位移量送AX。前者位移量是常数,后者位移量是 W的偏移地址 (5)两者都将CL送存储单元(段寄存器:SI)。前者送堆栈段,后者送数据段。 (6)前者将常数5送AL。后者将5号端口的内容送AL。后者的5是端口号 (7)前者将存储单元的内容ODSW送AX,后者将存储单元W的偏移地址送AX (8)两者都完成AX∧BX的运算。前者将运算结果送AX,后者不将运算结果送AX (9)两者都完成AX-BX的运算。前者将运算结果送AX,后者不将运算结果送AX。 (10)两者都完成SH+1→SI的运算。前者不影响CF位,后者影响CF位。 (11)两者都完成D1-1→D的运算。前者不影响CF位,后者影响CF位 (12)前者完成“0-AX→AX”(即逐位求反后再加1,但进位相反)的运算,后者只将AX 逐位求反。 4.(1) MOV AX,0908H。其中,0908H是常用的未组合BCD码数形式 (2)MOV WORD PTR B, 3432H 5.(1) MOV CX,B+(7-1)*2(2) LEA BX,B+(7-1)*2 MOV CX, BX] (3)LEA BX, B (4)LEA BX, B MOV CX,[BX+(7-1)*2] MOSI,(7-1)*2 MOV CX, [BX+SI] 6.可有如下的3种解答。其中,B是数据表首字节的偏移地址 (1)MOV AH, O (2)MOV AH, 0 (3)MOV AH, 0 ADD BX. AX MOV SL.AX MOV SLAX MOV AL, [BX] MOV AL, B [SI MOV AL, [BX+SI 7.若BL中为无符号数,则用下述的程序段(1)实现,若BL中为带符号数,则用下述的 程序段(2)实现 (D)MOV BH, 0 AL BL MOV BH. AH 8.(1) LDS BX,DS:[1234H] (2)LEA DL, [BX+SI+20] 9.下面的每一个指令序列都能达到目的: (1)NOT AL (2)AND AL, 55H ()AND AL, 55H OR AL. OAAH NOT AL XOR AL. OFFH (4)XOR AL, 55H (5)OR AL, OAAH OR AL. OAAH XOR AL. 55H

(13) 正确。 (14) 错误。258H 超过 8 位,应使用 DX 寻址 (15) 错误。移位次数大于 1,应使用 CL (16) 错误。应改为 INC AL (17) 错误。操作数的类型(位数)不确定 (18) 错误。两个操作数不能都是存 储器 (19) 错误。源与目的的类型(位数)不匹配 (20) 错误。用于指明操作位数的操 作数不能是立即数 3. (1) 前者将常数 1000H 送 AX,后者将存储单元的内容(DS:1000H)送 AX。后者的 1000H 为偏移地址。 (2) 前者将 BX 的内容送 AX,后者将存储单元的内容(DS:BX)送 AX。后者的 BX 为偏 移地址。 (3) 前者将常数 N 送 AX,后者将存储单元的内容(DS:W)送 AX。后者的 W 为偏移地址。 (4) 两者都将存储器的内容(DS:BX+位移量)送 AX。前者位移量是常数,后者位移量是 W 的偏移地址。 (5) 两者都将 CL 送存储单元(段寄存器: SI)。前者送堆栈段,后者送数据段。 (6) 前者将常数 5 送 AL。后者将 5 号端口的内容送 AL。后者的 5 是端口号。 (7) 前者将存储单元的内容(DS:W)送 AX,后者将存储单元 W 的偏移地址送 AX。 (8) 两者都完成 AX∧BX 的运算。前者将运算结果送 AX,后者不将运算结果送 AX。 (9) 两者都完成 AX-BX 的运算。前者将运算结果送 AX,后者不将运算结果送 AX。 (10) 两者都完成 SI+1→SI 的运算。前者不影响 CF 位,后者影响 CF 位。 (11) 两者都完成 DI-1→DI 的运算。前者不影响 CF 位,后者影响 CF 位。 (12) 前者完成“0-AX→AX”(即逐位求反后再加 1,但进位相反)的运算,后者只将 AX 逐位求反。 4. (1) MOV AX, 0908H。其中,0908H 是常用的未组合 BCD 码数形式。 (2) MOV WORD PTR B, 3432H 5. (1) MOV CX, B+(7-1)*2 (2) LEA BX, B+(7-1)*2 MOV CX, [BX] (3) LEA BX, B (4) LEA BX, B MOV CX, [BX+(7-1)*2] MOV SI, (7-1)*2 MOV CX, [BX+SI] 6. 可有如下的 3 种解答。其中,B 是数据表首字节的偏移地址。 (1) MOV AH, 0 (2) MOV AH, 0 (3) MOV AH, 0 ADD BX, AX MOV SI, AX MOV SI, AX MOV AL, [BX] MOV AL, B[SI] MOV AL, [BX+SI] 7. 若 BL 中为无符号数,则用下述的程序段(1)实现,若 BL 中为带符号数,则用下述的 程序段(2)实现: (1) MOV BH, 0 (2) MOV AL, BL CBW MOV BH, AH 8. (1) LDS BX, DS:[1234H] (2) LEA DI, [BX+SI+20] 9. 下面的每一个指令序列都能达到目的: (1) NOT AL (2) AND AL, 55H (3) AND AL, 55H OR AL, 0AAH NOT AL XOR AL, 0FFH (4) XOR AL, 55H (5) OR AL, 0AAH OR AL, 0AAH XOR AL, 55H 3

10.下面(1)中的每一条指令都能将AX的所有各位清0,(2)中的每一条指令都能将AX的 所有各位置13)中的每一条指令都能将AX的所有各位求反 MOV AX. O )①MOv 3)① NOT AX ② AND AX,0000H ②ORAX, OFFFFH② XOR AX, OFFFFH AXAX 在上述(1)和(2)中,MOⅤ指令不影响任何标志位,其余指令都使CF=OF=0:在(3)中, NOT指令不影响任何标志位,其余指令都使CF=OF=0 11.下面的每条指令都能达到目的: (1)TEST AX, AX (2)TEST AX, OFFFFH (3)AND AX, A> (4)AND AX, OFFFFH (5)OR AX, AX (6)OR AX, 0 (7XOR AX, 0 测试后,若ZF=1则可知AX=0,否则AX≠0:若SF=1则可知AX的最高位为1,否 则AX的最高位为0;若PF=1则可知AX的低8位中有偶数个1,否则AX的低8位中有奇 数个1。 12.(1)1lo1101B (2)l01l0110B (3)0011011B (4)10110 110B 13.可有两种解答 (1)乘以权值求和法 (2)乘以基数累加法 MOVAH. O MOV AH.O MOV BX.AX MOV BX. AX SHL AX. CL SHL AX. CL MOV DX. AX ADD AX BX SHL AX. CL SHL AX. CL ADD AX ADD AX BX ADD AX BX 14.①AL=80H②AL=1③AL=0FFH④AL=38H 15.(1)AX=12C5H;OF=0,SF=1,ZF=0,AF=0,PF=1,CF=0。 (2)AX=12A3H; OF=l, SF=l, ZF=0, AF=0, PF=l, CF= (3)AX=1D74H;OF=CF=1,其余的状态标志不确定 (4)AX=0E974H;OF=CF=1,其余的状态标志不确定。 (5)AX=1420H;所有的状态标志都不确定。 (6)AX=6DD7H;所有的状态标志都不确定 16.(1)下面的每一条指令都能达到目的 MOV AL.-15 MOV AL -OFH MOV AL OFIH MOV AL. 24 (2)可用多种解法 ① XORAL,80H ② NEGAL ③ XOR AL,7FH NEG AL XOR AL. 80H ADD AL ④ SUB AL ⑤ SUB AL,8H ⑥ NOT AL XOR AL. 7FH NOT AL ADD AL SIH 显然,①中的“ XOR AL,80H”可用“ AND AL,7FH”代替,②中的“ XOR AL,80H” 可用“ORAL,80H”代替,也可用“ ADD AL,80H”代替。 (3)①“ SUB AL,1”或“ DEC AL”或“ ADD AL,-1

10. 下面(1)中的每一条指令都能将AX的所有各位清0,(2)中的每一条指令都能将AX的 所有各位置 1,(3)中的每一条指令都能将 AX 的所有各位求反: (1) ① MOV AX, 0 (2) ① MOV AX, -1 (3) ① NOT AX ② AND AX, 0000H ② OR AX, 0FFFFH ② XOR AX, 0FFFFH ③ XOR AX, AX ④ SUB AX, AX 在上述(1)和(2)中,MOV 指令不影响任何标志位,其余指令都使 CF=OF=0;在(3)中, NOT 指令不影响任何标志位,其余指令都使 CF=OF=0。 11. 下面的每条指令都能达到目的: (1) TEST AX, AX (2) TEST AX, 0FFFFH (3) AND AX, AX (4) AND AX, 0FFFFH (5) OR AX, AX (6) OR AX, 0 (7) XOR AX, 0 测试后,若 ZF=1 则可知 AX=0,否则 AX≠0;若 SF=1 则可知 AX 的最高位为 1,否 则 AX 的最高位为 0;若 PF=1 则可知 AX 的低 8 位中有偶数个 1,否则 AX 的低 8 位中有奇 数个 1。 12. (1) 11011011B (2) 10110110B (3) 01011011B (4) 10110 110B 13. 可有两种解答: (1) 乘以权值求和法 (2) 乘以基数累加法 MOVAH, 0 MOV AH, 0 MOV CL, 2 MOV CL, 2 MOV BX, AX MOV BX, AX SHL AX, CL SHL AX, CL MOV DX, AX ADD AX, BX SHL AX, CL SHL AX, CL ADD AX, DX ADD AX, BX ADD AX, BX 14. ① AL=80H ② AL=1 ③ AL=0FFH ④ AL=38H 15. (1) AX=12C5H;OF=0,SF=1,ZF=0,AF=0,PF=1,CF=0。 (2) AX=12A3H;OF=1,SF=1,ZF=0,AF=0,PF=1,CF=1。 (3) AX=1D74H;OF=CF=1,其余的状态标志不确定。 (4) AX=0E974H;OF=CF=1,其余的状态标志不确定。 (5) AX=1420H;所有的状态标志都不确定。 (6) AX=6DD7H;所有的状态标志都不确定。 16. (1) 下面的每一条指令都能达到目的: MOV AL, -15 MOV AL, -0FH MOV AL, 0F1H MOV AL, 241 (2) 可用多种解法: ① XORAL, 80H ② NEGAL ③ XOR AL, 7FH NEG AL XOR AL, 80H ADD AL, 1 ④ SUB AL, 1 ⑤ SUB AL, 81H ⑥ NOT AL XOR AL, 7FH NOT AL ADD AL, 81H 显然,①中的“XOR AL, 80H”可用“AND AL, 7FH”代替,②中的“XOR AL, 80H” 可用“OR AL, 80H”代替,也可用“ADD AL, 80H”代替。 (3) ① “SUB AL, 1”或“DEC AL”或“ADD AL, -1” 4

② NEG AL ③“ NOT AL”或“ XOR AL,OFFH ④“ INC AL”或“ ADD AL,1” ⑤“ DEC AL”或“ SUB AL,1” ⑥“ SHL AL,1”或“ SAL AL,1” ⑦“ SHR AL,1” ⑧“ SAR AL,1” ⑨ MUL AL IMUL AL 17.(1) MOV AH, AL (2) MOV AH, 0 MOV DX 0 MOV CX MOv CX.8 LI: ROL AL AL.I RCL AH RCL DX. I ROL AL. 1 SHL AH. 1 LOOP LI RCL DX. I MOV CX. 4 LOOP L L2 ROL AL. I MOV AX. DX ROL AL I RCL AH 1 LOOP L2 MOV AL AH 18.执行AAA指令后,AX=0104H;若执行的是DAA指令,则AX=0074H。 19.若下述左边程序段的转移距离超过了8位补码的表数范围,则改成下述右边的指令 序列即可。 JZL JNZ M JMP L M: JMP 20.(1)条件短转移(2)无条件短转移(3)无条件近转移(4)无条件远转移 21.从(SP+1,SP)“弹出”,SP=56H。 22.(1)前者仅将存储器字节单元(DSS)的内容送入AL,后者除了完成前者的操作外, 还将SI+1→SI(若DF=0),或者SL-l→SI(若DF=1) (2)前者仅将AL的内容送入存储器字节单元(ESD),后者除了完成前者的操作外, 还将D+1→D(若DF=0),或者D-l→D(若DF=1); (3)前者仅将AX的内容与存储器字单元(ESD)的内容相比较,置标志位,后者除 了完成前者的操作外,还将D+2→D(若DF=0),或者Dl-2→DI(若DF=1) (4)前者是通用传送指令,但不能完成存储单元对存储单元的传送,后者是专用传 送指令,只能将存储器字节单元(DSSD的内容送入字节单元(ESD),然后S+1→SI且D+ DI(若DF=0),或者SI-→SI且D-l→D(若DF=1) (5)前者是通用传送指令,但不能完成存储单元对存储单元的比较,后者是专用传 送指令,只能将存储器字单元(DSS的内容与字单元(ESD)的内容比较,置标志位,然后 S+2→SI且Dl+2→DI(若DF=0),或者S-2→SI且Dl-2→DI(若DF=1) 23.(1)SI(D)是下一个(没被传送的)源(目的)字节单元的地址,CX=0 (2)SI(D)是下一个(没被比较的源(目的)字节单元的地址,CX=剩余(尚未比较)

② NEG AL ③ “NOT AL”或“XOR AL, 0FFH” ④ “INC AL”或“ADD AL, 1” ⑤ “DEC AL”或“SUB AL, 1” ⑥ “SHL AL, 1”或“SAL AL, 1” ⑦ “SHR AL, 1” ⑧ “SAR AL, 1” ⑨ MUL AL IMUL AL 17. (1) MOV AH, AL (2) MOV AH, 0 MOV DX, 0 MOV CX, 4 MOV CX, 8 L1: ROL AL, 1 L: SHL AL, 1 RCL AH, 1 RCL DX, 1 ROL AL, 1 SHL AH, 1 LOOP L1 RCL DX, 1 MOV CX, 4 LOOP L L2: ROL AL, 1 MOV AX, DX ROL AL, 1 RCL AH, 1 LOOP L2 MOV AL, AH 18. 执行 AAA 指令后,AX=0104H;若执行的是 DAA 指令,则 AX=0074H。 19. 若下述左边程序段的转移距离超过了 8 位补码的表数范围,则改成下述右边的指令 序列即可。 JZL JNZ M JMP L M: …… M: JMP L: …… L: …… 20. (1) 条件短转移 (2) 无条件短转移 (3) 无条件近转移 (4) 无条件远转移 21. 从(SP+1,SP)“弹出”,SP=56H。 22. (1) 前者仅将存储器字节单元(DS:SI)的内容送入 AL,后者除了完成前者的操作外, 还将 SI+1→SI(若 DF=0),或者 SI-1→SI(若 DF=1); (2) 前者仅将 AL 的内容送入存储器字节单元(ES:DI),后者除了完成前者的操作外, 还将 DI+1→DI(若 DF=0),或者 DI-1→DI(若 DF=1); (3) 前者仅将 AX 的内容与存储器字单元(ES:DI)的内容相比较,置标志位,后者除 了完成前者的操作外,还将 DI+2→DI(若 DF=0),或者 DI-2→DI(若 DF=1); (4) 前者是通用传送指令,但不能完成存储单元对存储单元的传送,后者是专用传 送指令,只能将存储器字节单元(DS:SI)的内容送入字节单元(ES:DI),然后 SI+1→SI 且 DI+1 →DI(若 DF=0),或者 SI-1→SI 且 DI-1→DI(若 DF=1); (5) 前者是通用传送指令,但不能完成存储单元对存储单元的比较,后者是专用传 送指令,只能将存储器字单元(DS:SI)的内容与字单元(ES:DI)的内容比较,置标志位,然后 SI+2→SI 且 DI+2→DI(若 DF=0),或者 SI-2→SI 且 DI-2→DI(若 DF=1)。 23. (1) SI(DI)是下一个(没被传送的)源(目的)字节单元的地址,CX=0; (2) SI(DI)是下一个(没被比较的)源(目的)字节单元的地址,CX=剩余(尚未比较) 5

的数据个数。 24.(1) MOVAL,* MOV AX SEG B3 MOV ES. AX MOV DI OFFSET B3 CLD MOVCⅹ.40 REP STOSB (2)MOV AX, SEG B MOV DS. AX MOV SI OFFSET BI MOV AX SEG B3 MOV DI OFFSET B3 CLD MOV CX. 20 REP MOVSB (3)MOV AX, SEG Bl MOV DS. AX EA SL BI MOV AX SEG B3 LEA DI B3+30 CMP AL.′A′ JB L CMP AL.′Z JA L STOSB L: LOOP M (4) MOV AL,A MOV AX SEG BI MOV ES. AX D,Bl+(20-1) MOV CX. 20 REPNE SCASB JMPL Y LEA BX, [DI-1]

的数据个数。 24. (1) MOV AL, ′*′ MOV AX, SEG B3 MOV ES, AX MOV DI, OFFSET B3 CLD MOV CX, 40 REP STOSB (2) MOV AX, SEG B1 MOV DS, AX MOV SI, OFFSET B1 MOV AX, SEG B3 MOV ES, AX MOV DI, OFFSET B3 CLD MOV CX, 20 REP MOVSB (3) MOV AX, SEG B1 MOV DS, AX LEA SI, B1 MOV AX, SEG B3 MOV ES, AX LEA DI, B3+30 CLD MOV CX, 10 M: LODSB CMP AL, ′A′ JB L CMP AL, ′Z′ JA L STOSB L: LOOP M (4) MOV AL, ′A′ MOV AX, SEG B1 MOV ES, AX LEA DI, B1+(20-1) STD MOV CX, 20 REPNE SCASB JE Y MOV BX, -1 JMP L Y: LEA BX, [DI-1] 6

(5)MOV AX, SEG B2 MOV DS. AX SL B2 MOV AX SEG B3 MOV ES.AX LEA DI. B3 MOV CX. 10 REPNE CMPSB JE Y MOV BX.-1 Y: LEA AX, [SI-1] LEA BX, [DI-1] 习题五 2. Pentium是32位微处理器,它的外部数据总线宽度是64位,最大寻址空间为2 4G存储单元,其内存位容量最大可达22×8位(32G位) 3.在片内 Cache的设置上, Pentium处理器采用的是将“指令 Cache”和“数据 Cache” 分别设置的哈佛结构,而80486采用的是统一的 Cache结构 8.80386 DX CPU的外部引脚信号共分四类:存储器O接口、中断接口、DMA接口 和协处理器接口:对于一个引脚信号,通常从四个方面对其进行描述,即引脚信号的名称 功能、传送方向及有效电平。如引脚信号 RESET,其名称为“ RESET”,功能为“系统复位”, 传送方向为“输入”,有效电平为“逻辑1”。 9.产生双字的数据传送,数据传送将通过数据线D31~D0进行。 10.将分别产生“读O数据”及“读存储器数据”的总线周期。 11.采用“非流水线总线周期”,不存在前一个总线周期的操作尚未完成即预先启动后 一个总线周期操作的现象,即不会产生前后两个总线周期的操作重叠(并行)运行的情况;而 采用“流水线总线周期”,则使后一个总线周期的寻址与前一个总线周期的数据传送相重叠 从而使前后两个总线周期的操作在一定程度上得以并行进行,这样可以在总体上改善总线的 性能 12.要插入等待状态Tw:需插入2个;时序波形图从略 13.A机的平均指令周期为25μs;每个指令周期含有5个总线周期:B机的平均指 令执行速度为06MIPS 习题六 15.IOR,IOW及EOP为双向引脚信号,其余均为单向引脚信号;其中,当IO R和IOW做为输出信号时,是由8237送往系统中的总线控制逻辑;当它们作为输入信号 时,是由总线控制逻辑送往8237;EOP作为输出信号时,可用做中断请求信号由8237发 给CPU或系统中的中断控制器(如8259A;当其作为输入信号时,则是由外部电路发给8237 MEMR和MEMW为单向输出信号,是由8237发往系统中的总线控制逻辑: READY为 单向输入信号,是由总线控制逻辑发给8237;HRQ为单向输出信号,是由8237发给CPU HLDA为单向输入信号,是由CPU发给8237,它是对HRQ的回答信号:DREQ是单向输

L: …… (5) MOV AX, SEG B2 MOV DS, AX LEA SI, B2 MOV AX, SEG B3 MOV ES, AX LEA DI, B3 CLD MOV CX, 10 REPNE CMPSB JE Y MOV BX, -1 JMP L Y: LEA AX, [SI-1] LEA BX, [DI-1] L: …… 习题五 2. Pentium是 32 位微处理器,它的外部数据总线宽度是 64 位,最大寻址空间为 2 32 = 4G存储单元,其内存位容量最大可达 2 32×8 位(32G位)。 3. 在片内 Cache 的设置上,Pentium 处理器采用的是将“指令 Cache”和“数据 Cache” 分别设置的哈佛结构,而 80486 采用的是统一的 Cache 结构。 8. 80386 DX CPU 的外部引脚信号共分四类: 存储器/IO 接口、中断接口、DMA 接口 和协处理器接口;对于一个引脚信号,通常从四个方面对其进行描述,即引脚信号的名称、 功能、传送方向及有效电平。如引脚信号 RESET,其名称为“RESET”,功能为“系统复位”, 传送方向为“输入”,有效电平为“逻辑 1”。 9. 产生双字的数据传送,数据传送将通过数据线 D31~D0进行。 10. 将分别产生“读 I/O 数据”及“读存储器数据”的总线周期。 11. 采用“非流水线总线周期”,不存在前一个总线周期的操作尚未完成即预先启动后 一个总线周期操作的现象,即不会产生前后两个总线周期的操作重叠(并行)运行的情况;而 采用“流水线总线周期”,则使后一个总线周期的寻址与前一个总线周期的数据传送相重叠, 从而使前后两个总线周期的操作在一定程度上得以并行进行,这样可以在总体上改善总线的 性能。 12. 要插入等待状态 Tw;需插入 2 个;时序波形图从略。 13. A 机的平均指令周期为 2.5 μs;每个指令周期含有 5 个总线周期;B 机的平均指 令执行速度为 0.6 MIPS。 习题六 15. IOR,IOW 及 EOP 为双向引脚信号,其余均为单向引脚信号;其中,当IO R和IOW做为输出信号时,是由 8237 送往系统中的总线控制逻辑;当它们作为输入信号 时,是由总线控制逻辑送往 8237;EOP作为输出信号时,可用做中断请求信号由 8237 发 给 CPU 或系统中的中断控制器(如 8259A);当其作为输入信号时,则是由外部电路发给 8237; MEMR和MEMW为单向输出信号,是由 8237 发往系统中的总线控制逻辑;READY 为 单向输入信号,是由总线控制逻辑发给 8237;HRQ 为单向输出信号,是由 8237 发给 CPU; HLDA 为单向输入信号,是由 CPU 发给 8237,它是对 HRQ 的回答信号;DREQ 是单向输 7

入信号,由ⅣO接口电路发给8237;DACK为单向输出信号,它是对DREQ的回答信号, 由8237发给LO接口电路。 16.用于锁存8237输出的16位地址的高8位。 17.单字节传送方式、块传送方式、请求传送方式及级联方式 19.在系统中设置专门的“DMA页面寄存器”,用以提供除8237输出的16位地址以外 的高位地址。 22.8237的两条特殊软件命令是“清除高/低触发器命令”及“主清除命令”;与普通软 件命令相比,它们的特点是“只与写入的端口地址有关,而与写入软件命令时数据总线上的 位模式无关”。 23. MOV DX,100DH;设置主清除命令的端口地址 OUT DX, AL 向特定的端口输出主清除命令(与数据总线上的位模式无关 24.硬件DMA请求是由MO接口电路产生DMA请求信号并发给8237的DREQ引脚来 实现的:软件DMA请求是通过软件向8237的相应端口(请求寄存器)写入特定格式的“请求 命令字”来实现的。 习题七 8.共需给定芯片512片;地址分配情况:A19A18一模块选择;A17~A14 组选择;A13~A0一片内地址 11.99.33% 17.(63FFFH-60000)+1=4000H(16384)单元 18.系统的存储容量最大为6K字节:需要12片2114芯片 19.为使 EPROM选中工作,有关地址及控制信号应具有的状态: A19A18A17A16Al5A14A13A12=1000011,控制信号MO=0,RD=0; EPROM的存储容 量为4KB,地址范围为:87000H~87FFFH。 22.数据传送宽度为32位,数据传送将在数据线D31~D0上进行 25. Cache中缓存的信息来自于主存的第3页; Cache中这一组值有效;全部信息行(8 行)均有效。 习题八 7.·优先级顺序(由高到低)为 主片:RR0、IR1 从片1:IR0、IR、IR2、R3、IR4、IR5、IR6、IR7 从片2:IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4 主片:IR5、IR7 若主片的最高优先级为IR3,则优先级顺序为 从片2:IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4 主片:IR5、IR7、IR0、IR1 从片1:IR0、IR1、IR2、IR3、IR4、IR5、IR6、IR7 10.存放在00050H、00051H、00052H、00053H4个字节单元中;中断服务程序的入口 地址为:4030H:2010H。 11.中断类型码为进入该程序段时D寄存器的内容除以4所得的值;该程序段为它设 置的中断向量为1000H:2000H 习题九 11. MOV AL, 80H OUT OD6H,AL;设置8255A方式选择控制字,A口方式0输出 START: MOV AL, OlH

入信号,由 I/O 接口电路发给 8237;DACK 为单向输出信号,它是对 DREQ 的回答信号, 由 8237 发给 I/O 接口电路。 16. 用于锁存 8237 输出的 16 位地址的高 8 位。 17. 单字节传送方式、块传送方式、请求传送方式及级联方式。 19. 在系统中设置专门的“DMA 页面寄存器”,用以提供除 8237 输出的 16 位地址以外 的高位地址。 22. 8237 的两条特殊软件命令是“清除高/低触发器命令”及“主清除命令”;与普通软 件命令相比,它们的特点是“只与写入的端口地址有关,而与写入软件命令时数据总线上的 位模式无关”。 23. MOV DX,100DH ; 设置主清除命令的端口地址 OUT DX,AL ;向特定的端口输出主清除命令(与数据总线上的位模式无关) 24. 硬件 DMA 请求是由 I/O 接口电路产生 DMA 请求信号并发给 8237 的 DREQ 引脚来 实现的;软件 DMA 请求是通过软件向 8237 的相应端口(请求寄存器)写入特定格式的“请求 命令字”来实现的。 习题七 8. 共需给定芯片 512 片;地址分配情况: A19A18—模块选择;A17~A14 —组选择; A13~A0—片内地址。 11. 99.33% 17. (63FFFH-60000H)+1=4000H(16384)单元 18. 系统的存储容量最大为 6K 字节;需要 12 片 2114 芯片。 19. 为 使 EPROM 选中工作,有关地址及控制信号应具有的状态: A19A18A17A16A15A14A13A12=10000111,控制信号 M/IO=0,RD=0;EPROM 的存储容 量为 4 KB,地址范围为: 87000H~87FFFH。 22. 数据传送宽度为 32 位,数据传送将在数据线 D31~D0上进行。 25. Cache 中缓存的信息来自于主存的第 3 页;Cache 中这一组值有效;全部信息行(8 行)均有效。 习题八 7. ·优先级顺序(由高到低)为: 主片: IR0、IR1 从片 1: IR0、IR1、IR2、IR3、IR4、IR5、IR6、IR7 从片 2: IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4 主片:IR5、IR7 ·若主片的最高优先级为 IR3,则优先级顺序为: 从片 2: IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4 主片: IR5、IR7、IR0、IR1 从片 1: IR0、IR1、IR2、IR3、IR4、IR5、IR6、IR7 10. 存放在 00050H、00051H、00052H、00053H 4 个字节单元中;中断服务程序的入口 地址为: 4030H:2010H。 11. 中断类型码为进入该程序段时 DI 寄存器的内容除以 4 所得的值;该程序段为它设 置的中断向量为 1000H:2000H。 习题九 11. MOV AL, 80H OUT 0D6H,AL ;设置 8255A 方式选择控制字,A 口方式 0 输出 START:MOV AL,01H 8

OUT ODOH,AL:控制电机正向转动 PI: MOV Cx, 8 Call Delay 1 LOOP PI 延迟8秒 MOV AL, 02H OUT OD0H,AL;控制电机反向转动 Call delay I LOOP P2 ;延迟4秒 JMP START 重复进行 12.①连线简图从略 ② MOV AL,92H OUT OD3H,AL:设置8255A方式选择控制字 AL,OD0H;读A口 MOV BL,AL:将读入的数据暂存于BL INAL,ODH;读B口 ADD AL,BL;求和 OUT0D2H,AL:从C口输出 HLT 习题十 33.初始化程序为 MOAL,OFAH;设置方式选择控制字 OUT 5IH, AL MOV AL,17H;设置操作命令字 OUT 51H, AL 34.初始化程序为 MOV AL,18H;设置方式选择控制字 OUT 51H, AL MOV AL,16H;连续输出两个同步字符,设同步字符为16H OUT 51H, AL OUT 51H, AL MOV AL,97H:设置操作命令字 OUT 51H, AL 35.程序段如下 MOV AL,ODBH;设置方式选择控制字 OUT 51H, AL MOV AL,11H;设置操作命令字 OUT 51H, AL MOV CX, 100 MOV AX, 2000H MOV DS, AX MOV SI, 3000H STATE:INAL,51H;读状态字 TEST AL,01H;测试状态位 TXRDY,如不为“1”,则继续测试

OUT 0D0H,AL ;控制电机正向转动 P1:MOV CX, 8 Call Delay 1 LOOP P1 ;延迟 8 秒 MOV AL,02H OUT 0D0H,AL;控制电机反向转动 P2:MOV CX, 4 Call Delay 1 LOOP P2 ;延迟 4 秒 JMP START ; 重复进行 12. ① 连线简图从略 ② MOV AL,92H OUT 0D3H,AL ;设置 8255A 方式选择控制字 IN AL,0D0H; 读 A 口 MOV BL,AL; 将读入的数据暂存于 BL IN AL,0D1H; 读 B 口 ADD AL,BL ;求和 OUT 0D2H,AL;从 C 口输出 HLT 习题十 33. 初始化程序为: MOV AL, 0FAH ;设置方式选择控制字 OUT 51H, AL MOV AL, 17H ;设置操作命令字 OUT 51H, AL 34. 初始化程序为: MOV AL, 18H ;设置方式选择控制字 OUT 51H, AL MOV AL, 16H ;连续输出两个同步字符,设同步字符为 16H OUT 51H, AL OUT 51H, AL MOV AL,97H ;设置操作命令字 OUT 51H,AL 35. 程序段如下: MOV AL, 0DBH ;设置方式选择控制字 OUT 51H, AL MOV AL, 11H ;设置操作命令字 OUT 51H, AL MOV CX, 100 MOV AX, 2000H MOV DS, AX MOV SI, 3000H STATE:IN AL, 51H ;读状态字 TEST AL, 01H ;测试状态位 TxRDY,如不为“1”,则继续测试 9

JZ STATE: MOV AL, LS] OUT50H,AL;输出数据 LOOP STATE HLT 习题十一 48253应设置为方式0(计数结束产生中断) 5.0.5μsx104×104=50s 6.求解本题的基本思路:为产生所要求的脉冲信号,需用8253的两个计数通道(假设 用计数通道0和计数通道1)。将计数通道0设定为方式2(分频器),计数通道1设定为方式 单稳态)。将计数通道0的输出信号OUT0接至计数通道1的GATE1输入端,利用OUT 0的上升沿作为工作于方式1(单稳态)舶计数通道1的输入触发信号。用计数通道0的计数 初值来决定所要求脉冲信号的周期(15us),用计数通道1的计数初值决定所要求脉冲信号 的宽度(1us)OUT1输出的是周期为15us、脉宽为1us的负脉冲,经反相后即可得 到所要求的脉冲信号 具体实现如下 (1)连线简图(略) (2)编程: MOV AL,01010DlB;设置计数通道1为方式1(单稳态),只写低8位,BCD计数 OUT 43H, AL MOV AL, 02H 设置计数通道1的计数初值2 OUT 41H, AL: MOV AL,000101B;设置计数通道0为方式2(分频器),只写低8位,BCD计数 oUT 4H, AL MOVAL,30H;设置计数通道0的计数初值30 OUT 40H, AL HLT 习题十二 2.机械特性,电气特性,功能特性以及规程特性。 4.增加了突发式传送( Burst Transfer)方式;最高数据传输率可达33M字节/秒;数据总 线宽度从16位增加为32位;地址总线宽度从24位增加为32位,可支持高达4GB的物理 地址空间;提供循环优先级的总线仲裁方式。 8.标记分组:用以指明出现在USB总线上“事务”的类型及方向;帧起始分组:主 要起同步作用;数据分组:主机或外设生成或处理的数据实体;握手信号分组:用以告知 “事务”的状态,如数据已成功传送、流量控制及停止等

JZ STATE; MOV AL,[SI] OUT 50H, AL; 输出数据 INC SI LOOP STATE HLT 习题十一 4. 8253 应设置为方式 0(计数结束产生中断)。 5. 0.5 μs×104×104=50s 6. 求解本题的基本思路: 为产生所要求的脉冲信号,需用 8253 的两个计数通道(假设 用计数通道 0 和计数通道 1)。将计数通道 0 设定为方式 2(分频器),计数通道 1 设定为方式 1(单稳态 )。将计数通道 0 的输出信号 OUT0接至计数通道 1 的 GATE1输入端,利用 OUT 0的上升沿作为工作于方式 1(单稳态)的计数通道 1 的输入触发信号。用计数通道 0 的计数 初值来决定所要求脉冲信号的周期(15 μs),用计数通道 1 的计数初值决定所要求脉冲信号 的宽度(1 μs)。OUT1输出的是周期为 15 μs、脉宽为 1 μs 的负脉冲,经反相后即可得 到所要求的脉冲信号。 具体实现如下: (1) 连线简图(略) (2) 编程: MOV AL,01010D11B ;设置计数通道 1 为方式 1(单稳态),只写低 8 位,BCD 计数 OUT 43H,AL MOV AL,02H ;设置计数通道 1 的计数初值 2 OUT 41H,AL; MOV AL,00010101B ;设置计数通道 0 为方式 2(分频器),只写低 8 位,BCD 计数 OUT 43H,AL; MOV AL,30H; 设置计数通道 0 的计数初值 30 OUT 40H,AL HLT 习题十二 2. 机械特性,电气特性,功能特性以及规程特性。 4. 增加了突发式传送(Burst Transfer)方式;最高数据传输率可达 33M 字节/秒;数据总 线宽度从 16 位增加为 32 位;地址总线宽度从 24 位增加为 32 位,可支持高达 4GB 的物理 地址空间;提供循环优先级的总线仲裁方式。 8. 标记分组: 用以指明出现在 USB 总线上“事务”的类型及方向;帧起始分组: 主 要起同步作用;数据分组: 主机或外设生成或处理的数据实体;握手信号分组: 用以告知 “事务”的状态,如数据已成功传送、流量控制及停止等。 10

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有