ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:356.64KB ,
资源ID:8758131      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8758131.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微型计算机原理课后习题答案王忠民主编.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微型计算机原理课后习题答案王忠民主编.docx

1、微型计算机原理课后习题答案王忠民主编王忠民主编西安电子科技大学出版部分习题答案第二章 计算机中的数值和编码1、将十进制数转换为二进制和十六进制(1) 129.75 = 1000 0001.11B = 81.CH(2)218.8125 = 1101 1010.1101B = DA.DH(3) 15.625 = 1111.101B = F.AH(4)47.15625 = 10 1111.0010 1B = 2F.28 H2、将下列二进制数转换为十进制和十六进制3、完成下列二进制数的加减法运算01110101.0110101111.10114、完成下列十六进制数的加减法运算(3)12AB.F73CD

2、.05=1678 .FC H (4) 6F01HEFD8H=7F29 H 5、计算下列表达式的值(1)128.8125 + 10110101.1011B + 1F.2H = 101010101.1010B(2) 287.68 10101010.11H + 8E.EH= 103.CEH(3) 18.9 + 1010.1101B + 12.6H 1011.1001 = 36.525 6、选取字长n为8位和16位两种情况,求下列十进制数的补码。Y=+ 33 的补码: 0010 0001 , 0000 0000 0010 0001Z= 128 的补码:1000 0000 , 1111 1111 100

3、0 0000N=+ 127的补码:0111 1111 ,0000 0000 0111 1111A= 65的补码:1011 1111 ,1111 1111 1011 111165的补码:0100 0001 ,0000 0000 0100 0001C= 96的补码:1010 0000 ,1111 1111 1010 0000(8) =+ 96的补码:0110 0000 ,0000 0000 0110 00007、写出下列用补码表示的二进制数的真值X补=1000 0000 0000 0000 HX= 1000 0000 0000 0000 H= 327688、设机器字长为8位,最高位为符号位,试对下

4、列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43 + 8 43补=00101011B, 8补=00001000B 43补+ 8补=00101011B + 00001000B= 00110011B= 33H00101011B+ 00001000B00110011B无溢出出)出)出)出)为带符号补码数,计算结果是否溢出?x+y = 11101111B + 11001001B= 10111000B= 1B8 H1110 1111 B+ 1100 1001B若为无符号数若为带符号补码数 CF=1- 不正确 CF=1, DF= 1OF= 0 -不溢出x+y = 0B8 Hx+z = 61 H

5、y+z = 3B Hz+v = 0CC H不正确不正确不正确正确不溢出不溢出不溢出溢出第三章80X86微处理器1011 1000B1.简述8086/ 8088CPL中BIU和EU的作用,并说明其并行工作过程。答:(1) BIU的作用:计算20位的物理地址,并负责完成 CPU与存储器或I/O端口之间的数据传送。(2) EU 的作用:执行指令,并为 BIU 提供所需的有效地址。(3)并行工作过程:当EU从指令队列中取出指令执行时, BIU将从内存中取出指令补充到指令队列中。这样就实现了取指和执行指令的并行工作。2. 8086/8088CPU内部有哪些寄存器?其主要作用是什么?答:8086/8088

6、CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器 4 个,段寄存器 4 个和控制寄存器 2 个。其主要作用是:(1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。AX(Accumulator) 称为累加器。 用该寄存器存放运算结果可使指令简化, 提高指令的执行速度。此外,所有的I/O指令都使用该寄存器与外设端口交换信息。BX(Base) 称为基址寄存器。用来存放操作数在内存中数据段内的偏移地址,CX(Counter) 称为计数器。 在设计循环程序时使用该寄存器存放循环次数, 可使程序指令简化,有利于提高程序的运行速度。DXData)称为数据寄存器。在寄存器间接

7、寻址的 I /O指令中存放I / O 端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。(2) 地址寄存器:一般用来存放段内的偏移地址。SP(Stack Pointer) 称为堆栈指针寄存器。在使用堆栈操作指令(PUSH或 POP对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将 SP的内容减2或加2,以使其始终指向栈顶。BP(Base Pointer) 称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。SI (Source Index) 称为源变址寄存器。 SI 存放源串在数据段内的偏移

8、地址。D I (Destination Index) 称为目的变址寄存器。 DI 存放目的串在附加数据段内的偏移地址。 (3) 段寄存器:用于存放段地址中的物理地址。DS的内容左移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。SS(Stack Segment) 称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。堆栈是存储器中开辟的按“先进后出”原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。ES:Extra Segment)称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。附加数据段用来存放字符串操

