微型计算机原理_课后习题答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 4.编写一个字符串copy的宏,要求有三个参数,分别 是源字符串地址、目的字符串地址、要copy的字节数。 COPY MACRO BUF1,BUF2,NUM LEA SI, BUF1 LEA DI, BUF2 MOV CX, NUM CLD REP MOVSB ENDM 串传送指令:MOVSB(字节) (ES):(DI)← (DS):(SI), (SI)← (SI)±1, (DI)← (DI)±1
第六章 8、设有4K×4位SRAM芯片及8K×8位EPROM芯片,欲与8088 CPU组成16K×8位 的存储空间,请问需用此SRAM或EPROM多少片?它们的片内地址线及片选地 址线分别是哪几根?假设该16K×8位存储空间连续,且末地址为FFFFFH,请 画出SRAM、EPROM与8088 CPU的连线,并写出各芯片组的地址域。 解:1)用4K×4位SRAM芯片组成16K×8位的存储空间 需要8个RAM芯片,4个芯片组,12根片内地址线、2根片选地址线。 A19、 A18、 A17、 A16、 A15、 A14、A13、A12、A11~A0 1、 1、 1、 1、 1、 1、 1、 1、 0„ 0 FF000H~FFFFFH 1„ 1 1、 1、 1、 1、 1、 1、 1、 0、 0„ 0 FE000H~FEFFFH 1„ 1 1、 1、 1、 1、 1、 1、 0、 1、 0„ 0 FD000H~FDFFFH 1„ 1 1、 1、 1、 1、 1、 1、 0、 0、 0„ 0 FC000H~FCFFFH 1„ 1
(1) A400H 7100H 1010 ,0100 ,0000 ,0000 0111 ,0001 ,0000 ,0000
1110 ,1101 Cs 1 ,C p 1 ,无溢出,OF 0 CF 1 ,ZF 0,SF 1 ,PF 1 ,AF 1
Βιβλιοθήκη Baidu
1,0001 ,0101 ,0000 ,0000 Cs 1 ,C p 1 ,无溢出,OF 0 CF 1 ,ZF 0,SF 0,PF 1 ,AF 0
6、若已知当前栈顶的逻辑地址为3000H:0200H,试问压入两个 字后栈顶的逻辑地址和物理地址是什么? 若又弹出3个字后, 则栈顶的逻辑地址和物理地址又是什么?
解:压入两个字后,SP的内容为
(SP)-字数×2=0200H-2×2=01FCH 所以逻辑地址为3000H:01FCH 物理地址为301FCH
-90+(-70)=?
10、将下列8421 BCD码表示成十进制数和二进制数: (1) 01111001B (2) 10000011B
BCD码为0111,1001B
十进制数为79 二进制数为0100,1111B
第二章 5、若已知一个字串的起始逻辑地址为2000H:1000H,试求该 字串中第16个字的逻辑地址及物理地址。 2000H:1000H 1 解: 1 2000H:1001H 物理地址=段地址×10H+偏移地址 2000H:1002H 2 起始逻辑地址为2000H:1000H 2000H:1003H 2 第n个字的逻辑地址为 2000H:1004H 3 段地址:偏移地址首址+(n-1)×2 2000H:1005H 3 第16个字的逻辑地址为 „ 段地址:偏移地址首址+(16-1)×2=2000H:101EH „ 物理地址为:2000 ×10H +101E=2101EH 16 16
第六章 6、对下列RAM芯片组排列,各需要多少个RAM芯片?多少个芯片组?多少根 片内地址线?若和8088 CPU相连,则又有多少根片选地址线? 1 K × 4位芯片组成16 K × 8位存储空间 8 K × 8位芯片组成512K × 8位存储空间 解: (1)需要32个RAM芯片,16个芯片组,10根片内地址线、4根片选地址线。
7、 执行下列程序段,指出此程序段功能。 (1) MOV CX,10 LEA SI,First 1)将源串FIRST的10个字节 搬移至目标串SECOND LEA DI,Second REP MOVSB (2) CLD LEA DI,ES:[0404H] MOV CX,0080H XOR AX,AX 2)将从内存0404H单元开 REP STOSW 始的128个字单元清零
第二章 2. 设机器字长为6位,写出下列各数原码、补码和移码: 10101 11111 10000 -10101 -11111 -10000
真值
-10101
原码
110101
补码
101011
移码
101010
x 10101 [ x ]移码 2 n 1 x n6 111111 10101 101010
5. 设机器字长为8位,最高位为符号位,试对下列各算式进 行二进制补码运算: [8]补码 0000 ,1000 8-18=?-10
[-18]原码 1001 ,0010 [-18]补码 1110 ,1110 0000 ,1000 1110 ,1110 1111 , 0110 [10]补码 1000 , 1010
7、 试判断下列运算执行之后,OF、CF、ZF、SF、PF和AF的状态: OF:溢出标志、CF:进位标志、ZF:零标志、SF:符号标志、 PF:奇偶标志(低8位1的个数为偶数,则置1,否则置0)、 AF:辅助进位标志(第3位有进位或借位,则置1,否则置0)
(3)46H 59H 0100 ,0110 0101 ,1001
6.设机器字长为8位,最高位为符号位,试用“双高位”判别法判断下述 二进制运算有没有溢出产生。若有,是正溢出还是负溢出? -33+(-37)=? -70
[33]原码 1010 ,0001 [33]补码 1101 ,1111 [-37]原码 1010 ,0101 [-37]补码 1101 ,1011 1101 ,1111 1101 ,1011 1011 , 1010 cs 1 ,c p 1 ,无溢出 1100 , 0110 [70]原码
(3)46H 59H 59H 89D [89]原 1101 ,1001 [89]补 1010 ,0111 0100 ,0110 1010 ,0111 1110 ,1101 Cs 1 ,C p 1 ,无溢出,OF 0 CF 1 ,ZF 0,SF 0,PF 1 ,AF 1
05H 00H 56H 0AH 07H 00H
56H
0AH 09H 00H 56H 0AH
第四章课堂作业: 1、交互式程序中用户按下数字键1、2、3,程序转入相应的服务子程序 ONE、TWO、THREE,若按下其他键就继续等待。(程序段) KEY:MOV AH,1 INT 21H CMP AL,’1’ JE ONE CMP AL,’2’ JE TWO CMP AL,’3’ JE THREE JMP KEY ONE:„ TWO:„ THREE:„
210=1K 24=16
(2)需要64个RAM芯片,64个芯片组,13根片内地址线、6根片选地址线。 213=8K 26=64
第六章
7、某微机系统的RAM存储器由4个模块组成,每个模块的容量为128 KB,若 4个模块的地址连续,起始地址为10000H,则每个模块的首末地址是什么? 解:末地址-首地址+1=容量 末地址=首地址+容量-1 =10000H+217-1 0001,0000,0000,0000,0000B +0010,0000,0000,0000,0000B 0011,0000,0000,0000,0000B -0000,0000,0000,0000,0001B 0010,1111,1111,1111,1111B =2FFFFH 则4个模块的首末地址分别为:10000H~2FFFFH、30000H~4FFFFH、 50000H~6FFFFH、70000H~8FFFFH
[90]原码 1101 ,1010 [90]补码 1010 ,0110 [-70]原码 1100 ,0110 [-70]补码 1011 ,1010 1010 ,0110 1011 ,1010 10110 , 0000 cs 1 ,c p 0,负溢出 0110 , 0000 [96]原码
2、假如8086 CPU中,(CS) = 234EH,已知物理地址为25432H, 若(CS)的内容被指定成1A31H,则物理地址应为什么地址号? 解:物理地址=段地址×10H+偏移地址 求偏移地址:25432H-234EH ×10H=1F52H 当(CS)=1A31H时,物理地址为: (CS)×10H+1F52H=1A310H+1F52H=1C262H
7.设有3个字变量的变量名及其内容如下: VAR1 3C46H VAR2 F678H 0A56H:000BH VAR3 0059H P127 试设计一个数据段定义这3个变量及其地址(包括段地址和偏移地址) 表变量ADDRTABL。 0A56H:0005H 46H VAR1 解:DATA SEGMENT 0A56H:0006H 3CH VAR1 DW 3C46H 0A56H:0007H 78H VAR2 VAR2 DW F678H 0A56H:0008H F6H VAR3 DW 0059H 0A56H:0009H 59H VAR3 ADDRTABL DD VAR1 0A56H:000AH 00H DD VAR2 DD VAR3 DATA ENDS
第五章 1、已知8086 CPU中当前段寄存器的基址(DS) = 021FH,(ES) = 0A32H, (CS) = 234EH,则上述各段在存储器空间中物理地址的首地址号及末地 址号是什么? 解:各段首地址为: 数据段:(DS)×10H+0000H=021F0H 附加段:(ES)×10H+0000H=0A320H 代码段:(CS)×10H+0000H=234E0H 各段末地址为: 数据段:(DS)×10H+0FFFFH=121EFH 附加段:(ES)×10H+0FFFFH=1A31FH 代码段:(CS)×10H+0FFFFH=334DFH
10.假设在下列程序段的括号中分别填入以下命令: (1) LOOP LLL (2) LOOPNZ LLL (3) LOOPZ LLL CX≠0循环; ZF=0且CX≠0循环; ZF=1且CX≠0循环; 指令执行后,AX =? BX =? CX =? DX =? 程序段如下: ORG 0200H MOV AX,10H (AX)=10H MOV BX,20H (BX)=20H MOV CX,04H (CX)=04H MOV DX,03H (DX)=03H=0000,0011B (AX)=14H (AX)=11H (AX)=12H (AX)=13H LLL:INC AX (BX)=40H (BX)=80H (BX)=0100H (BX)=0200H ADD BX,BX (DX)=00H (DX)=01H (DX)=00H (DX)=00H SHR DX,1 (CX)=00H (CX)=03H (CX)=02H (CX)=01H ( ) ↓ ↓ ↓ HLT LOOP LLL LOOPZ LLL LOOPNZ LLL
第三章 3、 设DS = 2000H,BX = 1256H,SI = 528FH,偏移量 = 20A1H, [232F7H] = 3280H,[264E5] = 2450H。若独立执行下述指令后,请 给出对应IP寄存器的内容。 (1) JMP BX;IP=? (2) JMP [BX][SI];IP=? 解: 1)是段内间接寻址,所以IP=1256H 2)是段内间接寻址 偏移地址:(BX)+(SI)=1256H+528FH=64E5H 物理地址:DS×10H+64E5H=264E5H [264E5]=2450H 所以IP=2450H
6.有如下程序: MOV AL,45H ADD AL,71H DAA 加法调整指令P100 MOV BL,AL MOV AL,19H ADC AL,12H DAA 加法调整指令P100 MOV BH,AL 执行后,BX =?标志位PF =?CF =?
45H +71H B6H +60H 16H CF=1,(BL)=16H 19H +01H +12H 2CH +06H 32H CF=0,(BH)=32H (BX)=3216H 16H=00010110B PF=0