《微机原理及应用》教材课后习题及答案
微机原理及应用(陈继红、徐晨)课后习题答案

微机原理及应用(陈继红、徐晨)课后习题答案第三章8086/8088指令系统和寻址方式习题答案(部分)3.1 总结计算机中十进制、二进制、八进制及十六进制数的书写形式。
123D、0AFH、77Q、1001110B分别表示什么计数制的数答案:123D、0AFH、77Q、1001110B分别表示十进制、十六进制、八进制、二进制。
3.2字长为8位、16位二进制数的原码、补码表示的最大数和最小数分别是什么答案:8位原码表示的最大数:(27-1)、8位补码表示的最大数:(27-1)、8位原码表示的最小数:-(27-1)、8位补码表示的最小数-27。
16位原码表示的最大数:(215-1)、16位补码表示的最大数:(215-1)、16位原码表示的最小数:-(215-1)、16位补码表示的最小数-215。
3.3 把下列十进制数分别转换为二进制数和十六进制数。
(1)125 (2)255 (3)72 (4)5090答案:(1) 125二进制数:0111 1101B;十六进制数:7DH。
(2)255二进制数:1111 1111B;十六进制数:0FFH。
(3)72二进制数:0100 1000B;十六进制数:48H。
(4)5090二进制数:0001 0011 1110 0010B;十六进制数:13E2H。
3.4 把下列无符号二进制数分别转换为十进制数和十六进制数。
(1)1111 0000 (2)1000 0000 (3)1111 1111 (4)0101 0101答案:(1)1111 0000十进制数:240D;十六进制数:0F0H。
(2)1000 0000十进制数:128D;十六进制数:80H。
(3)1111 1111十进制数:255D;十六进制数:0FFH。
(4)0101 0101十进制数:85D;十六进制数:55H。
3.5 把下列无符号十六进制数分别转换为十进制数和二进制数。
(1)FF (2)ABCD (3)123 (4)FFFF答案:(1)FF十进制数:255D;二进制数;1111 1111B。
《微机原理及应用》教材课后习题参考答案

