《微型计算机原理课后习题答案.pptx》由会员分享,可在线阅读,更多相关《微型计算机原理课后习题答案.pptx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、8-18=8-18=?-10-105.5.设机器字长为8 8位,最高位为符号位,试对下列各算式进行二进制补码运算:第1页/共30页-33+-33+(-37-37)=?-70-70-90+-90+(-70-70)=?6 6设机器字长为8 8位,最高位为符号位,试用“双高位”判别法判断下述二进制运算有没有溢出产生。若有,是正溢出还是负溢出?第2页/共30页1010、将下列8421 BCD8421 BCD码表示成十进制数和二进制数:(1)(1)01111001B01111001B(2)(2)10000011B10000011BBCDBCD码为0111,1001B0111,1001B十进制数为7979
2、二进制数为0100,1111B0100,1111B第3页/共30页第二章5 5、若已知一个字串的起始逻辑地址为2000H:1000H2000H:1000H,试求该字串中第1616个字的逻辑地址及物理地址。解:物理地址=段地址10H+10H+偏移地址起始逻辑地址为2000H:1000H2000H:1000H第n n个字的逻辑地址为段地址:偏移地址首址+(n-1n-1)22第1616个字的逻辑地址为段地址:偏移地址首址+(16-116-1)2=2000H:101EH2=2000H:101EH物理地址为:2000 10H+101E=2101EH2000 10H+101E=2101EH 1 1 2 2
3、 3 316162000H:1000H2000H:1000H2000H:1002H2000H:1002H2000H:1001H2000H:1001H2000H:1003H2000H:1003H2000H:1004H2000H:1004H2000H:1005H2000H:1005H第4页/共30页6 6、若已知当前栈顶的逻辑地址为3000H:0200H3000H:0200H,试问压入两个字后栈顶的逻辑地址和物理地址是什么?若又弹出3 3个字后,则栈顶的逻辑地址和物理地址又是什么?解:压入两个字后,SPSP的内容为(SPSP)-字数2=0200H-22=01FCH2=0200H-22=01FCH所
4、以逻辑地址为3000H:01FCH3000H:01FCH物理地址为301FCH301FCH第5页/共30页7 7、试判断下列运算执行之后,OFOF、CFCF、ZFZF、SFSF、PFPF和AFAF的状态:OFOF:溢出标志、CFCF:进位标志、ZFZF:零标志、SFSF:符号标志、PFPF:奇偶标志(低8 8位1 1的个数为偶数,则置1 1,否则置0 0)、AFAF:辅助进位标志(第3 3位有进位或借位,则置1 1,否则置0 0)第6页/共30页第三章3 3、设DSDS=2000H2000H,BXBX=1256H1256H,SISI=528FH528FH,偏移量=20A1H20A1H,232F
5、7H232F7H=3280H3280H,264E5264E5=2450H2450H。若独立执行下述指令后,请给出对应IPIP寄存器的内容。(1)(1)JMP BXJMP BX;IP=IP=?(2)(2)JMPJMPBXSIBXSI;IP=IP=?解:1 1)是段内间接寻址,所以IP=1256HIP=1256H2 2)是段内间接寻址偏移地址:(BX)+(SI)=1256H+528FH=64E5H(BX)+(SI)=1256H+528FH=64E5H物理地址:DS10H+64E5H=264E5HDS10H+64E5H=264E5H264E5=2450H264E5=2450H所以IP=2450HIP
6、=2450H第7页/共30页 45H45H+71H+71H B6H B6H+60H+60H 16H CF=1 16H CF=1,(BL)=16H(BL)=16H 19H 19H+01H+01H+12H+12H 2CH 2CH+06H+06H 32H CF=0 32H CF=0,(BH)=32H(BH)=32H(BX)=3216H(BX)=3216H16H=00010110B16H=00010110BPF=0PF=06 6有如下程序:MOVMOVALAL,45H45HADDADDALAL,71H71HDAADAAMOVMOVBLBL,ALALMOVMOVALAL,19H19HADCADCALAL
7、,12H12HDAADAAMOVMOVBHBH,ALAL执行后,BXBX=?标志位PFPF=?CFCF=?加法调整指令P100P100加法调整指令P100P100第8页/共30页7 7、执行下列程序段,指出此程序段功能。(1)(1)MOV CXMOV CX,1010 LEA LEA SI SI,FirstFirst LEA LEA DI DI,SecondSecond REP REP MOVSB MOVSB(2)(2)CLDCLD LEALEA DI DI,ESES:0404H0404H MOV CX MOV CX,0080H0080H XOR XOR AXAX,AXAX REP REP ST
8、OSW STOSW1)1)将源串FIRSTFIRST的1010个字节搬移至目标串SECONDSECOND2)2)将从内存0404H0404H单元开始的128128个字单元清零第9页/共30页1010假设在下列程序段的括号中分别填入以下命令:(1)(1)LOOP LLLLOOP LLL (2)(2)LOOPNZ LLLLOOPNZ LLL (3)(3)LOOPZ LLLLOOPZ LLL CX0CX0循环;ZF=0ZF=0且CX0CX0循环;ZF=1ZF=1且CX0CX0循环;指令执行后,AXAX=?BXBX=?CXCX=?DXDX=?程序段如下:ORG 0200HORG 0200HMOV AX
9、MOV AX,10H10HMOV BXMOV BX,20H20HMOV CXMOV CX,04H04HMOV DXMOV DX,03H03HLLLLLL:INC AXINC AXADD BXADD BX,BXBXSHR DXSHR DX,1 1()HLTHLT(AX)=10H(AX)=10H(BX)=20H(BX)=20H(CX)=04H(CX)=04H(DX)=03H=0000,001(DX)=03H=0000,0011B1B(AX)=11H(AX)=11H(BX)=40H(BX)=40H(DX)=01H(DX)=01H(CX)=03H(CX)=03H LOOPZ LLLLOOPZ LLL(
10、AX)=12H(AX)=12H(BX)=80H(BX)=80H(DX)=00H(DX)=00H(CX)=02H(CX)=02H LOOPNZ LLLLOOPNZ LLL(AX)=13H(AX)=13H(BX)=0100H(BX)=0100H(DX)=00H(DX)=00H(CX)=01H(CX)=01H(AX)=14H(AX)=14H(BX)=0200(BX)=0200H H(DX)=00H(DX)=00H(CX)=00H(CX)=00H LOOP LLLLOOP LLL第10页/共30页第四章4 4编写一个字符串copycopy的宏,要求有三个参数,分别是源字符串地址、目的字符串地址、要co
11、pycopy的字节数。COPYCOPY MACROMACRO BUF1BUF1,BUF2BUF2,NUMNUM LEA SI,BUF1 LEA SI,BUF1 LEA DI,BUF2 LEA DI,BUF2 MOV CX,NUM MOV CX,NUM CLD CLD REP MOVSB REP MOVSB ENDMENDM串传送指令:MOVSBMOVSB(字节)(ES):(DI)(DS):(SI),(SI)(SI)1,(DI)(DI)1(ES):(DI)(DS):(SI),(SI)(SI)1,(DI)(DI)1第11页/共30页7 7设有3 3个字变量的变量名及其内容如下:VAR1VAR13C
12、46H3C46HVAR2VAR2F678HF678HVAR3VAR30059H0059H试设计一个数据段定义这3 3个变量及其地址(包括段地址和偏移地址)表变量ADDRTABLADDRTABL。解:DATA SEGMENTDATA SEGMENT VAR1 DW 3C46HVAR1 DW 3C46H VAR2 DW F678H VAR2 DW F678H VAR3 DW 0059H VAR3 DW 0059H ADDRTABLADDRTABL DDDD VAR1VAR1 DDDD VAR2VAR2 DDDD VAR3VAR3 DATA ENDSDATA ENDS46H46H3CH3CH78H7
13、8HF6HF6H59H59H00H00HVAR1VAR1VAR2VAR2VAR3VAR3P127P1270A56H:0005H0A56H:0005H0A56H:0006H0A56H:0006H0A56H:0007H0A56H:0007H0A56H:0009H0A56H:0009H0A56H:0008H0A56H:0008H0A56H:000AH0A56H:000AH05H05H00H00H56H56H0AH0AH07H07H00H00H56H56H0AH0AH09H09H00H00H56H56H0AH0AH0A56H:000BH0A56H:000BH第12页/共30页第四章课堂作业:1 1、交
14、互式程序中用户按下数字键1 1、2 2、3 3,程序转入相应的服务子程序ONEONE、TWOTWO、THREETHREE,若按下其他键就继续等待。(程序段)KEY:MOV AH,1KEY:MOV AH,1 INT 21H INT 21H CMP AL,CMP AL,1 1 JE JE ONEONE CMP AL,CMP AL,2 2 JE JE TWOTWO CMP AL,CMP AL,3 3 JE JE THREETHREE JMP KEY JMP KEYONEONE:TWOTWO:THREETHREE:第13页/共30页第五章1 1、已知8086 CPU8086 CPU中当前段寄存器的基址
15、(DS)(DS)=021FH021FH,(ES)(ES)=0A32H0A32H,(CS)(CS)=234EH234EH,则上述各段在存储器空间中物理地址的首地址号及末地址号是什么?解:各段首地址为:数据段:(DS)10H+0000H=021F0H(DS)10H+0000H=021F0H附加段:(ES)10H+0000H=0A320H(ES)10H+0000H=0A320H代码段:(CS)10H+0000H=234E0H(CS)10H+0000H=234E0H各段末地址为:数据段:(DS)10H+0FFFFH=121EFH(DS)10H+0FFFFH=121EFH附加段:(ES)10H+0FFF
16、FH=1A31FH(ES)10H+0FFFFH=1A31FH代码段:(CS)10H+0FFFFH=334DFH(CS)10H+0FFFFH=334DFH第14页/共30页2 2、假如8086 CPU8086 CPU中,(CS)(CS)=234EH234EH,已知物理地址为25432H25432H,若(CS)(CS)的内容被指定成1A31H1A31H,则物理地址应为什么地址号?解:物理地址=段地址10H+10H+偏移地址求偏移地址:25432H-234EH 10H=1F52H25432H-234EH 10H=1F52H当(CS)=1A31H(CS)=1A31H时,物理地址为:(CS)10H+1F
17、52H=1A310H+1F52H=1C262H(CS)10H+1F52H=1A310H+1F52H=1C262H第15页/共30页第六章6 6、对下列RAMRAM芯片组排列,各需要多少个RAMRAM芯片?多少个芯片组?多少根片内地址线?若和8088 CPU8088 CPU相连,则又有多少根片选地址线?1 1K K4 4位芯片组成1616K K8 8位存储空间8 8K K8 8位芯片组成512K512K8 8位存储空间解:(1 1)需要3232个RAMRAM芯片,1616个芯片组,1010根片内地址线、4 4根片选地址线。(2 2)需要6464个RAMRAM芯片,6464个芯片组,1313根片内
18、地址线、6 6根片选地址线。2 24 4=16=162 21010=1K=1K 2 26 6=64=642 21313=8K=8K第16页/共30页第六章7 7、某微机系统的RAMRAM存储器由4 4个模块组成,每个模块的容量为128128KBKB,若4 4个模块的地址连续,起始地址为10000H10000H,则每个模块的首末地址是什么?解:末地址-首地址+1=+1=容量末地址=首地址+容量-1-1 =10000H+2 =10000H+21717-1-1 0001,0000,0000,0000,0000B 0001,0000,0000,0000,0000B +0010,0000,0000,00
19、00,0000B+0010,0000,0000,0000,0000B 0011,0000,0000,0000,0000B 0011,0000,0000,0000,0000B -0000,0000,0000,0000,0001B-0000,0000,0000,0000,0001B 0010,1111,1111,1111,1111B 0010,1111,1111,1111,1111B则4 4个模块的首末地址分别为:10000H2FFFFH10000H2FFFFH、30000H4FFFFH30000H4FFFFH、50000H6FFFFH50000H6FFFFH、70000H8FFFFH70000H
20、8FFFFH=2FFFFH第17页/共30页第六章8 8、设有4K44K4位SRAMSRAM芯片及8K88K8位EPROMEPROM芯片,欲与8088 CPU8088 CPU组成16K816K8位的存储空间,请问需用此SRAMSRAM或EPROMEPROM多少片?它们的片内地址线及片选地址线分别是哪几根?假设该16K816K8位存储空间连续,且末地址为FFFFFHFFFFFH,请画出SRAMSRAM、EPROMEPROM与8088 CPU8088 CPU的连线,并写出各芯片组的地址域。解:1 1)用4K44K4位SRAMSRAM芯片组成16K816K8位的存储空间 需要8 8个RAMRAM芯片
21、,4 4个芯片组,1212根片内地址线、2 2根片选地址线。A A1919、A A1818、A A1717、A A1616、A A1515、A A1414、A A1313、A A1212、A A1111AA0 0 1 1、1 1、1 1、1 1、1 1、1 1、1 1、1 1、0 00 0 1 11 1 1 1、1 1、1 1、1 1、1 1、1 1、1 1、0 0、0 00 0 1 11 1 1 1、1 1、1 1、1 1、1 1、1 1、0 0、1 1、0 00 0 1 11 1 1 1、1 1、1 1、1 1、1 1、1 1、0 0、0 0、0 00 0 1 11 1F FF F0000
22、00HHF FF FFFFFFFH HF FE E000000HHF FE EFFFFFFH HF FD D000000HHF FD DFFFFFFH HF FC C000000HHF FC CFFFFFFH H第18页/共30页第六章8 8、设有4K44K4位SRAMSRAM芯片及8K88K8位EPROMEPROM芯片,欲与8088 CPU8088 CPU组成16K816K8位的存储空间,请问需用此SRAMSRAM或EPROMEPROM多少片?它们的片内地址线及片选地址线分别是哪几根?假设该16K816K8位存储空间连续,且末地址为FFFFFHFFFFFH,请画出SRAMSRAM、EPROM
23、EPROM与8088 CPU8088 CPU的连线,并写出各芯片组的地址域。解:2 2)用8K88K8位EPROMEPROM芯片组成16K816K8位的存储空间 需要2 2个EPROMEPROM芯片,2 2个芯片组,1313根片内地址线、1 1根片选地址线。A A1919、A A1818、A A1717、A A1616、A A1515、A A1414、A A1313、A A1212AA0 0 1 1、1 1、1 1、1 1、1 1、1 1、1 1、0 00 0 1 11 1 1 1、1 1、1 1、1 1、1 1、1 1、0 0、0 00 0 1 11 1F FE E000000HHF FF
24、FFFFFFFH HF FC C000000HHF FD DFFFFFFH H第19页/共30页第六章9 9、设由256K8256K8位SRAMSRAM芯片与8086 CPU8086 CPU组成1M81M8存储空间,试问共需几片这样的SRAMSRAM芯片?片内地址线及片选地址线各为哪几根?试画出用该256K8256K8位SRAMSRAM与8086 CPU8086 CPU组成1MB1MB存储空间的连线,并写出各芯片的地址域。解:需要4 4个SRAMSRAM芯片,1818根片内地址线、2 2根片选地址线。第20页/共30页1 10 00 00 00 00 00 00 00 00 00 01 11
25、11 10 01 11 11 1A19,A18,A17,A16A15,A14,A13,A12A11,A10,A9,A8A7,A6,A5,A4A3,A2,A1,A0 0,0,0,0 0,0,0,0 0,0,0,0 0,0,0,00,0,0,0 0,1,1,1 1,1,1,1 1,1,1,1 1,1,1,11,1,1,00000H7FFFEH0000H7FFFEH第21页/共30页1 10 00 00 00 00 00 00 00 00 00 01 11 11 10 01 11 11 10001H7FFFFH0001H7FFFFH0 00 01 11 1A19,A18,A17,A16A15,A14
26、,A13,A12A11,A10,A9,A8A7,A6,A5,A4A3,A2,A1,A0 0,0,0,0 0,0,0,0 0,0,0,0 0,0,0,00,0,0,1 0,1,1,1 1,1,1,1 1,1,1,1 1,1,1,11,1,1,1第22页/共30页1 10 00 00 01 11 11 11 11 10 01 10 00 01 18000HFFFFEH8000HFFFFEH0 01 1A19,A18,A17,A16A15,A14,A13,A12A11,A10,A9,A8A7,A6,A5,A4A3,A2,A1,A0 1,0,0,0 0,0,0,0 0,0,0,0 0,0,0,00,0
27、,0,0 1,1,1,1 1,1,1,1 1,1,1,1 1,1,1,11,1,1,0第23页/共30页1 10 00 00 01 11 11 11 11 10 01 10 00 01 18001HFFFFFH8001HFFFFFH0 01 10 00 01 11 1A19,A18,A17,A16A15,A14,A13,A12A11,A10,A9,A8A7,A6,A5,A4A3,A2,A1,A0 1,0,0,0 0,0,0,0 0,0,0,0 0,0,0,00,0,0,1 1,1,1,1 1,1,1,1 1,1,1,1 1,1,1,11,1,1,1第24页/共30页第25页/共30页第九章5
28、5、假设8255A8255A的端口地址分别为60H60H63H63H,编写下列各情况的初始化控制程序:(1)(1)将A A口、B B口设置为方式0 0,A A口和C C口作为输入口,B B口作为输出口。(2)(2)将A A口、B B口均设置为方式1 1输入口,PC6PC6、PC7PC7作为输出端口。解:(1 1)控制字为:10011001B10011001B MOV AL,99H MOV AL,99H OUT 63H,AL OUT 63H,AL(2 2)控制字为:101101110110110 0B B MOV AL,0B6H MOV AL,0B6H OUT 63H,AL OUT 63H,AL
29、第26页/共30页8 8、设82538253通道0 0、1 1、2 2的端口地址分别为40H40H、42H42H、44H44H,控制端口地址为46H46H。将通道0 0设置为方式3 3,通道1 1设置为方式2 2,通道0 0的输出作为通道1 1的输入;CLK0CLK0连接总线时钟频率为4.77 MHz4.77 MHz,要求通道1 1输出频率约40Hz40Hz的信号。编写初始化程序片断。第27页/共30页 将通道0 0设置为方式3 3,通道1 1设置为方式2 2。则计数器0 0的控制字为:000001010110110 0B=16HB=16H 计数器1 1的控制字为:01011111010010
30、0 0B=74HB=74H第28页/共30页MOV AL,16H MOV AL,16H ;计数器0 0的控制字为00010110B00010110BOUT 46H,ALOUT 46H,ALMOV AL,32H MOV AL,32H ;只送低8 8位初值N0=32HN0=32HOUT 40H,AL OUT 40H,AL ;计数器0 0的初始化完成MOV AL,74H MOV AL,74H ;计数器1 1的控制字为01110100B01110100BOUT 46H,ALOUT 46H,ALMOV AL,51H MOV AL,51H ;先送N1N1的低8 8位值OUT 42H,ALOUT 42H,ALMOV AL,09H MOV AL,09H ;再送N1N1的高8 8位值OUT 42H,ALOUT 42H,AL第29页/共30页谢谢您的观看!第30页/共30页