微机原理习题3及答案解析

合集下载

微机原理(第三版)课后练习答案解析

微机原理(第三版)课后练习答案解析

微机原理(第三版)课后练习答案解析1 思考与练习题⼀、选择题1.计算机硬件中最核⼼的部件是( )。

CA.运算器B.主存储器C.CPUD.输⼊/输出设备2.微机的性能主要取决于( )。

A(B——计算机数据处理能⼒的⼀个重要指标)A.CPUB.主存储器C.硬盘D.显⽰器3.计算机中带符号数的表⽰通常采⽤( )。

CA.原码B.反码C.补码D.BCD码4.采⽤补码表⽰的8位⼆进制数真值范围是( )。

CA.-127~+127B.-1 27~+128C.-128~+127D.-128~+1285.⼤写字母“B”的ASCII码是( )。

BA.41HB.42HC.61HD.62H6.某数在计算机中⽤压缩BCD码表⽰为10010011,其真值为( )。

CA.10010011BB.93HC.93D.147⼆、填空题1.微处理器是指_CPU_;微型计算机以_CPU_为核⼼,配置_内存和I/O接⼝_构成;其特点是_(1)功能强 (2)可靠性⾼ (3)价格低 (4)适应性强 (5)体积⼩ (6)维护⽅便_。

P8 P52.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能⼒的⼀个重要指标;构成主存的器件通常采⽤_DRAM和PROM半导体器件_。

P5 P93.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。

P94.计算机中的数据可分为_数值型和⾮数值型_两类,前者的作⽤是_表⽰数值⼤⼩,进⾏算术运算等处理操作_;后者的作⽤是_表⽰字符编码,在计算机中描述某种特定的信息_。

P125.机器数是指_数及其符号在机器中加以表⽰的数值化_;机器数的表⽰应考虑_机器数的范围、机器数的符号、机器数中⼩数点位置_3个因素。

P15 P166.ASCII码可以表⽰_128_种字符,其中起控制作⽤的称为_功能码_;供书写程序和描述命令使⽤的称为_信息码_。

微机原理课后习题解答

微机原理课后习题解答

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

(1) B =(2)01011101.101B =解:(1) B = 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 = 00B(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] 原码= B[-37] 反码= B[-37] 补码= B6.求下列用二进制补码表示的十进制数(1)(01001101)补=(2)()补=解:(1)(01001101)补= 77D(2)()补= -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部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。

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

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

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

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

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

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

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

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

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

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

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

微机原理与接口技术:08第3章 寻址方式和指令系统3.3 习题3

微机原理与接口技术:08第3章 寻址方式和指令系统3.3 习题3

交通信息与控制工程系教案(理论教学用)课程名称微机原理与接口技术第 8 次第 4 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第三章寻址方式和指令系统(3.3)教学目的和要求1.掌握8086的基本指令,如逻辑运算和移位指令、串操作指令、程序控制指令等。

讲授主要内容及时间分配1.逻辑运算和移位指令;(35min)2.串操作指令;(20min)3.程序控制指令;(25min)4.处理器控制指令。

(10min)教学重点与难点重点:1.逻辑运算和移位指令的基本功能和格式;2.串操作指令的基本功能和格式;3.程序控制指令的基本功能和格式。

难点:逻辑运算和移位指令的基本功能和格式。

要求掌握知识点和分析方法1.逻辑运算和移位指令的格式、功能及应用方法;2.串操作指令的格式、功能及应用方法;3.程序控制指令的格式、功能及应用方法。

启发与提问1.逻辑移位和算术移位指令的区别?教学手段多媒体+板书作业布置思考题:1.远跳转和近跳转的区别?3.2, 3.53.9, 3.113.12, 3.14主要参考资料备注讲授内容三、逻辑运算和移位类1.逻辑运算逻辑运算指令对操作数的要求大多与MOV指令相同。