《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案第三章3-5(1)MOV SI, 2100H 源:立即数;目标:寄存器(2)MOV CX, DISP[BX] 源:基址,EA=BX+DISP,PA=DS×16+BX+DISP;目标:寄存器(3)源:寄存器;目标:寄存器间接寻址EA=SI,PA=DS×16+SI(4)源:基址加变址,EA=BX+SI,PA=DS×16+BX+SI;目标:寄存器(5)源:寄存器;目标:寄存器(6)源:基址,EA=BX+10H,PA= DS×16+BX+10H;目标:寄存器(7)源:寄存器间接,EA=BX,PA= ES×16+BX;目标:寄存器(8)源:带位移量的基址加变址,EA=BX+SI+20H,PA= DS×16+BX+SI+20H;目标:寄存器(9)源:寄存器;目标:寄存器间接,EA=BP,PA= SS×16+BP(10)源:寄存器;目标:存储器,EA=SP-2,PA= SS×16+SP-23-7(1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOV AX, [BX+SI](2)错,V ALUE1和V ALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存储器,ADD指令无此组合形式(3)错,立即数不能直接传给段寄存器(4)错,CS不能作为目标操作数(5)错,立即数不能作为目标操作数,两个操作数互换位置即可(6)如果V ALUE1是用DW定义的WORD型变量,则此题正确,否则错误(7)错,段寄存器不能直接传给段寄存器(8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOV CL, 3; ROL [BX][DI],CL(9)错,NOT操作符只有一个操作数(10)对,CS不能作为目标操作数,但可以作为源操作数(11)错,不能直接将立即数压入堆栈(12)错,两处错误,1:IN指令应该AL在前,端口地址在后;2:端口地址100H超过8位数能表示的范围,应该先将100H送给DX,改成MOV DX, 100H; IN AL, DX(13)错,LEA指令的第二操作数必需为存储器寻址方式(14)错,CX不能作为寄存器间接寻址方式,应将CX改成BX/BP/SI/DI之一3-8(1)AX=3355H, SP=1FFEH(2)AX=3355H, DX=4466H, SP=1FFCH3-9 BX=4154H, [2F246H]=6F30H3-10 BX=139EH3-11 SI=0180H, DS=2000H3-12(1) CL=F6H(2) [1E4F6H]=5678H(3) BX=9226H, AX=1E40H(4) SI=9226H, [SI]=[1E4F6]=0024H(5) AX=5678H, [09226H]=1234H3-13 AF=0, CF=1, OF=1, SF=0, ZF=03-14(1) MOV AX, 0 XOR AX, AX SUB AX, AX(2) MOV CL, 4ROL BL,CL (或ROR BL, CL)(3) 题中没规定N1和N2是8位还是16位数,现假定都8位数(也可假定是16位数,程序不一样)MOV AH, 0MOV AL, N1IDIV N2MOV M1, ALMOV M2, AH(4) 题目的意思即使BX的b4,b6,b11位清零AND BX, 0F7AFH(5) XOR AX, 4020H(6) TEST DX, 0201H(7) TEST CL, 1JNZ NEXTINC CL (或DEC CL)NEXT:3-15 假设题目的意思理解为编号从1开始(1) LEA BX, BLOCK+(6-1)*2MOV AX, [BX](2) LEA BX, BLOCKMOV AX, 10[BX](3) LEA BX, BLOCKMOV SI, 0MOV AX, 10[BX][SI](4) MOV AX, BLOCK+103-16(1) 结果存在地址是580H端口中,[580H]=60H(2) 结果存在地址是580H端口中,[580H]=8060H(即[580H]=60H, [581H]=80H)(3) 结果存在AL中,AL=[40H]=4FH(4) 结果存在AX中,AL=[40H]=4FH, AH=[41H](题目中没有给出端口41H中的值)(5) 结果存在地址是45H端口中,[45H]=60H(6) 结果存在地址是45H端口中,[45H]=8060H(即[45H]=60H,[46H]=80H)3-17 假定每小题中NUM1和NUM2都是和题中指定的操作数等长,即(1)中NUM1和NUM2为字变量,(2)(3)中为字节变量,(4)中为双字变量(1) MOV AX, NUM2ADD NUM1, AX(2) MOV CX, 4LEA BX, NUM1XOR AL, AL ; AL清零L1: ADD AL, [BX]INC BXLOOP L1MOV RES, AL(3) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]JNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(4) MOV AX, WORD PTR NUM1ADD WORD PTR NUM2, AXMOV AX, WORD PTR NUM1+1ADC WORD PTR NUM2+1, AX ; (MOV指令不影响CF标志位,否则不能这么写) 3-18(1) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]DAAJNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(2) MOV AL, NUM1SUB AL, NUM2DASMOV RES, AL差=90H, CF=13-19(1) MOV AL, NUM1MUL NUM2 ; 8位乘8位MOV WORD PTR RES, AX(2) MOV AX, NUM1IMUL NUM2 ;16位乘16位MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX(3)MOV AL, NUM1MOV BL, 46CBWDIV BLMOV WORD PTR RES, AX(4) MOV AX, NUM1CWDIDIV NUM2 (或DIV NUM2)MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX3-20(1)53乘以2MOV AL, 53SHL AL, 1结果106(2) -49乘以2MOV AL, -49 ; -49补码为CFHSHL AL, 1 ;AL=9EH, 真值即为-98结果-98除以2类似3-21(1) BX=009AH(2) BX=15CH(3) BX=8071H(4) BX=10F7H(5) BX=FF1CH3-22(1) DX=[20506]=0006H BX=0004H(2) SP=1FFEH, [SP]=CX=FFFEH(3) CX=BX=0004H(4) AX=8094H, CF=0(5) AL=[20508H]=87H(6) AL=94H+37H+1=CCH, CF=0, AL=32H(7) SI=9(8) DI=9(9) [DI]=[2050A]=AL=94H(10) AX=17C6H, DX=8094H(11) AH=84H, BL=4(12) IP=DX=17C6H3-23(1) 将存储器中以FIRST为起始地址连续10个字节复制到以SECOND为起始地址的地方(2) 将存储器中数据段中以偏移地址0404H为起始地址,连续80H个字节的空间清零3-24MOV BX, 5MUL BXMOV BX, 2DIV BX3-26 MOV BX, 0A80HMOV AL, 5XLAT3-27(1) IP=1256(2) IP=3280H(3) IP=2450H3-28 IP=009A, CS=2000, [SP]=8F, [SP+1]=3DH, [SP+2]=50H, [SP+3]=40H3-29CMP AL, 1JNZ LAB1CMP AL, 2JNZ LAB2CMP AL,4JNZ LAB3最后一个条件(若位0至位2都是0,则顺序执行),相当于没有,因为不管符不符合这个条件,程序都会按顺序执行。
2 微机原理及应用 第三版 课后答案 (晏寄夫 著) 西南交通大学出版社