9、作时的目的字符串。(4) 控制寄存器IP(Instmcdon Pointer) 称为指令指针寄存器, 用来存放下一条要读取的指令在代码FLAGS称为标志寄存器,它是一个 16位的寄存器,但只用了其中 9位,这9位包括(个状态标志位和 3 个控制标志位。它用来反映算术运算和逻辑运算结果的一些特征,或用来控制CPU的某种操作。3. 8086/8088CPU中有哪些寄存器可用来指示操作数在存储器中某段内的偏移地址答:可用来指示段内偏移地址的寄存器共有 6个:IP、SP BP BX SI、DI 4. 8086/ 8088CPU中标志寄存器FLAGS有哪些标志位?它们的含义和作用如何?答:标志寄存器中的

10、标志共有 9个,分为两类:状态标志 6个和控制标志 3个。其作用是:(1) 状态标志:用来反映算术和逻辑运算结果的一些特征。CF(Carry Flag) 进位标志位。当进行加减运算时,若最高位发生进位或借位,则CF为1,否则为0。该标志位通常用于判断无符号数运算结果是否超出了计算机所能表示的无符号数的范围。PF(Parity Flag) 奇偶标志位。当指令执行结果的低 8位中含有偶数个1 时 ,PF 为1,否则为 0。AF(Auxiliary Flag) 辅助进位标志位。当执行一条加法或减法运算指令时,若结果的低字节的低4位向高4位有进位或借位,则 AF为1,否则为0。ZF(Zero Flag

11、)零标志位。若当前的运算结果为 0,则ZF为1,否则为00SF(Sign Flag)符号标志位。当运算结果的最高位为 1时,SF=1,否则为00OF(Overflow Flag) 溢出标志位。当运算结果超出了带符号数所能表示的数值范围,即溢出时,OF=1,否则为0。该标志位通常用来判断带符号数运算结果是否溢出 控制标志位:用来控制 CPU的操作,由程序设置或清除。它们是:TF(TrapFlag) 跟踪 (陷阱)标志位。它是为测试程序的方便而设置的。若将TF置1, 8086/ 8088CPU处于单步工作方式,否则,将正常执行程序。IP(Interrupt Flag) 中断允许标志位。它是用来控制

12、可屏蔽中断的控制标志位。若用STI指令将IF置1,表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;若用CLI指令将IP清0,则禁止CPU接受可屏蔽中断请求信号。IF的状态对非屏蔽中断及内部中断没有影响。DRDirectionFlag) 方向标志位。若用 STD将DF置1,串操作按减地址方式进行,也就是说,从高地址幵始,每操作一次地址自动递减;若用 CLD将DF清0,则串操作按增地址方式进行,即每操作一次地址自动递增。5. 8086/8088CPU的地址总线有多少位?其寻址范围是多少?答: 8086/8088 地址总线有 20 根,寻址范围 1MB6.什么叫指令队列?8086/8

13、088CPU中指令队列有什么作用?其长度分别是多少?答:(1)指令队列:采用“先进先出”原则,按顺序存放预执行指令的缓冲器称为指令队列。指令队列的作用:存放 EU将要执行的指令,使 CPU的取指和执行指令能并行工作。指令队列的长度:8086为6个字节,8088为4个字节。7. Intel8086 与 8088 有何区别?答:8086与8088的区别有三处:(1)外部数据总线位数不同(即地址/数据分时复用引脚条数不同)8086 为 16 位:AD5 AD。8088 为 8 位:ADAD。内部指令队列缓冲器长度不同;8086有6个字节。当指令队列出现 2个空字节时,BIU将取指补充。8086有4个

14、字节。当指令队列出现 1个空字节时,BIU将取指补充。外部某些控制总线定义不同。8086的28号引脚定义为 M7IO(S2),8088定义为IO/M(S)8086的34号引脚定义为 BHE S,8088定义为SS/(HIGH)8 .简述8086 CPU使用地址锁存信号 ALE将地址A5A与数据D5C0分幵的工作原理。答:在任何一个总线周期的 T1状态,ALE均为高电平,以表示当前地址/数据复用线上的输出的是地址信息,在 ALE由高变低的下降沿时把地址装入地址锁存器,而在T2、T3和T4状态,ALE均为低电平,以表示当前地址/数据复用线上的输出的是数据信息,此时通过数据收发器进行传送。9.什么是

