哈尔滨工程大学微机原理课后题答案.docx
- 文档编号:5458511
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:32
- 大小:338.44KB
哈尔滨工程大学微机原理课后题答案.docx
《哈尔滨工程大学微机原理课后题答案.docx》由会员分享,可在线阅读,更多相关《哈尔滨工程大学微机原理课后题答案.docx(32页珍藏版)》请在冰豆网上搜索。
哈尔滨工程大学微机原理课后题答案
第一章
1题
(1)110=6EH=01101110B
(2)1039=40FH=010000001111B
(3)0.75D=0.11B=0.CH(4)0.15625D=0.00101000B=0.28H
2题
(1)129(000100101001)BCD
注:
在计算机汇编程序中BCD码只能用16进制数表示,形式为129H
(2)5678(0101011001111000)BCD
(3)0.984(0.100110000100)BCD
(4)93.745(10010011.011101000101)BCD
3题
(1)10101010B=0AAH=170D
(2)10000000B=80H=128D
(3)11000011.01B=0C3.4H=195.25(4)01111110B=7EH=126D
4题
(1)8E6H=100011100110B=2278
(2)0A42H=101001000010B=2626
(3)7E.C5H=01111110.11000101B=126.769(4)0F19.1DH=111100011001.00011101B=3865.11328
5题
(1)1011011.101B=91.625DBCD为(10010001.011000100101)BCD
(2)1010110.001B=86.125DBCD为(10000110.000100100101)BCD
6题
(001001110011)BCD表示的十进制数为273二进制数为100010001B
(10010111.00100101)BCD表示的十进制数为97.25二进制数为01100001.01B
7题
(1)
(2)(3)(4)
1001.11B1101.01B1000.011B1111B
+11.11B-0110.11B-1001.101B-1101B
1101.10B0110.10B0110.110B0010B
8题
6AHAB1FH12ADH117H
+A6H+0EFCH-01DEH-0ABH
110HBA1BH10CFH06CH
9题
(1)无符号数X=01H=01DY=0FFH=255
(2)符号数X=01H=01DY=0FFH=-1
注:
对于同一个数到底是符号数还是无符号数是由程序设计者根据数据实际的意义决定的,一旦定下来,在程序中采用不同的指令来区分符号数和无符号数,即算数运算指令会有符号数和无符号两套指令。
10.题
(1)101+31H+69H+0D5H+(5*8+7)=531
(2)127.8125+189.625+253.9768+502.5390=1079.77344
11题
‘A’–‘Z‘ASCII码为41H—5AH48454C4C4FH
‘a’---‘z’ASCII码为61H---7AH
(2)‘A8’4138H
12题
(1)‘E’ASCII码为45H01001001B本身为奇数个1
所以偶校验D7为1,为0C5H;奇校验D7为0,为45H
(2)‘6’ASCII码为36H00110110B本身为偶数个1
所以偶校验D7为0,为36H;奇校验D7为1,为0B6H
13题
-38=[10100110B]原=[11011001B]反=[11011010B]补8位
-38=[1000000000100110B]原=[1111111111011001B]反=[1111111111011010B]补16位
125=[01111101B]原=[01111101B]反=[01111101B]补8位
125=[0000000001111101B]原=[0000000001111101B]反=[0000000001111101B]补16位
-128=[10000000B]补8位原码和反码不能用8位表示
-128=[1000000010000000B]原=[1111111101111111B]反=[1111111110000000B]补16位
14题
+0=[00000000B]原=[00000000B]反=[00000000B]补8位
高8位补0为16位
-0=[10000000B]原=[11111111B]反=[00000000B]补8位
-0=[1000000000000000B]原=[1111111111111111B]反=[0000000000000000B]补16位
15题
(1)[X]补=81H=[111111111]原=[10000000]反真值为-127
(2)[X]补=800H=[1000100000000000B]原=[1111011111111111B]反真值为-211
(3)[X]补=79H=[01111001B]原=[01111001B]反真值为121
(4)[X]补=0FFFEH=[1000000000000010]原=[1111111111111101]反
16题
(1)[X]补=1000000000000000B真值为-8000H=-32768
(2)[X]补=1111111111111111B真值为-8000H=32768
(3)[X]补=0111111111111111B真值为7FFFH=32767
(4)[X]补=0101010101010101B真值为5555H=21845
17题
原码反码补码
(-1)(-127)(-1)(-127)(-1)(-128)
8位负数10000001B-11111111B11111110B-1000000B11111111B-1000000B
(+1)(+127)(+1)(+127)(+1)(+127)
8位正数00000001B-01111111B01111111B-00000000B00000000B-01111111B
[+0]原=000000000B[+0]反=00000000B[+0]补=00000000B
[-0]原=100000000B[-0]反=11111111B[-0]补=00000000B
N位的通式–(2N-1-1)---+(2N-1-1)–(2N-1-1)---+(2N-1-1)–(2N-1)---+(2N-1-1)
18题
(1)不溢出结果为15未超出8位补码的范围
(2)不溢出结果为-55未超出8位补码的范围
(3)溢出结果为-132超出8位补码的范围
(4)不溢出结果为-125未超出8位补码的范围
19题
(1)27+11
(2)37+29
00100111B00110111B
+00010001B+00101001B
00101000B01100000B
+00000110B
01100110B
20题
(1)
17.5=00010001.1B规范化表示0.100011×25
浮点原码001010100011B反码和原码相同
(2)
-75.5=-01001011.1B规范化表示-0.100101×27(舍掉最低两位)
原码001111100101B补码001111011011B
第二章
1题省略
2题
总线:
计算机系统各部分之间传递地址、数据和控制信息的共同线路的集合。
总线结构的好处:
物理上是同时可以挂多个设备,但是总线上某一个时刻只有一个设备传送信息。
从空间上分为四类(是从PC机角度分类的)片内总线,片间总线(主总线,前端总线),系统总线(PCI,ISA等标准总线),系统间通讯总线。
标准总线好处:
总线接口标准统一便于通用。
总线传递信息分为三大类:
数据总线,地址总线,控制总线。
系统总线等也由是三大总线组成,只是根据不同的需要经过了变换。
3题
总线接口单元(BIU):
1)形成访问内存或者I/O端口的物理地址;
2)从内存的代码段中取指令送到队列缓冲器中;
3)读取操作数参加EU运算或则存放运算结果到指定地址。
执行单元(EU)
1)从BIU的指令队列缓冲器中去指令进行译码、执行;
2)负责所有的算术,逻辑运算及16位偏移地址计算;
3)像BIU提供指令的执行结果和16位偏移地址。
二者同步进行操作,相当两级流水线,提高了效率。
4题省略
5题T1时刻是地址信息,用ALE信号锁存。
注:
凡是有ALE信号的CPU的某些管脚都具有分时复用的功能。
(如51单片机,AVR单片机等)。
T3时刻数据信息送出。
通过地址锁存器保持地址信息。
数据放大器(驱动器),加强总线的带载能力。
6题略
7题
7825H
+5A1FH
D244HCF=0;OF=1;ZF=0;PF=1;AF=1;SF=1;
7825H
-5A1FH
1E06HCF=0;OF=0;ZF=0;PF=1;AF=1;SF=0;
8题
最大模式:
除了8086/8088处理器外还有协处理器
最小模式:
系统只有8086/8088处理器
9题
访问存储器使用到哪些信号:
WRRDM/IOALEAD0-AD15A16/S3-A19/S6等
10题
一个指令周期至少包含一个总线周期(即:
取指令读存取器的所花的总线周期),一个总线周期包含4个时钟周,可会在T3后插入的等待周期。
11题省略
12题主要点为以下三点,有以下原因的前两点还会引申出来的其他区别,如执行指令的效率。
但是二者的程序是完全兼容的。
80868088
外部总线16位外部总线8位
队列缓冲字节6个队列缓冲字节4个
M/IOIO/M
13题分时复用的信号,在总线周期前面出现的信号只要在后面的时钟周期还要维持其原来信号稳定不变就都要进行锁存。
14题指令队列缓冲区使得CPU可以取指和执行指令并行进行。
8086复位后,CS=0FFFFH,其他寄存器为0,复位后程序指针指向了物理地址的FFFF0H的位置,一般在此处都是一条跳转指令,由此处跳到用户的自己的监控程序的入口处(开始的地方)。
此特性具有通用性
15题
实际地址(物理地址)是20位的,而内部数据总线是16位的,只能通过段加偏移的办法
段起始地址最低4位为0。
16题
地址线为N,则寻址存储单位(字节)多少的关系为:
2N。
也可能为4位,16位等。
17题
逻辑地址表示为段地址:
偏移地址,是在编程时使用,计算机也是利用他们二者来找到实际地址的。
实际地址(物理地址)=段地址*16+偏移地址
段地址只是段起始地址(是一个段开始的物理地址,为20位)的高16位。
18题二者都是1117AH,同一物理地址可以写成不同逻辑地址的形式,但在实际中一般不会出现。
19题
代码段的寻址就是通过CS*16+IP,所以指令存放的第一个字节单元的物理地址
A7B00H+2B50H=AA650H
20题
100字200字节200=C8H偏移从2300H开始,
21题
字节数据[123D4H]=78H[123D6H]=34H
字数据[123D4H]=5678H[123D6H]=0E634H
22题
CS=1000H,DS=1100H,SS=1180H
23题偶地址开始存放的字数据为规则字,奇地址开始存放的字数据为非规则字。
第四章
4—1
(1)目的操作数:
寄存器寻址,源操作数:
立即寻址
(2)目的操作数:
寄存器寻址,源操作数:
直接寻址
(3)目的操作数:
寄存器间接寻址,源操作数:
寄存器寻址
(4)目的操作数:
寄存器寻址,源操作数:
相对基址变址寻址
(5)目的操作数:
寄存器寻址,源操作数:
基址变址寻址
(6)目的操作数:
寄存器寻址,源操作数:
寄存器寻址
(7)目的操作数:
寄存器间接寻址(SP寄存器指向的内存单元),
源操作数:
寄存器寻址
(8)目的操作数:
寄存器寻址,源操作数:
寄存器寻址
(9)目的操作数:
寄存器寻址,源操作数:
直接端口寻址
(10)目的操作数:
间接端口寻址(端口的寄存器间接寻址),源操作数:
寄存器寻址
(11)寄存器寻址
(12)目的操作数:
相对寄存器寻址
4—2
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
4—3
(1)类型不匹配(寄存器长度不一致)
(2)CS不能作目的操作数
(3)IP不能作操作数
(4)立即数不能作目的操作数
(5)乘数不能是立即数
(6)两个存储器单元间不能用MOV指令直接交换数据
(7)数据类型不确定(字节还是字操作不清楚)
(8)CUP和I/O间数据交换,只能用AX(AL)存放数据
(9)立即数不能直接赋值给段寄存器
(10)循环次数大于1放在CL寄存器
(11)CX不能作寄存器间接寻址的寄存器
(12)立即数不能做入栈操作
4—4
(1)AX=1200H
(2)AX=647AH
(3)(10050H)=7DH,(10051H)=B7H,ZF=0,SF=1,CF=0,OF=0
(4)(12AD0H)=F7H,CF=0,OF=0
(5)(12BD0H)=31H,CH=31H
(6)BH=C9H,ZF=0,SF=1,CF=1.OF=0
(7)(12A80H)=2BH,(12A81H)=89H,CF=1
4—5
(1)LEABX,BUF(或MOVBX,OFFSETBUF)
ADDBX,8
MOVCX,[BX]
(2)MOVBX,OFFSETBUF(或LEABX,BUF)
MOVCX,[BX+8]
MOVBX,8
MOVCX,BUF[BX]
(3)MOVBX,OFFSETBUF(或LEABX,BUF)
MOVSI,8
MOVCX,[BX+SI]
4—6
SP=100EH,AX=2468H,BX=2468H
4—7
(1)MOVAX,0
(2)ANDAX,0
(3)XORAX,AX
(4)SUBAX,AX
4—8AX=0ABCH
AX=0ABBH
AX=0ABBH
CL=0004H
AX=ABB0HCL=0004H
CL=B0H
CL=28H
AX=ABB0H
AX=ABB0H
4—9AL=FFHBL不变CF=0
4—10AX=3520H
4—11两条指令的区别是指令执行后是否保留运算结果,前条指令执行后AL的值改变后条指令中的AL的值不变。
SF=1,CF=1,ZF=0,OF=0
4-12以下程序中的WORDPTR都可以省略,因为变量的属性就是字。
(1)无符号数:
MOVAX,A
MULWORDPTRC;X*YàDX,AX;
MOVCX,Z
MOVBX,0;直接加0,拓展无符号数Z的高16位
SUBCX,AX
SBBBX,DX
MOVW,CX
MOVW+2,BX
有符号数:
MOVAX,A
IMULWORDPTRC;X*YàDX,AX;
MOVCX,AX;暂存X*YàBX,CX;
MOVBX,DX
MOVAX,Z;16符号数Z符号位拓展,必须放在AX,拓展完放在DX,AX
CWD
SUBAX,CX
SBBDX,BX
MOVW,AX
MOVW+2,DX
(2)无符号数:
MOVAX,D
ADDAX,B
MULWORDPTRA
DIVWORDPTRC
MOVW,AX
MOVW+2,DX
有符号数:
MOVAX,D
ADDAX,B
IMULWORDPTRA
IDIVWORDPTRC
MOVW,AX
MOVW+2,DX
(3)无符号数:
MOVAX,D
MOVDX,0
DIVWORDPTRA
ADDAX,B
MOVW,AX
有符号数:
MOVAX,D
CWD
IDIVWORDPTRA
ADDAX,B
MOVW,AX
4-13用指令TESTCX,0400H执行指令后,如果ZF=1,则D10为0,否则不为0
4-14指令ANDBYTEPTR[1000H],0
4-15同时改变CS和IP的有段间的跳转(直接和间接)、段间调用子程序以及段间中断服务程序,段内只改变IP。
4-16.先行IP为2102H
(1)转移的目标地址IP=2102+0038H=213AH
(2)转移的目标地址IP=2102+FFD8H=213AH=20DAH
4-17.
(1)L1
(2)L2(3)L5(4)L5
4-18
(1)CMPDX,CX
JAL1
(2)CMPBX,AX
JGL2
(3)CMPCX,0
JEL3
(4)CMPBX,AX
JOL4
(5)CMPBX,AX
JLEL5
(6)CMPDX,CX
JBEL6
4-19
(1)BE,AE,LE,GE
(2)A,AE,L,LE
(3)L,LE,G,GE(4)B,BE,G,GE
(5)B,BE,L,LE(6)A,AE,G,GE
4-20调用过程(子程序)时,断点要入栈,当调用子程序返回时,按照断点IP开始执行程序。
此处为段内跳转,所以只有IP入栈。
入栈的不是CALL指令的IP,而是它后面的指令的IP地址,段内短跳转的CALL指令为3字节,所以压栈的断点IP地址为365BH
第五章
第五章参考答案
5-1
(1)STADDB78,-40,0D6H,49H
(2)ARRAYDB45H,12H,64H,00H,0D2H,04H,0C7H,00H
(3)ALPHADB12H,0FCH,0E4H,65H
(4)BETADB4DUP(8),6DUP(‘S’),20DUP(‘’),10DUP(1,3)
(5)STRINGDB‘THISISAEXAMPE’
(6)TOTALEQU780
TOTAL=780
5-2
5-3
COUNT的值为42*2+4表示变量X2和X3共占用的字节存储单元数5-4
注:
SA3不占用内存
5-5
3000H为字数据的偏移地址为0030H
5-6
(1)MOVBX,OFFSETBUF1或LEABX,BUF1
(2)MOVCL,BYTEPTRBUF2+3
(3)MOVBUF3+7,0C6H
(4)CNTEQUBUF4-BUF2
(5)MOVAL,BUF4+3
MOVAH,0
ADDAX,BUF2+1
MOVWORDPTRBUF3,AX
5-7
(1)7CH
(2)6752H(3)C0H(4)31H(5)04H
5-8
[DA2]=0D5B3HCF=0
5-9
第二个AND为伪指令,在汇编时给出值。
第一个AND为指令,可改写成
ANDAX,06H
5-10
DATASEGMENT
BCD1DB31H,32H;十进制数1和2的ASCII
BCD2DB?
;最终的结果应为21H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BCD1
SUBAL,30H
MOVAH,AL;低4位暂存AH
MOVAL,BCD1+1
SUBAL,30H
MOVCL,4
SHLAL,CL;高4位的左移4位
ORAL,AH
MOVBCD2,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
5-11
采用左移指令或者用:
MOVBX,AXMOVBX,AX
SHLBX,1;乘2MOVCL,3
MOVDX,AXSHLAX,CL
MOVCL,2SUBAX,BX
SHLAX,CL;乘4
ADDAX,BX;3倍
ADDAX,DX;7倍
5-12
3228H
5-13
(1)AL=00
(2)AL=01H(3)AL=FFH
5-14
编程思路有两种方法:
1.将给出的BCD码首先转换成二进制数(十六进制数),按二进制的算术运算,将最终结果再转换为BCD码。
2.按照BCD码进行运算,其中2*A按压缩BCD的加法(A+A)。
此题用方法2比较简单
DATASEGMENT
BUFFDB34H;BCD码数据为十进制34
DESDB?
;最终的结果应为21H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BUFF
CMPAL,20H;十进制20H
JBADDSELF
CMPAL,60H
JBSUB20H
MOVDES,80H
JMPNEXT
SUB20H:
MOVAL,BUFF
SUBAL,20H
DAS
JMPOUTT
ADDSELF:
MOVAL,BUFF
ADDAL,BUFF;自加代替乘2
DAA
OUTT:
MOVDES,AL
NEXT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
5-15
DATASEGMENT
BUFERDW1200H,1200H,1200H
FLAGDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,BUFER
CMPAX,BUFER+2;判断1和2是否相等
JZTEST1EQU3
CMPAX,BUFER+4;判断1和3是否相等
JZTWOEQU
MOVAX,BUFER+2
CMPAX,BUFER+4
JZTWOEQU
MOVFLAG,0
JMPOUTT
TEST1EQU3:
CMPAX,BUFER+4
JZALLEQU
TWOEQU:
MOVFLAG,01H;两个数相等
JMPOUTT
ALLEQU:
MOVFLAG,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈尔滨工程 大学 微机 原理 课后 答案