1.9、 设机器字长为 8 位,最高位为符号位,用双高位法判别下述各二进制运算是否产生溢出,并说明是正溢 出还是负溢出。 (1) 43+8; (2)-52+7; (3)50+84; (4)72-8; (5) ( - 33)+(-47); (6) ( - 90)+(-75); (7)-127+60 [解] (1) 43+8 [43]补→ 00101011B +) [ 8]补→00001000B 00110011B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 (4) 72-8 [72]补→ 01001000B +) [-8]补→11111000B 1┇ 11000000B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (2)-52+7 [-52]补→11001100B +) [7]补→ 00000111B 11010011B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 (5)-33+(-47) [-33]补→ 11001100B +) [-47]补→ 11010001B 1┇ 10110000B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (3)50+84 [50]补→ 00110010B 10000110B Cs=0,Cp=1 V=Cs⊕Cp=1 有溢出,正溢出 (6)(-90)+(-75) [-90]补→ 10100110B +) [-75]补→ 10110101B 1┇ 11011011B Cs=1,Cp=0 V=Cs⊕Cp=1 有溢出,负溢出 +) [84]补→ 01010100B
若侵犯了您的版权利益,敬请来信通知我们! ℡
(7)-127+60 [-127]补→ 10000001B +) [60]补→ 00111100B 10111101B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 1.10、 a,b 均为用十六进制形式表示的 8 位带符号数补码,按下列给定的 a,b 之值进行 a+b 和 a-b 的 运 算 , 并用双高位法判断是否产生溢出: (1) a=37, b=57; (2)a=0B7H, b=0D7H; (3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H [解] (1) a=37, b=57 a+b [37]补→ 00100101B +) [57]补→ 00111001B 01011110B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 (2)a=0B7H, b=0D7H a+b 10110111B +) 11010111B 1┇10001110B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (3)a=0F7H, b=0D7H a+b 11110111B +) 11010111B 1┇11001110B Cs=1,Cp=1 V=Cs⊕Cp=0 无溢出 (4)a=37H, b=0C7H a+b 00110111B +) 11000111B 11111110B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出 +) a-b 00110111B 00111001B 01110000B Cs=0,Cp=0 V=Cs⊕Cp=0 无溢出
《微型计算机原理及应用》课后习题答案