15、逻辑地址?什么是物理地址?若已知逻辑地址为 BA00:A800,试求物理地址。答: 逻辑地址:由段地址和偏移地址表示的存储单元地址称为逻辑地址。若 逻辑地址为 BA00H:A800H则 物理地址=BAOOHK 10H+ A800H C4800H10 简述堆栈指针寄存器 SP 的功能及堆栈的操作过程。答: (1) SP 的功能:指示进栈和出栈操作时的偏移地址。(2) 堆栈的操作过程:进栈时,先将 SP 2,再将数据压入堆栈(即先移后入)出栈时,先将数据弹出堆栈,再将 SP+2 (即先出后移)。1 、 指出源操作数的寻址方式对寻址相对寻址寻址对寻址寻址2、 指出下列指令是否正确寄存器(2) MOV

16、 BP , AL(3) XCHG AH , AL(4) OUT(5) MOV(6) MOV(7) MOV(8) MOV(9) AND(10) MOV(11) ADD(12)(13)(14)(15)310 H, ALBX,BXES:BX DIAX, SI DI;错误 。操作数类型不一致;正确。;错误。端口直接寻址的范围应在 0FFH之间;正确。,AX;正确。;错误。存储器寻址中有效地址不能由两个变址寄存器组SS:BX+SI+100H,BX ;正确。AX, BLDX, DS:BPSI , 20HMOV 30H , ALPUSH2000HMOVMOVSI , 2000HSI , AL(16) ADD

17、 2000H , 20H(17)MOVCS, AX(18)INCDI(19)OUTBX,AL(20)SHLBX,3(21)XCHGCX ,DS(22)POPAL操作数 );错误。操作数类型不一致;正确。;错误。用 PTR 说明类型;错误。目的操作数不能为立即数;错误。堆栈指令的操作数不能是立即数;错误。两个操作数不能同时为存储器操作数;错误。操作数类型不一致;错误。用 PTR 说明类型;错误。目的操作数不能为代码段寄存器;错误。需用PTR说明类型;错误。端口间接寻址的寄存器只能是 DX寄存器;错误。移位次数大于1时应该用CL寄存器;错误。交换指令中不能出现段寄存器;错误。堆栈指令的操作数只能是