逻辑运算是按位操作的,它包括AND(与)、OR (或)、NOT(非)、XOR(异或)和TEST(测试)指令。

除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0,AF位无定义,SF、ZF和PF 根据运算结果设置。

“与”运算指令格式:AND OPRD1,OPRD2操作:两操作数相“与”,结果送目标地址。

【例】要屏蔽AL中的高4位。

AND AL,00001111B【例】AND AL,AL此指令执行前后,(AL)无变化,但执行后使标志位发生了变化,即CF=0,OF=0。

“或”运算指令格式:OR OPRD1,OPRD2操作:两操作数相“或”,结果送目标地址【例】(AL)=0FH,OR AL,10000000B(AL)=8FH【例】OR AL,AL指令执行前后,(AL)不变,但执行后标志位发生了变化,即CF=0,OF=0。

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

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

3.1已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H ,(1E4F6H)=091DH。

在以上给出的环境下,试问下列指令段之行后的结果如何?(1)MOV CL,[BX+20H][SI];物理地址=DS*10H+BX+SI+20H=091D0H+0024H+0012H+0020H=09226H(09226H)=00F6H,(09226H)=F6H, (09227H)=00H执行后:CL=F6H(2)MOV [BP][DI], CX物理地址=SS*10H+BP+DI=1E4A0H +0024H+0032H=1E4F6HCX=5678H 执行后:(1E4F6H) = 5678H(3)LEA BX, [BX+20H][SI];BX=BX+20H+SI=0056HMOV AX, [BX+2];物理地址=DS*10H+BX+2=091D0H +0058H=09228H (09228H)=1E40H 执行后:AX=1E40H(4)LDS SI, [BX][DI];物理地址=DS*10H+BX+DI=091D0H +0056H=09226H (09226H)=00F6H (09228H)=1E40H执行后:BX=(09226H)=00F6HDS=(09228H)=1E40HMOV [SI],BX物理地址=DS*10H+SI =1E400H +0012H=1E412HBX=0024H, 执行后:(1E412H)=0024H (5)XCHG CX,[BX+32H]物理地址=DS*10H+BX+32H =091D0H +0056H =09226H (09226H)=00F6H , CX=5678H执行后:(09226H)=5678H , CX=00F6HXCHG [BX+20H][SI], AX物理地址=DS*10H+BX+20H+SI =091D0H +0056H =09226H (09226H)=5678H , AX=1234H执行后:(09226H)=1234H , CX=5678H3.2设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H。

微机原理习题解答(供参考)

微机原理习题解答(供参考)

微机原理习题解答(供参考)第1章习题和解答15. 将下列⼗进制数分别转化为⼆进制数、⼗六进制数和BCD码。

(1)15.32=(0000 1111.0101 0001)2=(0F.51)16=(0001 0101.0011 0010)BCD(2)325.16=(0001 0100 0101.0010 1000)2=(145.28)16=(0011 0010 0101.0001 0110)BCD(3)68.31=(0100 0100.0100 1111)2=(44.4F)16=(0110 1000.0011 0001)BCD(4)214.126=(1101 0110.0010 0000)2=(0D6.20)16=(0010 0001 0100.0001 0010 0110)BCD16. 将下列⼆进制数分别转化为⼗进制数和⼗六进制数。

(1)10110101= 181=0B5H(2)11001011= 203=0CBH(3)10101.1001= 21.5625=15.9 H(4) 101101.0101= 45.3125=2D.5H17. 将下列⼗六进制数分别转化为⼆进制数、⼗进制数。

(1)FAH=1111 1010B=250(2)12B8H=0001 0010 1011 1000B=4792(3)5A8.62H=0101 1010 1000.0110 0010B=1448.3828125(4)2DF.2H=0010 1101 1111.0010B=735.12518. 若X=-107,Y=+74按8位⼆进制可写出:。

[X]补=95H ,[Y]补=4AH , [X +Y]补=0DFH,[X-Y]补=4BH。