《微型计算机原理及应用》习题解答第一章基础知识1.1 解释题(1)微处理器【解答】由大规模集成电路芯片构成的中央处理器(CPU),叫做微处理器。
(2)微型计算机【解答】以微处理器为基础,配以内存储器、输入输出接口电路、总线以及相应的辅助电路而构成的计算机裸机,叫做微型计算机。
(3)微型计算机系统【解答】微型计算机系统由硬件系统和软件系统组成。
即由微型计算机、配以相应的外部设备(如打印机、显示器、键盘、磁盘机等),再配以足够的软件而构成的系统。
(4)单板机【解答】将微处理器、RAM、ROM以及I/O接口电路,再配上相应的外设(如小键盘、LED显示器等)和固化在ROM中的监控程序等,安装在一块印刷电路板上构成的微型计算机系统称为单板机。
(5)运算器【解答】运算器是直接完成各种算术运算、逻辑运算的部件,主要由ALU(Arithmetic and Logic Unit,算术逻辑部件)、通用寄存器、标志寄存器等组成。
(6)地址总线【解答】地址总线是CPU对内存或外设进行寻址时,传送内存及外设端口地址的一组信号线。
地址总线的条数多少决定了CPU的寻址能力。
(7)数据总线【解答】数据总线是CPU与内存或外设进行信息交换时,所用的一组数据信号线。
它决定了CPU 一次并行传送二进制信息的位数,反映出CPU的“字长”这个重要性能指标。
(8)控制总线【解答】控制总线是在CPU与外部部件之间传送控制信息(如读/写命令、中断请求命令等)的一组信号线。
1-2 单片机应包括哪些基本部件?其主要应用于哪些领域?【解答】一般单片机芯片中包括微处理器、RAM、ROM、I/O接口电路、定时器/计数器,有的还包括A/D、D/A转换器等。
其主要应用于智能化仪器仪表及工业控制领域。
1-3 按图1-11和图1-12,写出取第二条指令操作码和执行第二条指令的过程。
【解答】ADD AL,12H指令的取指过程:1)IP的值(002H)送入地址寄存器AR;2)IP的内容自动加1,变为003H;3)AR将地址码通过地址总线送到存储器的地址译码器,经译码后选中002H单元;4)微处理器给出读命令MEMR;5)所选中的002H单元内容04H送上数据总线DB;6)数据总线DB上的数据04H送到数据寄存器DR;7)因是取指操作,取出的是指令操作码04H,即由DR送入指令寄存器IR;8)IR中的操作码经指令译码器ID译码后,通过PLA发出执行该指令的有关控制命令。
微机原理及应用第三版课后答案晏寄夫著西南交通大学出版社

+) [60]补→ 00111100B 10111101B
Cs=0,Cp=0
V=Cs⊕Cp 位带符号数补码,按下列给定的 a,b 之值进行 a+b 和 a-b 的 运 算 ,
并用双高位法判断是否产生溢出:
(1) a=37, b=57; (2)a=0B7H, b=0D7H; (3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H
[解] (1)a+b=0011 0010B + 0100 1010B=01111100B
(2) a+c=0011 0010B + 1110 1001B=00011011B
(3) c+b=1110 1001B + 0100 1010B=00110011B
(4) c+d=1110 1001B + 1011 1010B=10100011B
无溢出
无溢出
(2)a=0B7H, b=0D7H
a+b
a-b
10110111B
10110111B
+) 11010111B
+) 00101001B
1┇10001110B
11100000B
Cs=1,Cp=1
Cs=0,Cp=0
V=Cs⊕Cp=0
V=Cs⊕Cp=0
无溢出
无溢出
(3)a=0F7H, b=0D7H
[解] (1) a=37, b=57
a+b
a-b
[37]补→ 00100101B +) [57]补→ 00111001B
[37]补→ 00100101B +) [-57]补→ 11000111B
01011110B
11101011B
[工学]微型计算机原理及应用课后答案
![[工学]微型计算机原理及应用课后答案](https://img.taocdn.com/s3/m/d1bd76cdd05abe23482fb4daa58da0116c171f03.png)
第一部分习题解答(一)习题一解答【习题一】1、解释下列术语:(1)微处理器、微型计算机和微型计算机系统;(2)溢出;(3)I/O接口。
2、对于下列二进制数,如果为无符号数,值为多少?如果为带符号数,值又为多少?(1)01011010 (2)10110110 (3)10001101 (4)111110013、求下列机器数的原码、反码和补码。
(1)01000000 (2)01111101 (3)10000010 (4)111111114、对于下列十进制数,采用8位补码计算,判断下列运算是否溢出。
(1)(-76)+65 (2)(-76)-65 (3)76-(-65)(4)76+(-65)5、完成下列无符号数的运算,并转换为十进制数进行核对。
(1)10011010+00101101 (2)11001000-00001101(3)1101×1010 (4)11000011÷01016、写出下列字符串的ASCII码值;This is an English book.答案【习题一】1、(1)微处理器:是微型计算机的核心,其基本功能是进行数据的算术运算和逻辑运算,暂存数据并控制和指挥其他部件协调一致的工作。
由算术逻辑单元、控制器、寄存器陈列等组成;微型计算机:由微处理器、内存储器、I/O接口电路及系统产品线组成;微计算机系统包括硬件系统(中央处理器(CPU)、存储器、输入输出接口和输入输出设备等部件)和软件系统(软件系统包括系统软件和应用软件两部分)两部分。
(2)溢出:指计算机中用有限位的二进制来表示数据,在运算过程中,可能使用运算结果超出有限位的表示的范围,即为溢出。
(3)I/O接口:I/O接口电路是介于计算机和外部设备之间的电路。
I/O接口电路基本功能:1)缓存数据,使各种速度的外部设备与计算机速度相匹配;2)信号变换,使各种电气特性不同的外部设备与计算机相连接;3)联络作用,使外部设备的输入输出与计算机操作同步。
李伯成《微型计算机原理及应用》课后习题答案

