微机原理课后习题参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理课后习题参考答案

第一章2、完成下列数制之间的转换。01011100B=92D135D=10000111B 10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。组合型:254=BCD 非组合型:254=BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。9、设

计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确[X-Y]补=10111001B=00010010+10100111=补正确X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=补正确[X-Y]补=11101001+00001011=11110100B=补正确X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=补正确[X-Y]补=00010010+00001111=00100001B=补正确X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=补正确[X-Y]补=11101110+10001000=01110110B=补于X-Y=-138 超出了机器数范围,因此出错了。13、微型计算机的主要性能指标有哪些?答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电

压、制造工艺、扩展能力、软件配置。第二章2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址?答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。物理地址=段基址*10H+偏移地址。

6、写出下列逻辑地址的段基址、偏移地址和物理地址。2314H:0035H 1FD0H:000AH 答:段基址:2314H;偏移地址:0035H;物理地址:23175H。段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。8、设=2025H,=0100H,则当前将要执行指令的物理地址是多少?答:物理地址

=*10H+=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H,求这个数据区的首字单元和末字单元的物理地址。答:首字:70A0*10H+DDF6H=7E7F6H 末字单元地址=起始地址+*2=7E7F6H+*2=7E814H。13、80486CPU内部哪些主要部件构成?有哪几种工作模式?答:总线接口单元、指令预取单元、指令译码单元、控制单元,整数运算单元,浮点运算单元,段预存储器管理单元,高速缓冲单元。实地址模式、保护虚拟地址模拟、虚拟8086模式14、80486CPU存储器最大可寻址空间是多少?虚拟存储空间是多少?两者有何区别?答:最大可寻址空间是4GB,虚拟存储空间是64TB。前者为实地址,虚拟存储空间为外部存储管理器。第三章4、指出下列指令中的源操作数和目标操作数的寻址方式。MOV BX,1000H源操作数:立即寻址;目标操作数:寄存器寻址

MOV AL,[BX] 源操作数:寄存器间接寻址;目标操作数:寄存器寻址MOV [DI+1000H],BX 源操作数:寄存器寻址;目标操作数:寄存器相对寻址MOV [1000H],CX 源操作数:寄存器寻址;目标操作数:直接寻址5、设=2000H、=2100H、=1500H、=0100H、=0040、=00A0H、=0120H,在指令MOV AX,src中,求用下列表示源操作数src 的有效地址EA和物理地址PA各是多少?100H[BX] EA=(100H+0100H)=0200H ;PA=2000*10H+0200H=20200H

ES:[BX+DI]

EA=0100H+0120H=0220H ;PA=2100*10H+0220H=21220H [BP] EA=0040H ;PA=1500*10H+0040H=15040h

ES:[BX+10H]

EA=0100H+0010H=0110H ;PA=21000H+0110H=21110H 6、指出下列指令中的错误,并改正。MOV

BL,30A0H操作数不匹配改:MOV BX,30A0H MOV 0010H,AL立即数不可以作为目标操作数改:MOV AX,0010H XCHG AL,BX操作数类型不匹配改:XCHG AX,BX MOV [AX],3456H立即数送入存储器需要说明改:MOV WORDPTR [AX],3456H PUSH AL堆栈以字为操作单元改:PUSH AX POP CS POP不可以用CS为目标操作数改:POP AX MOV DS,1000H立即数不能直接送入段寄存器改:MOV AX,1000H MOV DS,AX MOV [BX],[1000H]存储器不可以相互传送改:MOV AX,[1000H]MOV [BX],AX LDS ,[1000H]LDS使用时期目标为16位通用寄存器改:LDS BX,[1000H] LEA BX,CX LEA源操作数为存储器改:LEA BX,[CX] 7、已知=4A0BH,[1020H]单元中的内容为260FH,写出下列每条指令单独执行后的结果。MOV AX,

1020H;=1020H XCHG AX, [1020H];=260FH MOV AX,[1020H];=260FH LEA AX,[1020H];=1020H 10、设一个堆栈段共有100H个字节单元,堆栈的起始地址为1250H:0000H,若在堆栈中存有5个字数据,问:栈顶的物理地址多少?栈底的物理地址是多少?当前SS和SP的内容是多少?若弹出两个数据,SP的内容是多少?答:栈底:12600H 栈顶:12600-A=125F6H SS:[1250H:0000H ] SP: [1250H:00F6H ] 弹出两个数据后,SP内容,00F6+4=00FAH 则,SP:[1250H:00FAH ] 11、编程完成下列程序段,根据运算结果置标志位OF、SF、ZF、AF、PF、CF,并分析程序执行结果是否正确?为什么?122-64 -68+ 答:程序:MOV AL,120MOV BL,64SUB AL,BL 计算结果:00111010 OF=0 SF=0 ZF=0 AF=0

相关文档
最新文档