19.X=34AH,Y=8CH。

问:有三位和两位⼗六进制数X和Y,(1)若X,Y是纯数(⽆符号数),则:X+Y=3D6H;X-Y=2BEH。

(2)若X,Y是有符号数,则:X+Y=2D6 H;X-Y=3BEH。

微机原理和接口技术习题答案解析3

微机原理和接口技术习题答案解析3

第3章 8086CPU指令系统1.写出完成下列要求的变量定义语句:(1)在变量var1中保存6个字变量:4512H,4512,-1,100/3,10H,65530;(2)在变量var2中保存字符串:’BYTE’, ’word’, ’WORD’;(3)在缓冲区buf1中留出100个字节的存储空间;(4)在缓冲区buf2中,保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次;(5)在变量var3中保存缓冲区buf1的长度;(6)在变量pointer中保存变量var1和缓冲区buf1的偏移地址。

解:var1 DW 4512H,4512,-1,100/3,10H,65530var2 DB ’BYTE’,’word’,’WORD’buf1 DB 100 DUP(?)buf2 DB 7 DUP(5 DUP(55H),10 DUP(240))var3 DB LENGTH buf1pointer DW var1,buf1 (或者pointer DW OFFSET var1,OFFSET buf1)2.设变量var1的逻辑地址为0100:0000,画出下列语句定义的变量的存储分配图:var1 DB 12,-12,20/6,4 DUP(0,55H)var2 DB ‘Assemble’var3 DW ‘AB’, ‘cd’, ‘E’var4 DW var2var5 DD var2解:3.指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1, VAR2为字变量, L1为标号):(1)MOV SI,100 (2)MOV BX,VAR1[SI](3)MOV AX, [BX] (4)MOV AL, [DX](5)MOV BP, AL (6)MOV VAR1, VAR2(7)MOV CS, AX (8)MOV DS, 0100H(9)MOV [BX][SI], 1 (10)MOV AX, VAR1+VAR2(11)ADD AX, LENGTH VAR1 (12)OR BL, TYPE VAR2(13)SUB [DI], 78H (14)MOVS VAR1, VAR2(15)PUSH 100H (16)POP CS(17)XCHG AX, ES (18)MOV DS, CS(19)JMP L1+5 (20)DIV AX, 10(21)SHL BL, 2 (22)MOV AL, 15+23(23)MUL CX (24)XCHG CL, [SI](25)ADC CS:[0100], AH (26)SBB VAR1-5,154解:(1)MOV SI,100 正确。

微机原理习题答案3

微机原理习题答案3

《微型计算机原理》习题3(P117)参考答案(部分题号与教材有错位,请注意)3.1 为什么要研究8086/8088微处理器及其系统?这比直接研究32位微处理器及其系统有何优缺点?解:尽管8086/8088后续的80286、80386、80486以及Pentium系列CPU结构和功能已发生很大变化,但从基本概念与结构以及指令格式上来讲,他们仍然是经典的8086/8088CPU的延续与提升。

3.2 8086 CPU有多少根数据线和地址线?它能寻址多少内存地址单元和I/O端口?8088CPU又有多少根数据线和地址线?为什么要设计8088CPU?解:8086 CPU有16根数据线和20根地址线,可寻址1MB存储单元和64KB的I/O端口。

8088 CPU 有16位内部数据线和8条外部数据总线,20根地址线。

8088 CPU 是8086 CPU的向下兼容版,这样设计主要为了与INTEL原有的8位外围接口芯片直接兼容。

3.3 8086 CPU内部按功能可分为哪两大部分?他们各自的主要功能是什么?解:从功能上讲,8086可分为两个部分,即总线接口单元(bus interface unit,BIU)和执行单元(execution unit ,EU)。

总线接口单元(BIU)的功能是负责CPU与存储器或I/O设备之间的数据传送。

