第三章微机原理课后习题参考答案_2012

合集下载

微机原理第三章课后习题答案

微机原理第三章课后习题答案

ß 1. DS=1000H, BX=0200H, SI=0002H (10200H~10205H)依次存有10H,2AH,3CH,46H,59H,6BH ,给出执行指令后AX 的内容。

(1)MOV AX ,0200HAX=0200 (2)MOV AX ,[200H] 物理地址=1000H ×10H+0200H=10200H, AX=2A10H(3)MOV AX ,BXAX=0200H (4)MOV AX ,3[BX]物理地址=1000H ×10H +0200H+3H=10203H, AX=5946H (5)MOV AX ,[BX+SI] 物理地址=1000H ×10H+0200H +2H=10202H , AX=463CH(6)MOV AX ,2[BX+SI] 物理地址=1000H ×10H +200H+2H+2H=10204H , AX=6B59H ß 2.DS=1000H ,ES=2000H ,SS=3500H ,SI=00A0H , DI=0024H ,BX=0100H ,BP=0200H ,VAL=0030H ,指出寻址方式和物理地址。

(1)MOV AX ,[100H] (2)MOV AX ,VAL(3)MOV AX ,[BX] (4)MOV AX ,ES:[BX](5)MOV AX ,[SI] (6)MOV AX ,[BX+10H](7)MOV AX ,[BP] (8)MOV AX ,VAL[BP][SI](9)MOV AX ,VAL[BX][DI] (10)MOV AX ,[BP][DI](1)MOV AX, [100H] 直接寻址方式,10100H物理地址=DS ×10H+100H=10000H+0100H=10100H(2)MOV AX, V AL 直接寻址方式,10030H物理地址=DS ×10H+V AL=10000H+0030H=10030H(3)MOV AX, [BX] 寄存器间接寻址,10100H物理地址=DS ×10H+BX=10000H+0100H=10100H(4)MOV AX, ES:[BX] 寄存器间接寻址,20100H物理地址=ES ×10H+BX=20000H+0100H=20100H(5)MOV AX, [SI] 寄存器间接寻址,100A0H物理地址=DS ×10H+SI=10000H+00A0H=100A0H(6)MOV AX, [BX+10H] 寄存器相对寻址,10110H物理地址=DS ×10H+BX+10H=10000H+0100H+10H=10110H(7)MOV AX, [BP] 寄存器间接寻址,35200H物理地址=SS ×10H+BP=35000H+0200H=35200H(8)MOVAX, V AL[BP][SI] 相对基址变址寻址,352D0H 物理地址=SS ×10H+BP+SI+V AL=35000H+0200H+00A0H+0030H=352D0H (9)MOVAX, V AL[BX][DI] 相对基址变址寻址,10154H 物理地址=DS ×10H+BX+DI+V AL=10000H+0100H+0024H+0030H=10154H (10)MOV AX, [BP][DI] 基址变址寻址,35224H物理地址=SS ×10H+BP+DI=35000H+0200H+0024H=35224Hß 3.判断并说明原因(1)MOV DL ,AX 错,寄存器寻址方式中,目的操作数与源操作数长度必须一致错,寄存器寻址方式中,目的操作数与源操作数长度必须一致错,寄存器寻址方式中,目的操作数与源操作数长度必须一致 (2)MOV 8650H ,AX 错,目的操作数不可以是立即数错,目的操作数不可以是立即数(3)MOV DS ,0200H 错,MOV 指令不允许将立即数传入段寄存器 (4)MOV [BX],[1200H] 错, MOV 指令的两个操作数不能同时为存储器指令的两个操作数不能同时为存储器(5)MOV IP ,0FFH 错, IP 不能作为MOV 指令的目的操作数指令的目的操作数(6)MOV [BX+SI+3],IP 错, IP 不能作为MOV 指令的源操作数指令的源操作数(7)MOV AX ,[BX][BP] 错,BX 与BP 不可以同时出现在源操作数当中(8)MOV AL ,ES:[BP] 对(9)MOV DL ,[SI][DI] 错,SI 与DI 是两个变址寄存器,不可以同时出现在源操作数中。

微机原理第三章作业答案

微机原理第三章作业答案

3.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?【解答】8086的指令格式由操作码和操作数字段组成。

操作码:要完成的操作。

操作数:参与操作的对象。

寻址:寻找操作数或操作数地址的过程。

寻址方式:指令中给出的找到操作数或操作数地址采用的方式。

8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和I/O端口寻址。

其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址;I/O端口指令IN和OUT使用的端口寻址方式有直接寻址和间接寻址。