李伯成《微机原理》习题第一章本章作业参考书目:①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》机械工业出版社2002年2月第一版②陆一倩编《微型计算机原理及其应用(十六位微型机)》哈尔滨工业大学出版社1994年8月第四版③王永山等编《微型计算机原理与应用》西安电子科技大学出版社2000年9月1.1将下列二进制数转换成十进制数:X=10010110B=1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21=128D+0D+0D+16D+0D+0D+4D+2D=150DX=101101100B=1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20=256D+0D+64D+32D+0D+16D+4D+0D=364DX=1101101B=1*26+1*25+0*24+1*23+1*22+0*21 +1*20=64D+32D+0D+8D+4D+0D+1D=109D1.2 将下列二进制小数转换成十进制数:(1)X=0.00111B=0*2-1+0*2-2+1*2-3+1*2-4+1*2-5=0D+0D+0.125D+0.0625D+0.03125D=0.21875D(2) X=0.11011B=1*2-1+1*2-2+0*2-3+1*2-4+1*2-5=0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D(3) X=0.101101B=1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6=0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D1.3 将下列十进制整数转换成二进制数:(1)X=254D=11111110B(2)X=1039D=10000001111B(3)X=141D=10001101B1.4 将下列十进制小数转换成二进制数:(1)X=0.75D=0.11B(2) X=0.102 D=0.0001101B(3) X=0.6667D=0.101010101B1.5 将下列十进制数转换成二进制数(1) 100.25D= 0110 0100.01H(2) 680.75D= 0010 1010 1000.11B1.6 将下列二进制数转换成十进制数(1) X=1001101.1011B =77.6875D(2) X=111010.00101B= 58.15625D1.7 将下列二进制数转换成八进制数(1)X=101011101B=101’011’101B=535Q(2) X=1101111010010B=1’101’111’010’010B=15722Q(3) X=110B=6Q1.8 将下列八进制数转换成二进制数:(1)X=760Q=111'110'000B(2)X=32415Q=11'010'100'001'101B1.9 将下列二进制数转换成十六进制数:X=101 0101 1110 1101B= 5 5 E D HX= 1100110101'1001B= 11 0011 0101 1001B= 3 3 5 9HX= 1000110001B= 10 0011 0001 B= 2 3 1 H1.10 将下列十六进制数转换成二进制数:X= ABCH= 1010 1011 1100 BX=3A6F.FFH = 0011 1010 0110 1111.1111 1111BX= F1C3.4B =1111 0001 1100 0011 . 0100 1011B1.11 将下列二进制数转换成BCD码:(1) X= 1011011.101B= 1'011'011.101B= 91.625d=1001 0001.0110BCD(2) X=1010110.001B= 1’010’110.001 =126.1 BCD1.12 将下列十进制数转换成BCD码:(1)X=1024D=0001 0000 0010 0100 BCD(2)X=632 = 0110 0011 0010 BCD(3)X= 103 = 0001 0000 0011 BCD1.13 写出下列字符的ASCI I码:A 41H 65D 0100 0001B9 39H 47D* 2AH 42D= 3DH 45D!21H 33D1.14 若加上偶校验码,下列字符的ASCII码是什么?字符原码加上偶校验码之后B 42H,0100 0010B 42H,0100 0010B4 34H,0011 0100B B4H,1011 0100B7 37H,0011 0111B B7H,1011 0111B= 3DH,0011 1101B BDH,1011 1101B!21H,0010 0001B 21H,0010 0001B?3FH 0011 1111B 3FH,0011 1111B1.15 加上奇校验,上面的结果如何?字符原码加上奇校验码之后B 42H,0100 0010B C2H,1100 0010B4 34H,0011 0100B 34H,0011 0100B7 37H,0011 0111B 37H,0011 0111B= 3DH,0011 1101B 3DH,0011 1101B!21H,0010 0001B A1H,1010 0001B?3FH 0011 1111B BFH,1011 1111B1.16 计算下式:(1)[‘B’/2+ABH-11011001B]*0.0101BCD=(42H/2+ABH-D9H)*0.21 BCD = = F3H*0.21 BCD =(-DH) *0.21 BCD= -2.73D(2) 3CH –[(84D)/(16Q)+’8’/8D]= 60D-[84D/14D+(56/8)]=60D-[13]D==47D1.17 对下列十进制数,用八位二进制数写出其原码、反码和补码:(正数的反码与原码相同,负数的反码除符号位之外其余各位按位取反。
微型计算机原理及应用课后习题答案教材