EU的功能只是负责执行指令;执行的指令从BIU的指令队列缓冲器中取得,执行指令的结果或执行指令所需要的数据,都由EU向BIU发出请求,再由BIU经总线控制电路对存储器或外设存取。

3.4 8086 CPU内部的总线接口单元BIU由哪些功能部件组成?他们的基本操作原理是什么?解:BIU内有4个16位的段地址寄存器CS、DS、SS和ES,16位指令指针IP,6字节指令队列缓冲器,20位地址加法器和总线控制电路。

基本操作原理是BIU要从内存取指令送到指令队列缓冲器;CPU执行指令时,总线接口单元要配合执行单元从指定的内存单元或者外设端口中取数据,将数据传送给执行单元,或者把执行单元的操作结果传送到指定的内存单元或外设端口中。

微机原理第三章习题答案

微机原理第三章习题答案

习题3答案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, 0FFHJZ LABEL ; 如果ZF = 0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。

; 和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已; 经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏方法3:AND AX, 0FFH ;这个方法的原理和方法2其实是完全一致的JZ 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不变。

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

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

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

东华理工 微机原理第三章习题答案

东华理工 微机原理第三章习题答案

3.1给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用BX的寄存器寻址(4) 使用BX的简接寻址(5) 使用BX的寄存器相对寻址(6) 基址变址寻址(7) 相对基址变址寻址答:(1) 操作数在指令中,即立即数;(2) EA=D=7237H;(3) 无EA,操作数为(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丢失,因此EA=004FH。

3.2试根据以下要求写出相应的汇编语言指令(1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。

(2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。

(3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。

(4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。

(5) 把数0B5H与(AL)相加,并把结果送回AL中。

答:(1) ADD DX, BX(2) ADD AL, [BX][SI](3) ADD [BX+0B2H], CX(4) ADD WORD PTR [0524H], 2A59H(5) ADD AL, 0B5H3.3写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。

要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻址(3) 基址变址寻址答:(1) MOV BX, OFFSET BLOCK ADD BX, (6–1)*2MOV DX, [BX](2) MOV BX, OFFSET BLOCKMOV DX, [BX+(6–1)*2]BLOCK[BX](3) MOV BX, OFFSET BLOCKMOV SI, (6–1)*2MOV DX, [BX][SI]3.4现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。

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

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

微机原理第三章练习题及解一:单项选择题●指令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。

微机原理习题解答

微机原理习题解答

6、完成下列码制之间的转换 [X]原=BDH [X]补、[X]反、X真值= ? [X]反=3CH [X]补、[X]原、X真值= ? [X]补=8AH [X]反、[X]原、X真值= ?
[X]原=BDH [X]补=C3H [X]反=C2H X真值= -61 [X]反=3CH [X]补=3CH [X]原=3CH X真值= 60 [X]补=8AH [X]反=89H [X]原=F6H X真值= -118
第二章习题 1、 CPU常用的工作方式有哪几种?8086CPU采用 哪种工作方式? CPU 常 用 的 工 作 方 式 有 串 行 方 式 和 并 行 方 式 , 8086CPU采用并行工作方式。 2 、 8086CPU 有哪几部分组成?各组成部分的主要 功能是什么? 8086CPU有执行部件EU和总线接口部件BIU组成。 EU的主要功能是 (1)从指令队列中取出指令。 (2)对指令进行译码,发出相应的控制信号。 (3)向BIU发出请求。 ( 4 )执行指令包括进行算术、逻辑运算,并计算 操作数的偏移量。
5、完成下列数制之间的转换 (48)D=( 30 )H=(00110000)B (6DB)H=(1755)D=(11011011011)B (10101101)B=( AD)H=( 173 )D (98)D=( 10011000)BCD=( 1100010 )B (010110010010)BCD=( 592 ) D =(1001010000) B
4、微型计算机内部、外部的结构特点是什么? 总线结构的优点是什么?
微型计算机内部为单总线结构,外部为三总线结 构即AB、DB、CB 有了总线结构以后,系统中各功能部件的相互关 系变为各个部件面向总线的单一关系,一个部件 只要符合总线标准,就可以连接到采用这种总线 标准的系统中,使系统功能很方便得到扩展。

微机原理第3章习题与答案

微机原理第3章习题与答案

习题一、选择题1.寻址方式指出了操作数的位置,一般来说_______。

A.立即寻址给出了操作数的地址B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器C.直接寻址直接给出了操作数本身D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称答案:D2.寄存器寻址方式中,操作数在_________。

A.通用寄存器B.堆栈C.内存单元D.段寄存器答案:A3.寄存器间接寻址方式中,操作数在_________。

A.通用寄存器B.堆栈C.内存单元D.段寄存器答案:C4.下列指令中的非法指令是______。

A. MOV [SI+BX], AXB.MOV CL, 280C.MOV [0260H], 2346HD.MOV BX, [BX]答案:B5.设(SP)=0100H,(SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是_____。

A.200FEHB.0102HC. 20102HD.00FEH答案:A6.指令LEA BX, TAB执行后,其结果是______。

A.将TAB中内容送BXB.将TAB的段基址送BXC.将TAB的偏移地址送BXD.将TAB所指单元的存储内容送BX答案:C7.下列正确的指令格式有______。

A.MOV [BX], 1B.MOV AL, 0345HC.MOV ES: PTR[CX], 3D. XLAT答案:D8.设(AX)=C544H,在执行指令ADD AH,AL之后,______。

A.CF=0,OF=0B.CF=0,OF=1C.CF=1,OF=0 D,CF=1,OF=1答案:C9.若AL、BL中是压缩BCD数,且在执行ADD AL, BL之后,(AL)=0CH,CF=1,AF=0。

再执行DAA后,(AL)=_____。

A.02HB.12HC.62HD.72H答案:B10.执行下列程序后AL的内容为_____。

MOV AL, 25HSUB AL, 71HDASA.B4HB.43HC.54HD.67H答案:C11.下列四条指令中,需要使用DX寄存器的指令是______。

微机原理课后习题解答分解

微机原理课后习题解答分解

微机原理习题第一章绪论习题与答案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码。

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

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

第三章习题与参考答案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 判断下列指令正误,如果错误请指出原因。

微机原理课后习题答案

微机原理课后习题答案

微机原理课后习题答案2.1 8086 CPU 在内部结构上由哪几部分组成?其功能是什么?【答】8086 的内部结构-成两部分:总线接口部件BIU,负责控制存储器读写。

执行部件EU,EU 从指令队列中取出指令并执行。

8086 是16 位微处理器,有16 根数据线、20 根地址线,内部寄存器、运算部件以及内部操作都是按16 位设计的。

2.2 8086 的总线接口部件有那几部分组成?【答】8086 的总线接口部件主要由下面几部分组成:4 个段寄存器CS/DS/ES/SS, 一个16 位的指令指针寄存器IP, 一个20 位地址加法器, 6 字节的指令队列,内部暂存器以及输入输出电路组成.2.3 8086 的执行部件有什么功能?由那几部分组成?【答】8086 的执行部件主要由下面几部分组成:(1)四个16 位通用寄存器AX、BX、CX、DX, 通用四个16 位专用寄存器,包括二个指针寄存器SP、BP, 二个变址寄存器SI、DI, 算术逻辑单元ALU,标志寄存器。

2.4 8086CPU 状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086 的状态标志和控制标志分别有哪些?【答】标志分两类:状态标志(6 位):反映刚刚完成的操作结果情况。

控制标志(3 位):在某些指令操作中起控制作用。

2.5 8086/8088 和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU 执行转移指令时,指令队列寄存器内容如何变化?【答】传统的计算机一般按照取指令、指令译码/执行指令的步骤工作。

在8086/8088 中,指令的提取与执行分别由总线接口部件BIU 与执行部件EU 完成,8086/8088 可以在取指令同时又可以执行指令,这种并行工作方式有力的提高了CPU 的工作效率。

2.6 将两数相加,即0100 1100 加0110 0101,CF、PF、AF、ZF、SF、OF 各为何值?【答】0100 1100+0110 0101=10110001CF=0,PF=1,AF=1,ZF=0,SF=1,OF=12.7 存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有20 位地址线的CPU,其最大物理地址为多少?【答】存储器的逻辑地址由段地址与段内偏移地址组成。

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

习题三
5.4 指出下列指令的错误是什么?
(1) MOV BL ,AX (2) MOV [BX],[BP+SI]
(3) MOV CS ,AX (4) MOV DS ,1000H
(5) MOV BX ,[SI][DI] (6) MOV [2000H],10
解: (1)类型属性不匹配; (2)两操作数都是存储单元;
(3)把CS 用作目的操作数 (4)立即数送段寄存器;
(5)源操作数中两个均为变址寄存器; (6)类型属性不明确
5.5 设当前数据段寄存器的内容为1B00H ,在数据段偏移地址为2000H 开始的单元内,含有一个内容为0FF10H 和8000H 的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX 的指令序列,并画出内存图。

解: 内存图:
指令序列: MOV BX ,[2000H]
MOV AX ,[2002H]
MOV DS ,AX
MOV AX ,[BX]
或者:
LDS BX ,[2000H]
MOV AX ,[BX]
5.7 要求从85号端口读入一个字节数据,然后到数据段首地址为1000H 的表格中换取相应的数据码,再将该数据输出至3000号端口,试编写指令序列。

解: IN AL ,85
MOV BX ,1000H
XLAT
MOV DX ,3000
OUT DX ,AL
5.9 根据以下要求编写相应的指令:
(1)将AX寄存器和BX寄存器的内容相加,结果存入BX寄存器。

(2)用增量指令使采用BX寄存器间接寻址的单元中的字节内容加1。

(3)用BX寄存器和位移量300H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,结果送回该存储单元中。

(4)用寄存器BX和SI的基址变址寻址方式,把存储器中的一个字节与AH 寄存器的内容相加,并保存在AH中。

(5)采用合适的指令,将1000H单元中的字与1200H单元中的字相加,结果存入1000H单元。

解:(1) ADD BX,AX
(2) INC BYTE PTR[BX]
(3) ADD [BX+300H],CX
(4) ADD AH,[BX][SI]
(5) MOV BX,1000H
MOV AX,[1200H]
ADD [BX],AX
5.10 设以下表达式中的变量名均为16位带符号数所在单元的地址,编写指令序列,完成下列运算(出发运算的余数舍去):
(W×Y)/(A+70)→X
(A-B×C)/(X-Y)→Z
解:(1) MOV AX,W
IMUL Y
MOV BX,A
ADD BX,70
IDIV BX
MOV X,AX
(2) MOV AX,B
IMUL C
MOV BX,AX
MOV CX,DX
MOV AX,A
CWD
SUB AX,BX
SBB DX,CX
MOV BX,X
SUB BX,Y
IDIV BX
MOV Z,AX
5.11 变量VARA1和变量VARA2已定义如下:
VARA1 DW 23A8H,0280H
VARA2 DW 0A210H,1248H
(1)将VARA1和VARA2单元中的对应字数据相加,结果存入VARA2指示的单元中
(2)将VARA1单元中的两个字作为双字和VARA2单元中的两个字组成的双字相加,结果存放在VRAR2单元中,双字的存放格式都是低位字在低地址单元、高位字在高地址单元中。

解:(1) MOV AX,VARA1
ADD VARA2,AX
(2) MOV AX,VARA1
ADD VARA2,AX
MOV AX,VARA1+2
ADC VARA2+2,AX
5.13 指出下列各条指令是否正确,如不正确,则指出其错在何处。

(1) MOV CS,1000H (2) ADC BX,25H
(3) ADD [BX],20 (4) MUL AX,BL
(5) PUSH CS (6) MOV DX,2000H
(7) ADD [BX+SI],30H (8) POP CS
(9) INC [SI] (10)MOV [BX],[SI]
解:(1)错误――――CS不可作目的操作数
(2)正确
(3)错误――――类型属性不明确
(4)错误――――累加器AX应该是隐含的
(5)正确(6)正确
(7)错误――――类型属性不明确
(8)错误――――CS不可作目的操作数
(9)错误――――类型属性不明确
(10)错误――――两操作数不可都在存储器中
5.14 用逻辑运算指令分别写出完成下列要求的指令:
将BX寄存器中的高4位清零。

将CX寄存器中的第0、1两位置1。

将AL寄存器的中间4位变反。

测试AX的最高位和次高位是否为0。

解:(1) AND BX,0FFFH
(2) OR CX,0003H
(3) XOR AL,003CH
(4) TEST AX,0C000H
5.15 设(BX)=0A6H,(CL)=3,CF为1,试指出下列各条指令单独执行后BX 中的值。

(1) SAR BX,1 (2) SHR BX,CL
(3) SHL BL,CL (4) SAL BL,1
(5) ROR BX,CL (6) RCL BX,CL
(7) ROL BH,1 (8) RCR BL,1
解:(1)(BX)=0053H (2)(BX)=0014H (3)(BX)=0030H (4)(BX)=004CH (5)(BX)=0C014H (6)(BX)=0534H (7)(BX)=0A6H (8)(BX)=00D3H
5.17 利用移位指令、传送指令和加法指令完成乘法运算(AX)×10。

解: SAL AX,1
MOV BX,AX
MOV CL,2
SAL AX,CL
ADD AX,BX
5.18 试分别指出在下列3种条件下执行指令 SUB AX,BX 时,对标志位OF、CF、SF、ZF影响的情况:
(1)(AX)=14C6H ,(BX)=80DCH
(2)(AX)=42C8H ,(BX)=608DH
(3)(AX)=0D023H ,(BX)=9FD0H
解:(1) OF=1,CF=1,SF=1,ZF=0
(2) OF=0,CF=1,SF=1,ZF=0
(3) OF=0,CF=0,SF=0,ZF=0
5.20 在一个名为STRING、长度为100字节的字符串中查找是否含有字符“$”,如果有则将第一次发现的“$”字符所在单元的偏移地址送入BX寄存器中;如果未曾找到,则将0FFFFH送入BX寄存器中。

解: CLD
MOV AL,‘$’
LEA DI,STRING
MOV CX,100
REPNE SCASB
JNE ZER
DEC DI
MOV BX,DI
JMP STOP
ZER: MOV BX,0FFFFH
STOP: HLT
5.21 将2000H段中名为BUFST的缓冲区中长度为200个字节的数据串移到3000H段中名为DSTST的缓冲区中。

编写两种采用不同指令实现该功能的程序段。

解:(1) MOV AX,2000H
MOV DS,AX
MOV AX,3000H
MOV ES,AX
MOV CX,200
CLD
LEA SI,BUFST
LEA DI,DSTST
REP MOVSB
HLT
(2) MOV AX,2000H
MOV DS,AX
MOV AX,3000H
MOV ES,AX
MOV CX,200
LEA SI,BUFST
LEA DI,DSTST
AGN: MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP AGN
HLT
5.22 将1000段中名为DATSTR的字符串,向高地址方向平移20个字节,字符串的长度为45字节。

解: STD
MOV AX,1000H
MOV DS,AX
MOV ES,AX
LEA SI,DATSTR+44
LEA DI,DATSTR+64
MOV CX,45
REP MOVSB
HLT。

相关文档
最新文档