3.2 设(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,[1000H](4) MOV AX,VAL (5) MOV AX,[BX] (6) MOV AX,ES:[BX](7) MOV AX,[BP] (8) MOV AX,[SI] (9) MOV AX,[BX+10](10) MOV AX,VAL[BX] (11) MOV AX,[BX][SI] (12) MOV AX,VAL[BX][SI]【解答】(1)MOV AX,21H立即寻址,源操作数直接放在指令中(2)MOV AX,BX寄存器寻址,源操作数放在寄存器BX中(3)MOV AX,[1000H]直接寻址,EA = 1000H,PA =(DS)×10H+EA = 2000H×10H+1000H = 21000H(4)MOV AX,VAL直接寻址,EA = [V AL] = 0050H,PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H(5)MOV AX,[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H(6)MOV AX,ES:[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H(7)MOV AX,[BP]寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H(8)MOV AX,[SI]寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H(9)MOV AX,[BX+10]相对寄存器寻址,EA =(BX)+10D = 0100H+000AH= 010AH,PA =(DS)×10H+EA = 2000H×10H+010AH = 2010AH(10)MOV AX,VAL[BX]相对寄存器寻址,EA =(BX)+[V AL]= 0100H+0050H= 0150H,PA =(DS)×10H+EA = 2000H×10H+0150H = 20150H(11)MOV AX,[BX][SI]基址变址寻址,EA = (BX)+(SI)= 0100H+00A0H = 01A0H,PA = (DS)×10H +EA = 2000H×10H+01A0H = 201A0H(12)MOV AX,VAL[BX][SI]相对基址变址寻址,EA = (BX)+(SI)+[V AL]= 0100H+00A0H+0050H = 01F0H,PA =(DS)×10H+EA = 2000H×10H+01F0H = 201F0H3.3 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。

微机原理第三章习题参考答案

微机原理第三章习题参考答案

第三章2、对于下列存储容量的存储器芯片⑴Intel 2114(1K×4bit)⑵Intel 2167(16K×1bit)⑶Zilog 6132(4K×8bit)各需要多少条地址线寻址?需要多少条数据线?若要组成64K×8bit的存储器,选同一芯片各需要几片?答:存储器芯片的存储容量=存储单元个数×每个存储单元存放的二进制信息位数。

存储单元个数决定了存储器芯片的地址线条数,地址线条数N=㏒2(存储单元个数),每个存储单元存放的二进制信息位数决定了存储器芯片的数据线条数,数据线条数M=每个存储单元存放的二进制信息位数。

∴⑴Intel 2114(1K×4bit)芯片,需要N=㏒2(210)=10条地址线寻址,需要M=4条数据线。

⑵Intel 2167(16K×1bit)芯片,需要N=㏒2(214)=14条地址线寻址,需要M=1条数据线。

⑶Zilog 6132(4K×8bit)芯片,需要N=㏒2(212)=12条地址线寻址,需要M=8条数据线。

若要组成64K×8bit的存储器,选上述同一芯片,则:⑴选Intel 2114(1K×4bit)芯片,需要64K×8bit÷(1K×4bit)=64×2 =128片;即位扩展需2片一组,字扩展需64组,共需128片。

⑵选Intel 2167(16K×1bit)芯片,需要64K×8bit÷(16K×1bit)=4×8 =32片;即位扩展需8片一组,字扩展需4组,共需32片。

⑶选Zilog 6132(4K×8bit)芯片,需要64K×8bit÷(4K×8bit)=16×1 =16片;即不需位扩展,字扩展需16组,共需16片。

3、用16K×4bit的SRAM芯片组成64K×8bit的存储器,要求画出该存储器组成的逻辑框图。

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

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

微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。

微型计算机:简称“微型机”、“微机”,也称“微电脑”。

由大规模集成电路组成的、体积较小的电子计算机。

由微处理机(核心)、存储片、输入和输出片、系统总线等组成。

特点是体积小、灵活性大、价格便宜、使用方便。

微型计算机系统:简称“微机系统”。

由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。

配有操作系统、高级语言和多种工具性软件等。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。

1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。

总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。

1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。

微机原理第三章习题参考答案

微机原理第三章习题参考答案

1.(1)MOV DS,1000H 错立即数不能直接存入段寄存器改为:MOV AX,1000HMOV DS,AX(2)MOV [100],23H 错两个操作数必须有一个是寄存器操作数改为:MOV BX,100MOV [BX],23H(3)ADD AX,[BX+BP+6] 错基址变址寻址的时候必须用指定的基址和变址寄存器改为:ADD AX,[BX+SI+6](4)PUSH DL 错入栈操作以字为单位改为:PUSH DX(5)IN AX,[3FH] 错对于IO地址应该用立即数表示改为:IN AX,3FH(6)OUT 3FFH,AL 错超过8位的IO地址应该用短格式改为:MOV DX,3FFHOUT DX,AL(7)LES SS,[SI] 错段寄存器不能作为目的操作数改为:LES BX,[SI](8)POP [AX] 错基址寻址不能用AX寄存器改为:POP AX 或者POP [BX](9)IMUL 4CH 错立即数不能作为乘法指令操作数改为:MOV BL,4CHIMUL BL(10)SHL BX,5 错当逻辑操作的位数大于1时,应该用CL来指示次数改为:MOV CL,5SHL BX,CL(11)INT 300 错8086的中断区间是0~255改为:INT 25H(12)XCHG DX,0FFFH 错XCHG指令不能用立即数作为操作数改为:MOV BX,0FFFHXCHG DX,BX3.功能MOV AX,0 ;将0赋值给AXLEA AX,[0000H] ;将偏移地址0000H 送到AX 中LDS AX,MEM32 ;mem32中的低地址中的值是0000HLES AX,MEM32 ; mem32中的低地址中的值是0000HSUB AX,AX ;AX 自己减自己AND AX,0000H ;AX 与0000相与XOR AX,AX ;AX 和自己异或SAL AX,CL ;当CL=16时清零。

功能是将AX 左移16位SAR AX,CL ;当CL=16且AX 最高位为0时清零。

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

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

微机原理课后习题参考答案第一章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工作电压、制造工艺、扩展能力、软件配置。

微机原理课后习题解答

微机原理课后习题解答

微机原理习题第一章绪论习题与答案1.把下列二进制数转换成十进制数、十六进制数及BCD码形式。

(1) 10110010B =(2) 01011101.101B =解:(1) 10110010B = 178D = B2H = (0001 0111 1000)BCD(2) 01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2.把下列十进制数转换成二进制数。

(1) 100D =(2) 1000D =(3) 67.21D =解:(1)100D = 01100100B(2)1000D = 1111101000B(3) 67.21D = 1000011.0011B3.把下列十六进制数转换成十进制数、二进制数。

(1) 2B5H =(2) 4CD.A5H =解:(1) 2B5H = 693D = 0010 1011 0101B(2) 4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B4.计算下列各式。

(1) A7H+B8H =(2) E4H-A6H =解:(1) A7H+B8H = 15FH(2) E4H-A6H = 3EH5.写出下列十进制数的原码、反码和补码。

(1) +89(2) -37解:(1) [+89 ] 原码、反码和补码为: 01011001B(2) [-37] 原码 = 10100101 B[-37] 反码 = 11011010 B[-37] 补码 = 11011011 B6.求下列用二进制补码表示的十进制数(1)(01001101)补 =(2)(10110101)补 =解:(1)(01001101)补 = 77D(2)(10110101)补 = -75D7.请用8位二进制数写出下列字符带奇校验的ASCII码。

(1)C: 1000011(2)O: 1001111(3)M: 1001101(4)P: 1010000解:(1)C:0 1000011(2)O: 0 1001111(3)M:1 1001101(4)P: 1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。

微机原理课后习题解答

微机原理课后习题解答

微机原理习题第一章绪论习题与答案1.把下列二进制数转换成十进制数、十六进制数及BCD码形式。

(1) 10110010B =(2) 01011101.101B =解:(1) 10110010B = 178D = B2H = (0001 0111 1000)BCD(2) 01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2.把下列十进制数转换成二进制数。

(1) 100D =(2) 1000D =(3) 67.21D =解:(1)100D = 01100100B(2)1000D = 1111101000B(3) 67.21D = 1000011.0011B3.把下列十六进制数转换成十进制数、二进制数。

(1) 2B5H =(2) 4CD.A5H =解:(1) 2B5H = 693D = 0010 1011 0101B(2) 4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B4.计算下列各式。

(1) A7H+B8H =(2) E4H-A6H =解:(1) A7H+B8H = 15FH(2) E4H-A6H = 3EH5.写出下列十进制数的原码、反码和补码。

(1) +89(2) -37解:(1) [+89 ] 原码、反码和补码为: 01011001B(2) [-37] 原码 = 10100101 B[-37] 反码 = 11011010 B[-37] 补码 = 11011011 B6.求下列用二进制补码表示的十进制数(1)(01001101)补 =(2)(10110101)补 =解:(1)(01001101)补 = 77D(2)(10110101)补 = -75D7.请用8位二进制数写出下列字符带奇校验的ASCII码。

(1)C: 1000011(2)O: 1001111(3)M: 1001101(4)P: 1010000解:(1)C:0 1000011(2)O: 0 1001111(3)M:1 1001101(4)P: 1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。

微机原理第三章练习题及解答

微机原理第三章练习题及解答

微机原理第三章练习题及解一:单项选择题●指令MOV AX,[BX] 中,源操作数的缺省段是( A )。

A:DS B:ES C:SS D:CS●指令PUSH [BX] 中,目的操作数的段寄存器是( C )。

A:DS B:ES C:SS D:CS●指令MOVSB 中,目的块的段寄存器是( B )。

A:DS B:ES C:SS D:CS●下列指令中,不正确的指令是( D )。

A:MOV AX,BX B:MOV AX,[BX]C:MOV AX,CX D:MOV AX,[CX]●下列指令中, 不正确的指令是( D )。

A:MOV AL,BL B:MOV AL,[BX]C:MOV AL,CL D:MOV AL,[BL]●下列指令中,不正确的指令是( D )。

A:MOV [BX+SI],AX B:MOV AX,[BX + SI]C:MOV AX,SI D:MOV AX,[BX + CX]●若要使寄存器AL中的高4 位不变,低4 位0,使用指令( B )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●若要使寄存器AL中的高4 位不变,低4 位1,使用指令( C )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●若要使寄存器AL中的高4 位为0,低4 位不变,使用指令( A )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●若要使寄存器AL中的高4 位为1,低4 位不变,使用指令( D )。

A:AND AL,0FH B:AND AL,0F0HC:OR AL,0FH D:OR AL,0F0H●条件转移指令JNZ的转移条件是( B )。

A:CF = 0 B:ZF = 0 C:CF = 1 D:ZF = 1●条件转移指令JZ的转移条件是( D )。

A:CF = 0 B:ZF = 0 C:CF = 1 D:ZF = 1●8086CPU响应可屏蔽中断的条件是( B )。

微机原理第3章习题(答案)

微机原理第3章习题(答案)

微机原理第3章习题(答案)1.下列各条指令是否有错?如果有,请指出错误之处并改正(1)MOVDS 1000H(2)MOV[100],23H(3)ADDAX [BX + BP+ 6](4)PUSHDL(5)INAX, [3FH](6)0UT3FFH AL(7)LESSS [SI](8)POP[AX](9)IMUL4CH(10)SHLBX 5(11)INT300(12)XCHGD, 0FFFH答:(1)错误。

不允许直接向段寄存器送立即数,可改为:MOVAX 1000HMOVD, AX(2)错误。

该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTEPT或WORDPT说明,否则汇编程序会因不能确定操作数长度而指示出错。

可改为:MOVBYTEPTR[1O0] 23H(3)错误。

不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:ADDAX [BX + DI + 6](4)错误。

堆栈操作应以字为单位进行,而DL是一个字节。

可改为:PUSHDX(5)错误。

在输入/输出指令中,8位端口地址应直接写在操作数处。

可改为:INAX, 3FH(6)错误。

端口地址3FFH已超出8位二进制表示范围,16位端口地址应用DX可改为:MOVD, 3FFHOUTDXAL(7)错误。

LES指令的目操作数应该是通用寄存器,不能是段寄存器。

可改为:LESBX [SI](8)错误。

AX不能用于间接寻址,间接寻址只能用BXBP、SI、DI四个寄存器之一。

可改为:POP[BX](9)错误。

立即数不能做乘法指令的操作数,可改为:MOVBJL 4CHIMULBL(10)错误。

当逻辑移位的次数大于1时,应该用CL指示次数。

可改为MOVCL 5SHLBX CL(11)错误。

操作数300>255,已超出有效的中断类型码范围。

(12)错误。

XCHG指令不允许立即数做它的操作数。

可改为:MOVC, 0FFFHXCHGDXCX2•请指出以下各指令的源、目的操作数所使用的寻址方式(1)MOVSI 2100H(2)SBBDISP[BX], 7(3)AND[DI] , AX(4)ORAX [609EH](5)MOV[BXb DI + 30H], CX(6)PUSHES [BP](7)CALL[DI]DISP(8)JNZShort_label答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址(2)源操作数:立即数寻址;目的操作数:基址寻址(3)源操作数:寄存器寻址;目的操作数:寄存器间接寻址(4)源操作数:直接寻址;目的操作数:寄存器寻址5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址(6)源操作数:带段超越的寄存器间接寻址;目的操作数:隐含寻址(7)只有一个操作数,为变址寻址(8)只有一个操作数,为相对寻址3. 已知DS=2000H 有关的内存单元值为:(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号COUNT 勺偏移地址为1200H。

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

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

上册第一章P91.1 微处理器、微型计算机、微型计算机系统的区别是什么?答:(1)微型计算机中的运算器和控制器合起来称为中央处理器,也就是微处理器,又称微处理机。

(2)微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。

(3)微型计算机系统由微型计算机、输入/输出设备、外存储器、系统软件、电源、面板和机架等组成。

1.2微型计算机由哪些基本部分构成?微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。

1.4 说明CISC、RISC及其主要区别。

CISC是指复杂指令系统计算机,RISC是指精简指令系统计算机。

他们的区别在于不同的CPU设计理念和方法。

RISC指令系统仅包含哪些必要的经常使用的指令,不经常使用的功能,往往通过基本指令组合来完成。

完成特殊功能时效率比较低。

CISC的指令系统比较丰富,一些特殊功能都有相应的指令。

处理特殊任务效率较高。

RISC对存储器操作相对简单,使对存储器访问的控制简化;而CISC机器的存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑比较复杂。

RISC在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。

RISC CPU的电路构成比CISC CPU简单,因此面积小、功耗也更低;CISC电路CPU电路复杂,同水平比RISC CPU面积大、功耗大。

RISC CPU结构比较简单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术;CISC CPU结构复杂,设计周期长,技术更新难度大。

从使用角度看,RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。

第二章2.1 8086CPU 由哪两大部分组成?简述它们的主要功能。

总线接口部件BIU跟执行部件EU。

总线接口部件(BIU)是联系微处理器内部与外部的重要通道,其主要功能是负责微处理器内部与外部的信息传递。

微机原理第3章习题答案

微机原理第3章习题答案

微机原理第3章习题答案第3章习题参考答案1 分别指出下列指令中的源操作数和目的操作数的寻址方式。

答:源操作数目的操作数(1)MOV AX,[SI] 寄存器寻址寄存器间接寻址(2)MOV DI,100 寄存器寻址立即寻址(3)MOV [BX],AL 寄存器间接寄存器(4)MOV [BX][SI],CX 基址+变址寄存器(5)ADD DX,106H[SI] 寄存器变址(6)PUSH AX 寄存器(7)ADD DS:[BP],AX 带段超越寄存器间接寻址寄存器(8)OR AX,DX 寄存器寄存器2.设寄存器(DS)=2000H,(SS)=1500H,(ES)=3200H,(SI)=0A0H,(BX)=100H,(BP)=10H,数据段中变量VAL的偏移地址为50H。

试指出下列各条指令中源操作数的寻址方式是什么?对于存储器操作数,其物理地址是多少?答:操作数的寻址方式存储器操作数PA (1)MOV AX,[100H] 直接寻址20100H(2)MOV CX,ES:[BX] 带段超越的寄存器间接寻址32100H(3)MOV DX,[BX][SI] 基址+变址寻址200F0H(4)MOV AX,V AL[SI] 变址寻址200F0H(5)MOV BX,1234[BX] 基址寻址205D2H(6)MOV AX,[BP] 寄存器间接寻址15010H3. 判断下列指令有误错误,若有,则改之。

答:(1)PUSH CL 有错,对堆栈操作数总是16位的。

改为:PHSH CX (2)ADCAX,0ABH 无,只是CF的值是不确定的(0或1)(3)OUT 3EBH, AX 有,输出设备的端口地址若超过8位,应使用DX 间接寻址。

改为:MOV DX, 3EBHOUT DX,AX(4)MUL AL, CL 有错。

乘法指令中有AX或AL寄存器是隐含的。

改为:MUL CL(5)MUL AX, 25 有错。

乘法指令中不能用立即数。

改为:MOV BX,25MUL BX(6)ROL DX,5 有错。

(完整版)微型计算机原理(第三章课后答案)

(完整版)微型计算机原理(第三章课后答案)

微型计算机原理第三章80X86微处理器1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。

答:(1)BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。

(2)EU的作用:执行指令,并为BIU提供所需的有效地址。

(3)并行工作过程:当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令队列中。

这样就实现了取指和执行指令的并行工作。

2.8086/8088CPU内部有哪些寄存器?其主要作用是什么?答:8086/8088CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器4个,段寄存器4个和控制寄存器2个。

其主要作用是:(1)数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。

AX(Accumulator)称为累加器。

用该寄存器存放运算结果可使指令简化,提高指令的执行速度。

此外,所有的I/O指令都使用该寄存器与外设端口交换信息。

BX(Base)称为基址寄存器。

用来存放操作数在内存中数据段内的偏移地址,CX(Counter)称为计数器。

在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。

DX(Data)称为数据寄存器。

在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。

(2)地址寄存器:一般用来存放段内的偏移地址。

SP(Stack Pointer)称为堆栈指针寄存器。

在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。

BP(Base Pointer)称为基址寄存器。

作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。

SI(Source Index)称为源变址寄存器。

SI存放源串在数据段内的偏移地址。

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

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

第三章微机原理课后习题参考答案第三章微机原理课后习题参考答案————————————————————————————————作者:————————————————————————————————日期:第三章微机原理课后习题参考答案1. 指出下列指令的错误原因。

(1) AND AX, DL ;类型不匹配(2) ADD CS, DX ;CS不能作为目的操作数(3) MOV AX, IP ;IP不能作为指令的操作数(4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数(5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前(6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式(7) JGE AX ;条件转移指令的操作数只能是标号(8) PUSH DL ;对堆栈不能进行字节操作2. 用一条指令将BX清0。

(请给出3种方法)方法1:MOV BX, 0方法2:SUB BX, BX方法3:AND BX, 0 ;将BX和0做与,可以将BX清零方法4:XOR BX, BX3. 写出实现下列功能的指令序列。

(1) 判断AX的值,若AX等于0,则转到标号LABEL处。

(请写出3种方法)方法1:CMP AX, 0JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果,因此指令执行后AX内容不会受到破坏方法2:TEST AX, 0FFFF HJZ LABEL ; 如果ZF = 0,说明AX为0方法3:AND AX, 0FFFF HJZ LABEL(2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。

MOV AH, ALAND AL, 0FH ; AL高4位通过与清零,而低4位保持不变MOV CL, 4SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零(3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。

微机原理第三章习题与参考答案

微机原理第三章习题与参考答案

微机原理第三章习题与参考答案第三章习题与参考答案3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。

指出下列指令的寻址方式和物理地址。

(1) MOV AX,0ABH 立即寻址无(2) MOV AX,BX 寄存器寻址无(3) MOV AX,[l000H] 直接寻址 10000H(4) MOV AX,DATA 直接寻址 (DS*16+DATA )(5) MOV AX,[BX] 寄存器间接寻址 10100H(6) MOV AX,ES:[BX] 寄存器间接寻址 20100H(7) MOV AX,[BP] 寄存器间接寻址 30200H(8) MOV AX,[SI] 寄存器间接寻址 10050H(9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH(10) MOV AX,DISP[BX] 寄存器相对寻址 11100H(1l) MOV AX,[BX+SI] 基址变址寻址 10150H(12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H3.2 分别说明下例指令采用的寻址方式和完成的操作功能。

(1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器(2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器(3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器(4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元(5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元(6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元(7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器(8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元(9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元3.3 判断下列指令正误,如果错误请指出原因。

微机原理第三章习题及答案

微机原理第三章习题及答案

第 三 章 存 储 器习题答案一、填空题1、某存储器模块的容量为64K 字节,若采用2164(64K ×1位)组成,则需要2164 8 片,若改用2764(8K ×8位),则需 8 片。

解答:容量单个存储器芯片的存储存储器系统的存储容量=片个数构成存储器系统所需芯所以:64*82164=864*1K bitK bit=所需芯片个数片64*82764=88*8K bitK bit=所需芯片个数片2、1K ⅹ8位的RAM 芯片有 10 条地址线, 8 条数据线,若用其组成16K ⅹ8位存储器需要 16 片。

解答:存储单元的个数(字长)通常与地址线的位数相关,每个存储单元存储的二进制位数(位数)与数据线的位数相关。

存储容量为1K*8bit (8K*8位),表示每片RAM 有1K 个存储单元(K 1210=),每个存储单元存储8位二进制数,也可以写为1KB (B 表示8位二进制数,即1个字节Byte ),因此该RAM 芯片有10根地址线(A 0-A 9),8根数据线(D 0-D 7)。

3、现要用6116SRAM 芯片构成8K ×32位的存储器,共需此种芯片 16 片。

解答:8*326116=162*8K bitK bit=所需芯片个数片二、选择题1、SRAM 芯片6116的3个信号CE 、OE 、WE 电平分别为 时,6116的工作方式为读出。

( D )A.1,0,0 B.0,0,0 C.0,1,1 D.0,0,1解答:3个信号CE 、OE 、WE 为6116的控制信号,CE (书中用CS 表示):片选信号,低电平有效,CE 为低电平时,芯片被选中,此时可以进行读写操作,WE :写允许信号,低电平有效时允许将数据写入芯片,OE :输出允许信号,低电平有效时为读操作。

因此当6116处于读工作方式时CE 为0,OE 为0,WE 为1;处于写工作方式时CE 为0,OE 为1,WE 为0。

微机原理及接口第三章作业答案

微机原理及接口第三章作业答案

微机原理及接口第三章作业答案“微机系统原理与接口技术”第三章习题解答1.下列各条指令是否有错?如果有,请指出错误之处并改正。

(1)movds,1000h(2)mov[100],23h(3)addax,[bx+bp+6](4)pushdl(5)inax,[3fh](6)out3ffh,al(7)lesss,[si](8)pop[ax](9)imul4ch(10)shlbx,5(11)int300(12)xchgdx,0fffh请问:(1)错误。

不容许轻易向段寄存器送来立即数,可以改成:movmovax,1000hds,ax(2)错误。

该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上byteptr或wordptr说明,否则汇编程序会因不能确定操作数长度而指示出错。

可改为:movaddpushinbyteptr[100],23hax,[bx+di+6]dxax,3fh(3)错误。

无法同时采用两个基址寄存器bx、bp展开间接串行,可以改成:(4)错误。

堆栈操作方式需以字为单位展开,而dl就是一个字节。

可以改成:(5)错误。

在输出/输入指令中,8十一位端口地址应当轻易写下在操作数处。

可以改成:(6)错误。

端口地址3ffh已远远超过8十一位二进制则表示范围,16十一位端口地址应用领域dx。

可以改成:movoutlesdx,3ffhdx,alax,[si](7)错误。

les指令的目操作数应该是通用寄存器,不能是段寄存器。

可改为:(8)错误。

ax不能用于间接寻址,间接寻址只能用bx、bp、si、di四个寄存器之一。

可改为:popmovimulmovshl[bx]bl,4chblcl,5bx,cl(9)错误。

立即数无法搞乘法指令的操作数,可以改成:(10)错误。

当逻辑移位的次数大于1时,应该用cl指示次数。

可改为:(11)错误。

操作数300?255,已远远超过有效率的中断类型码范围。

微机原理与接口技术 第三章 课后答案

微机原理与接口技术 第三章 课后答案

第三章参考答案1.按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令:⑴将一个立即数送入寄存器BX;⑵将一个立即数送入段寄存器DS;⑶将变址寄存器DI的内容送入一个存储单元中;⑷从存储单元中取一个数送到段寄存器ES中;⑸将立即数0ABH与AL相加,结果送回AL中;⑹把BX与CX寄存器内容相加,结果送入BX;⑺用寄存器间接寻址方式,实现一个立即数与存储单元内容相加,结果放回存储器。

解:(1)MOV BX, 1234H(2)MOV AX, 1234HMOV DS, AX(3)MOV [BX], DI(4)MOV ES,[BX](5)ADD AL,0ABH(6)ADD BX,CX(7)MOV AX,[BX]ADD AX,1234HMOV [BX],AX2.执行下面程序,完成指令后的填空:MOV AX,2000H ;AH= 20HMOV DS,AX ;AL= 00H DS= 2000HMOV SS,AX ;SS= 2000H AX= 2000HMOV BX,2030H ;BH= 20H BL= 30HMOV SI,BX ;SI= 2030HMOV DI,3040H ;DI= 3040HMOV SI,DI ;SI= 3040HMOV SP,50FFH ;SP= 50FFHMOV DX,SP ;DH= 50H DL= FFHMOV CL,25 ;CL= 19HMOV BL,CL ;CL= 19H BL= 19HMOV AH,0F0H ;AH= F0HMOV CH,AH ;CH= F0HMOV BYTE PTR[DI],64 ;(DI)= 40HMOV WORD PTR[SI],256 ;(SI)= 00H (SI+1)= 01HMOV DL,[SI+1] ;DL= 01HMOV DH,1+[SI] ;DH= 00HMOV AL,1[SI] ;AL= 01HMOV WORD PTR[BX][SI],34 ;(BX+SI)= 22H (BX+SI+1)= 00HMOV [BX+SI+4],BL ;(BX+SI+4)= 19HMOV BP,2[BX+DI] ;BP= 00HMOV [BP],AL ;(BP)= 01HMOV AX,[BP][DI] ;AX= 0100HMOV BL,AL ;BL= 00HMOV ES,BX ;ES= 2000HPUSH BX ;SP= 50FDH (SP,SP+1)= 2000HPUSH DI ;SP= 50FBH (SP,SP+1)= F019HPOP CX ;SP= 50FDH CX= 3040HPOP DX ;SP= 50FFH DX= 2000HXCHG AX,BP ;AX= 0000H BP= 0100HXCHG DH,BL ;DH= 00H BL= 20HLAHF ;FLAG= 0002H AH= 02HSAHF ;FLAG= 0002H AH= 02HPUSHF ;SP= 50FDH (SP,SP+1)= 0002HPOPF ;SP= 50FFH FLAG= 0002H3.设DS=2000H,ES=2100H,SS=1500H,SI=00A0H。

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

第三章微机原理课后习题参考答案
1. 指出下列指令的错误原因。

(1) AND AX, DL ;类型不匹配
(2) ADD CS, DX ;CS不能作为目的操作数
(3) MOV AX, IP ;IP不能作为指令的操作数
(4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数
(5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前
(6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式
(7) JGE AX ;条件转移指令的操作数只能是标号
(8) PUSH DL ;对堆栈不能进行字节操作
2. 用一条指令将BX清0。

(请给出3种方法)
方法1:MOV BX, 0
方法2:SUB BX, BX
方法3:AND BX, 0 ;将BX和0做与,可以将BX清零
方法4:XOR BX, BX
3. 写出实现下列功能的指令序列。

(1) 判断AX的值,若AX等于0,则转到标号LABEL处。

(请写出3种方法)
方法1:
CMP AX, 0
JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果,因此指令执行后AX内容不会受到破坏
方法2:
TEST AX, 0FFFF H
JZ LABEL ; 如果ZF = 0,说明AX为0
方法3:
AND AX, 0FFFF H
JZ LABEL
(2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位
清0。

MOV AH, AL
AND AL, 0FH ; AL高4位通过与清零,而低4位保持不变
MOV CL, 4
SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,
高位补零
(3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入
BX;否则,AX和BX不变。

MOV DX,AX ;首先判断是否是1奇1偶,如是则保持不变
ADD DX,BX
TEST DX,01H ;检测AX与BX是否同为偶数或同为奇数
JZ CONTINUE
TEST AX, 01H ;检测AX的最低位
JNZ CONTINUE
XCHG AX, BX
CONTINUE : ….;无需处理,AX,BX中内容将不变
4. 分析下列指令序列完成什么功能。

MOV CL, 4
SHL DX, CL
MOV BL, AH
SHL AX, CL
SHR BL, CL
OR DL, BL
答案:将DX.AX中的32位数整体逻辑左移4位。

5. 给出下列各条指令执行后AL以及CF、OF、SF、和ZF的值。

指令AL CF OF SF ZF 备注
MOV AL, 100 100/64H MOV指令不影响标志位
XOR AL, AL 100/64H 0 0 0 1 除NOT外,逻辑运算后CF=OF=0,其余
据结果设置;逻辑运算指令下,AF标志
位为任意值
MOV AL, -1 -1/0FFH 0 0 0 1 MOV指令不影响标志位
INC AL 0 0 0 0 1 INC不影响CF,其余根据结果设置NOT AL 0FFH 0 0 0 1 NOT指令不影响标志位
SHL AL, 1 0FEH 1 0 1 0 位移指令根据移出的位设CF;根据结果
设SF,ZF,PF;只移动一位时,根据移
位前后最高位是否变化设置,决定OF,
有变化OF = 1, 无变化OF = 0;移动多位
时,OF位无定义;位移运算指令下,AF
标志位为任意值
CMP AL, 10 0FEH 0 0 1 0 CMP指令根据结果设置6个标志位SUB AL, 7FH 7FH 0 1 0 0 SUB根据结果设置6个标志位
SHL AL, 1 0FEH 0 1 1 0 解释同上
6. 比较AX,BX和CX中无符号数的大小,将最小数放入AX中。

答案:
CMP AX, BX
JC BBB ; 如果AX <= BX,跳转
XCHG AX, BX ; 否则,交换AX和BX的值,将两者中的小值放到AX中去
BBB:
CMP AX, CX
JC CCC ; 如果AX <= CX,跳转
XCHG AX, CX ; 否则,交换AX和CX的值,将两者中的小值放到CX中去
CCC:
INT 20H ;返回DOS
7. 变量定义伪指令与符号定义伪指令的主要作用是什么?
答案:
变量定义伪指令:主要用来为某种类型(比如字节型、字型)的内存单元的地址,指定
一个可以引用的名字标识。

符号定义伪指令:其实就是定义一个宏替换常量,用定义的符号代表一个文本串或者一
个数值,在程序中遇到定义的符号时,用相应的文本串或者数值去替换。

8. 设有下列段定义:
DSEG SEGMENT
X DW 1, 3
DSEG ENDS
给出下列两组指令序列分别执行后AX的值。

(1) MOV AX, DSEG
MOV DS, AX
MOV AX, X+1 ;地址运算
(2) MOV AX, SEG X
MOV ES, AX
MOV AX, ES: X
INC AX
答案:
(1) (AX) = 0300H (2) (AX) = 0002H Array 9. 设有如下定义的数据段:
DA TA SEGMENT
ORG 10H
V1 DW 2 DUP (20), $ + 10
BUF1 DB ‘100’, 5
DD 0
BUF2 DW 1, 2, 2A9H
LEN EQU BUF2 – BUF1
V A DW BUF1
DA TA ENDS
则:V1+1中存放的字节数据为(00H );
V1+4中存放的字数据为(001EH);
V A的内容为(16H);
LEN的值为(8)。

相关文档
最新文档