18、字操作数 (即 16位3、 写出存储器操作数物理地址的计算表达式(1)MOV AL, DI;(DS) X 10H+ (DI)(2)MOV AX, BX+S I ; (DS)X10H(BX)(SI)(3)MOV 5BX+DI ,AL; (DS)X10H(BX)(DI) 5(4)ADD AL,ES:BX; (ES) X 10H (BX)(5)SUB AX,1000H; (DS)X 10H1000H(6)ADC AX,BX+DI+2000H; (DS)X 10H(BX)(DI) 2000H(7)MOV CX,BP+SI; (SS) X 10H(BP) (SI)(8)INC BYTE PTR DI;

19、(DS)X 10H(DI)4、若(DS) = 3000H, (BX) = 2000H, (SI) = 0100H, (ES) = 4000H,计算下列存储器操作数的物理地址5、若(CS) = E0004说明代码段可寻址物理存储空间的范围。最小物理地址为:(CS) X 10H+ 0000H= E0000H最大物理地址为:(CS) X 10H+ FFFF* EFFFFH代码段可寻址物理存储空间的范围是: E0000H EFFFFH 6、设(SP) = 2000H, (AX) = 3000H, (BX) = 5000H,执行下列程序段后,(SP) = ? , (AX) = ?, (BX) = ?PU

20、SH AXPUSH BXPOP AX(SP) = 1FFEH (AX) = 5000H, (BX) = 5000H条指令后, (AL)=? , CF=?, OF=0, ZF=?(1)相同点:两条指令都能完成(AL) 09H的功能,并且都影响六个状态标志位;不同点:SUB指令将运算结果回送到 AL寄存器中,而CMP指令不回送。(2) SUB AL, 09HCMP AL, 09H; (AL)=FFH, CF=1, OF=0, ZF=0; (AL)=08H, CF=1, OF=0, ZF=010、设(BX) = 6D16H (AX) = 1100H,写出下列三条指令执行后, AX和BX寄存器中的内容

21、。MOV CL, 06HROLAX,CLSHRBX,CL11、设初值(AX) = 0119H,扌MOVCH,AHADDAL,AHDAAXCHGAL,CHADCAL,34HDAAMOVAH,ALMOVAL,CH1 2 、指出下列程序段的功能。(1) MOVCX,10LEASI ,FirstLEADI ,SecondREP MOVSB(2) CLDLEADI ,0404HMOVCX,0080HXORAX,AX(AX)=3520 HREP STOSWF列程序段后,(AX) = ?(AX)=4004 H(BX)=01B4 H将 First 串中前 1 0个字符传送至 Second 中将起始地址为 04

22、04 H 开始的 80 H 个单元置成 013、设(BX) = 6F30H, (BP) = 0200H, (SI) = 0046H, (SS) = 2F00H, (2F246H) = 4154H,试求执行 XCHG BX BP + SI后, (BX) = ?, (2F246H) = ?14、设(BX) = 0400H, (DI) = 003CH 执行 LEA BX, BX + DI + 0F62H后,(BX) = ?(BX) = 139E H15、设(DS) = C000H (C0010H) = 0180H, (C0012H) = 2000H,执行 LDS SI , 10H后,(SI)(SI)

23、 = 0180 H, (DS) = 2000 H16、已知(DS) = 091DH (SS) = 1E4AH (AX) = 1234H, (BX) = 0024H, (CX) = 5678H, (BP)=0024H, (SI) = 0012H, (DI) = 0032H,(09226H) = 00F6H, (09228H) = 1E40H,试求单独执行F列指令后的结果。LDS SI,B P DIXCHG CX 32HBXXCHG 20HBXSI , AX;(AX) = 5678 H , (09226H) = 1234 H17、若CPU中各寄存器及RAM参数如图所示,试求独立执行如下指令后,CP

24、U及RAM相应寄存器及存储单元的内容是多少?CPURAM执行前执行后CS3000HFFFFHCX20506H06H不变DS2050H0004HBX20507H00H不变SS50A0H1000HSP20508H87H不变ES0FFFH17C6HDX20509H15H不变IP0000H8094HAX2050AH37H94HDI000AH1403HBP2050BHC5H不变SI0008H1CF2050CH2FH不变(1) MOV DX BX+2;(DX) =0006H, (BX) =0004H(2) PUSHCX;(SF) =0FFEH(3) MOV CX BX;(CX =0004H, (BX) =

25、0004H(4) TESTAX 01;(AX) =8094H, (CF) =0(5) MOV AL, SI;(AL) =87H(6) ADC AL, DI;(AL) =0CCH (CF) =0DAA ; (AL) =32H(7) INC SI;(SI) =0009H(8) DEC DI;(DI) =0009H(9) MOV DI , AL;(DI) =94H(10) XCHG AXDX; (AX =17C6H (DX =8094H(11) XORAH, BL;(AH =84H, (BL) =04H(12) JMP DX;(IP) =17C6H18、(DS) = 2000H, (BX) = 12

26、56H, (SI) = 528FH,偏移量=20A14 (232F7H) = 3280H, (264E5H)(1)JMP BX;(IP) = 1256 H(2)JMP TABLEBX;(IP) = 3280 H(3)JMP BXSI;(IP) = 2450 H19、设(IP)=3D8FH (CS)二= 4050H, (SP) = 0F17H,当执行 CALL 2000H:0094H 后,试指出(CS)、(SP)、(SP)、(SP) + 1)、(SP) + 2)和(SP) + 3)的内容。(IP)、=2450H,试求执行下述指令后的结果。CALL指令是5字节指令,下一条指令地址为 4050H:

27、3D94H所以执行后(IP) = 0094H (CS) = 2000H (SP) = 0F13H (SP) = 94H, (SP) + 1) = 00H, (SP) + 2) = 00H, (SP) + 3) = 20H第五章 汇编语言程序设计2.PLENTH的值为0022,它表示当前已分配单元空间;3.L的值为 6;5.AX) =000AH;( BL) =0AH;(CL) =01H;10.MOV AX, 4A82HMOV DL, AHAND DL,0F0HMOV CL ,4SHR DL,CLPUSH AXAND AH ,0FHMOV BH ,AHAND AL ,0F0HMOV BL ,ALM

28、OV CL ,4SHR BL ,CLMOV CL ,BHPOP AXAND AL ,0FH11. data segmentstring1 db I am a student.string2 db I am a student .yes db match,0dh,0ah,$no db no match,0dh,0ah,$data ends code segmentassume cs:code,ds:data,es:data start: push dssub ax,axpush axmov ax,datamov ds,axmov es,axlea si,string1lea di,string2mov cx,string2-string1cldrepe cmpsbjnz dispnomov ah,9lea dx,yesjmp exit dispno: mov ah,9lea dx,noint 21h exit: MOV AH,4CHINT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1