习题一一、单选题1.CDBCA A二、填空题1. 8086的数据总线为16 位,地址总线为20 位,时钟频率 5 MHz,支持1M 容量主存空间。
2. 计算机的运算和控制核心称为处理器,英文为Processor/CPU ,微型计算机中的处理器常采用一块大规模集成电路芯片,称之为微处理器。
3.微型计算机系统可分为三个层次:微处理器、微型计算机、微型计算机系统。
4. 微型计算机按体积的大小可分为:台式电脑,英文为Desktop PC ;笔记本电脑,英文为Notebook PC ;平板电脑,英文为Tablet PC ;手持电脑,英文为Handheld PC 。
5. 处理器的性能用字长、时钟频率、集成度等基本的技术参数来衡量。
6. 指令流水是指将完成一条指令的全过程分解为多个子过程,每个子过程于其他子过程并行进行。
7. 软件按照其完成的功能分为系统软件和应用软件。
应用软件是为解决某个具体问题而设计的程序及其文档。
8. 可以把应用软件分为两大类,通用应用软件和专用应用软件。
通用应用软件用于所有的领域及行业,例如:文字处理软件。
专用应用软件用于特定的专业领域及行业。
三、简答题1. 数值协处理器和浮点处理单元是什么关系?答:数值协处理器和浮点处理单元的功能是一样的,用于复杂的数学运算。
不同之处在于数值协处理器是一个独立的芯片,通过总线与微处理器(或主处理器)相连,用于80386及以前低档CPU的微机系统。
而浮点处理单元是主处理器芯片的一个功能单元,从80486开始数值协处理器的功能被集成在CPU内部了。
2. 总线信号分成哪三组信号?答:数据总线、地址总线、控制总线。
3.在计算机技术中,人工智能包括哪些内容?答:包括虚拟现实、知识系统和机器人。
4. Cache是什么意思?答:Cache指的是高速缓冲存储器5. ROM BIOS是什么?答:位于只读存储器ROM中的基本输入输出系统6. 中断是什么?中断(Interrupt)是由于外部或内部的中断事件发生,微处理器暂时停止正在执行的程序,转向事先安排好的中断服务子程序,当中断服务程序执行完毕后返回被中断的程序继续执行的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理及应用》教材课后习题及答案《微机原理及应用》习题答案
第一章
?1.11请完成下列数制转换:
(1)将174.66d转换为相应的二进制和十六进制形式。
(2)将100011101011.01011b转换为对应的十进制和十六进制形式。
(3)将
f18a6.6h转换为对应的二进制和十进制形式。
答:174.66d=10101110.1010b=ae.ah
100011101011.01011b=2283.34375d=8eb。
58hf18a6。
6h=989350.375d
?1.12请写出与数据+37和-37对应的8位机器数原码、反码和补码,并分别用二进制和十六进制表示出来。
答案:-37d=(10100101b)原件=(11011010b)反面=(11011011b)补充件
?1.138位机器数46h,若作为无符号数和补码有符号数,其对应的真值各是什么?若作为bcd码和ascii码,其对应的又是什么?
回答:无符号数字46h=70,补码46h=+70bcd代码46h=46,ASCII代码46h=“F”
第二章
? 2.5 8088中的逻辑和物理地址是什么?如何将逻辑地址转换为物理地址?1MB可以分成多少个逻辑段?请用物理地址表示以下逻辑地址:
(1)ffffh:0h(2)40h:17h(3)2000h:4500h(4)b821h:4567h
答:(1)ffffh:0h=ffff0h;(2) 40H:17h=00417h;(3) 2000h:4500h=24500h;(4) b821h:4567h=bc777h
?2.8已知ds=2000h,bx=0100h,si=0002,存储单元[20210h]~[20213h]依次存放
12h,34h,56h,78h,[21200h]~[21203h]依次存放2ah,4ch,87h,65h,说明下列每条指令执行完后ax寄存器的内容以及源操作数的寻址方式?答:⑴ax=1200h,立即数寻址;
⑵ax=0100h,寄存器寻址;⑶ax=4c2ah,直接寻址;
(4) AX=3412h,寄存器间接寻址;(5) AX=4c2ah,寄存器相对寻址;(6)
AX=7865h,基索引寻址;
⑺ax=65b7h,基址变址相对寻址。
?2.9说明下面各条指令的具体错误原因:
(1) Movcx,DL(2)movip,ax(3)移动,1234h(4)移动,DS(5)移动,300(6)mov[SP],ax(7)movax,BX+di(8)mov20h,ah回答:⑴ 不同类型的操作数;
⑵不能手工修改ip;
(3)立即数不能直接移动到段寄存器;(4)不要在段寄存器之间直接移动数据;(5) 300大于Al可以存储的数据范围;
⑹寄存器间接寻址只能用bx/bp/si/di之一;⑺movax,[bx+di];⑻目的操作数不能
是立即数。
? 2.10与已知数字0~9相对应的灰色代码为:18h、34h、05H、06h、09h、0ah、0ch、11h、12h和14h,存在于表格开头的连续区域(设置为200H)。
请在以下程序段中注释每条指令,以解释每条指令的功能和执行结果。
答复:
leabx,table;bx=0200hmoval,8;al=08hxlat;al=12h
? 2.11执行以下指令后,给出al值,以及CF、ZF、SF、of和PF的状态:矩、
89haddal、aladdal、9dhcmpal、0bchsubal、AldeCal
答:⑴al=89h
⑵al=12小时,cf=1,zf=0,sf=0,of=1,pf=1,af=1⑶al=afh,cf=0,zf=0,sf=1,of=0,pf=1,af=0⑷al=afh,cf=1,zf=0,sf=1,of=1,pf=1,af=0⑸al=00h,cf=0,
zf=1,sf=0,of=0,pf=1,af=0⑹al=ffh,cf=0,zf=0,sf=1,of=0,pf=1,
af=1⑺al=00h,cf=0,zf=1,sf=0,of=0,pf=1,af=1?2.12请使用汇编语言指令完成以下功能:
(1)把bx寄存器和dx寄存器的内容相加,结果存入dx寄存器。
(2)通过寄存器BX和Si的基索引寻址模式,将一个字节的内存添加到Al寄存器
的内容中
并把结果送到al中。
用bx和位移量0b2h的寄存器相对寻址方式把存储器中的一个
字和cx寄存器的内容相加,并把结果送回存储器中。
(4)用直接寻址模式在存储器中添加一个字和数字3412h,位移为0520h,然后计
算结果
送回该存储单元中。
(5)将数字0a0h添加到Al寄存器的内容中,并将结果发送回Al。
回答:
⑴adddx,bx;
⑵addal,[bx+si]⑶添加[bx+00b2h],cx
⑷addwordptr[0520h],3412h⑸addal,0a0h
? 2.13假设x、y、Z和V是16位有符号数,分别安装在x、y、Z和V存储单元中。
阅读以下程序段,获取其运算公式,并解释运算结果存储在何处。
movax,ximulymovcx,axmoxbx,dxmovax,zcwd
addcx、axadcbx、dxsubcx、540abbbx、0movax、vcwd
subax,cxabbdx,bxidivx
回答:(V-(x*y+Z-540))/x
?2.14给出下列各条指令执行后的结果,以及状态标志cf、of、sf、zf、pf的状态。
movax,1470handax,axorax,axxorax,axnotax
testax,0f0f0h
答:⑴ax=1470h
⑵ax=1470h,cf=0,zf=0,sf=0,of=0,pf=0⑶ax=1470h,cf=0,zf=0,sf=0,of=0,pf=0⑷ax=0000h,cf=0,zf=0,sf=0,of=1,pf=1⑸ax=0ffffh,cf=0,zf=0,sf=0,
of=1,pf=1
⑹ax=0ffffh,cf=0,zf=0,sf=1,of=0,pf=1?2.16假设ds=2000h,bx=1256h,table的
偏移地址是20a1h,物理地址232f7h处存放3280h,试问执行下列段内间接寻址的转移指
令后,转移的有效地址是什么?答:⑴1256h;⑵3280h
? 2.17判断以下程序段的跳转条件(1)xorax,leleh
jeequal
(2) testal,1000001B
jnzthere(3)cmpcx,64h
在那里
答:⑴ax=1e1eh;⑵al=1******1b;⑶cx<64h
? 2.18以下是一个软件延迟程序。
NOP指令执行了多少次?xorcx,cxdelay:nop
loopdelay
回答:65536
?2.19有一个首地址为array的20个字的数组,说明下列程序段的功能。
movcx,20
movax,0movsi,ax
sumlp:addax,array[si]addsi,2loopsumlpmovtotal,ax
答:将数组中的20个字(不带进位)累加起来,并将总和存储在总单位中。
?2.20根据以下要求编制相应的程序章节:
(1)由string指示的起始地址的主存单元中存放一个字符串(长度大于6),把该字符串
的第一个和第六个字符(字节)被传输到DX寄存器。
(2)有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程
序列段完成DX Ax← buffer1-buffer2函数。
(3)编写一个程序段,在dx高4位全为0时,使ax=0;否则,使ax=-1。
(4)把dx.ax中的双字右移4位。
(5)有一个由100字节元素组成的数组,其第一个地址是数组。
从每个元素中减去1(不考虑溢出或借用)
位)存于原处。
答复:
⑴movdl,stringmovdh,string+5
⑵movax,wordptrbuffer1subax,wordptrbuffer2movdx,wordptrbuffer1+2sbdx,buffer2+2⑶testdx,0f0hjet1movax,-1jmpdonet1:movax,0done:…。
⑷movax,1234hmovdx,5678hmovcx,4lp1:
shrdx,1rcrax,1looplp1⑸leabx,arraymovcx,100lp1:
sub[bx],1incbx
looplp1
?2.25编写一个程序段:先提示输入数字“inputnumber:0~9”,然后在下一行显示输入的数字,结束;如果不是键入了0~9数字,就提示错误“error!”,继续等待输入数字。
答:
.模型小。
100小时。
数据
messagedb“inputnumber:0~9”,0dh,0ah,“$”errordb“error!”,0dh,0ah,“$”.code.startup
movdx,offsetmessagemovah,09hint21h
begin1:movah,01hint21h
cmpal,“0”
jberr1cmpal,“9”jaerr1movdl,almovah,02hint21h.exit
错误1:MoveOffsetorMovah,09hint21hjmpbeginend
第三章
3.11请根据以下要求设置数据段和定义变量:
my4bdb00010100b。