微机原理第章习题课件.ppt

上传人:rrsccc 文档编号:9215800 上传时间:2021-02-08 格式:PPT 页数:38 大小:142KB
返回 下载 相关 举报
微机原理第章习题课件.ppt_第1页
第1页 / 共38页
微机原理第章习题课件.ppt_第2页
第2页 / 共38页
微机原理第章习题课件.ppt_第3页
第3页 / 共38页
微机原理第章习题课件.ppt_第4页
第4页 / 共38页
微机原理第章习题课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《微机原理第章习题课件.ppt》由会员分享,可在线阅读,更多相关《微机原理第章习题课件.ppt(38页珍藏版)》请在三一文库上搜索。

1、微机原理第章习题,1,第三章 习题,微机原理第章习题,2,31什么叫寻址方式?8086/8088CPU共有哪几种寻址方式?(略) 32设(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H。 请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少? (1)MOV AX,BX (2)MOV DL,80H (3)MOV AX,VAR (4)MOV AX,VARBXSI (5)MOV AL,B (6)MOV DI,ES:BX (7)MOV DX,BP (8)MOV BX,20HBX,微机原

2、理第章习题,3,解: (1)寄存器寻址 无物理地址 (2)立即寻址 无物理地址 (3)立即寻址 无物理地址 (4)基址变址相对寻址 PA=(DS)10HVAR(BX)(SI)608F0H (5)立即寻址 无物理地址 (6)寄存器间接寻址 PA=(ES) 10H(BX)20800H (7)寄存器间接寻址 PA=(SS) 10H(BP)16200H (8)寄存器相对寻址 PA=(DS) 10H(BX)20H60820H,微机原理第章习题,4,33假设(DS)=212AH,(CS)=0200H,(IP)=1200H,(BX)=0500H, 位移量DATA=40H (217A0H)=2300H,(21

3、7E0H)=0400H,(217E2H)=9000H, 试确定下列转移指令的转移地址。 (1)JMP 2300H (2)JMP WORD PTRBX (3)JMP DWORD PTRBX+DATA,微机原理第章习题,5,解: (1)JMP 2300H 段内直接转移 PA(CS)10H(IP)+2300H05500H (2)JMP WORD PTRBX 段内间接转移 PA(CS)10HBX =0200H+(217A0H) =04300H (3)JMP DWORD PTRBX+DATA 段间间接转移 PABX+DATA=(217E2H) 10H(217E0H) =90000H+0400H=9040

4、0H,微机原理第章习题,6,34试说明指令MOV BX,5BX与指令LEA BX,5BX的区别。 答: MOV BX,5BX是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX中。 LEA BX,5BX是取偏移地址指令,结果为 (BX)=(BX)+5,即操作数的偏移地址为(BX)+5 35设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH AX后,(SP)=?,再执行指令PUSH BX及POP AX之后,(SP)=?(AX)=?(BX)=? 解:执行指令PUSH AX后,(SP)=22FEH 执行指令PUSH BX及POP

5、 AX之后, (SP)=22FEH,(AX)=(BX)=1234H,微机原理第章习题,7,36指出下列指令的错误。 (1)MOV AH,CX 类型不匹配或两操作数字长不相等 (2)MOV 33H,AL 立即数不能做目的操作数 (3)MOV AX,SIDI 两变址寄存器不能同时使用 (4)MOV BX,SI 两操作数不能同时为存储器操作数 (5)ADD BYTE PTRBP,256 两操作数类型不匹配,微机原理第章习题,8,(6)MOV DATASI,ES:AX 源操作数形式错,寄存器操作数不加段重设符 (7)JMP BYTE PTRBX 转移地址的字长至少应是16位 (8)OUT 230H,A

6、X 对I/O指令,端口地址超过8位,必须采用间接寻址 (9)MOV DS,BP 正确 (10)MUL 39H MUL指令中操作数不能为立即数,微机原理第章习题,9,37已知(AL)=7BH,(BL)=38H,试问执行指令ADD AL,BL后,AF、CF、OF、PF、SF和ZF的值各为多少? 解: (AL)=B3H AF=1,CF=0,OF=1, PF=0,SF=1,ZF=0 38试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?(略),微机原理第章习题,10,39试判断下列程序执行后,BX中的内容。 MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL

7、 解:该程序是首先将BX内容不带进位循环左移1位,再循环 右移3位,即相当于将BX内容不带进位循环右移2位, 所以结果为(BX)=C02DH,微机原理第章习题,11,310按下列要求写出相应的指令或程序段 (1)写出两条使AX内容为0的指令; MOV AX,0 XOR AX,AX AND AX,0 SUB AX,AX (2)使BL寄存器中的高4位和低4位互换; MOV CL,4 ROL BL,CL 或 ROR BL,CL (3)屏蔽CX寄存器的b11、b7和b3位; AND CX,0F777H (4)测试DX中的b0和b8位是否为1。 TEST DX,0101H,微机原理第章习题,12,311

8、分别指出以下两个程序段的功能。,(1)MOV CX,10 LEA SI,FIRST LEA DI,SECOND STD REP MOVSB 将数据段中FIRST为最高地址的10个字节数据按减地址方向传送到附加段SECOND为最高地址的向前10个单元中。,(2)CLD LEA DI,1200H MOV CX,0F00H XOR AX,AX REP STOSW 将附加段中偏移地址为1200H单元开始的0F00H个字单元清零。,微机原理第章习题,13,312执行以下两条指令后,标志寄存器FLAGS的六个状态位各为什么状态? MOV AX,84A0H ADD AX,9460H 解:(AX)=1900H

9、 在两个16位数进行加法运算时,对CF、ZF、SF、OF会产生影响,但对PF和AF标志位,只有其低8位运算影响它们的状态。 AF=0,PF=1,CF=1, ZF=0,SF=0,OF=1,微机原理第章习题,14,313将+46和-38分别乘以2,可应用什么指令来完成?如果除以2呢? 解: 将+46和-38分别乘以2,可分别用逻辑左移指令SHL和算术左移指令SAL完成。SHL针对无符号数,SAL针对有符号数,也可用MUL(无符号数)和IMUL(有符号数) 除以2,用SHR或DIV实现46/2,用SAR或IDIV实现38/2。,微机原理第章习题,15,314已知AX=8060H,DX=03F8H,端

10、口PORT1的地址是48H,内容为40H;PORT2的地址是84H,内容为85H。请指出下列指令执行后的结果。 (1)OUT DX,AL 将60H输出到地址为03F8H的端口中 (2)IN AL,PORT1 从PORT1读入一字节数据,则(AL)40H (3)OUT DX,AX 将AX8060H从地址为03F8H的端口输出 (4)IN AX,48H 由48H端口读入16位的数据 (5)OUT PORT2,AX 将8060H从地址为84H的端口输出,微机原理第章习题,16,315试编写程序,统计BUFFER为起始地址的连续200个单元中0的个数。 解: LEA SI,BUFFER MOV CX,

11、200 XOR BX,BX AGAIN:MOV AL,SI CMP AL,0 JNE GOON INC BX GOON: INC SI LOOP AGAIN HLT,微机原理第章习题,17,316写出完成下述功能的程序段。 (1)从地址DS:0012H中传送一个数据56H到AL寄存器。 MOV DS:BYTE PTR0012H,56H MOV AL,0012H (2)将AL中的内容左移两位。 MOV CL,2 SHL AL,CL (3)AL的内容与字节单元DS:0013H中的内容相乘。 MUL DS:BYTE PTR0013H (4)乘积存入字单元DS:0014H中。 MOV DS:0014H

12、,AX,微机原理第章习题,18,317若(AL)=96H,(BL)=12H,在分别执行指令MUL和IMUL后,其结果是多少?OF=?CF=? 解: 执行MUL BL后 (AX)0A8CH,CFOF1 执行IMUL BL后 (AX)F88CH,CFOF1,微机原理第章习题,19,补充作业,1. 系统有一个堆栈段区,其地址为1250H:0000H1250H:0100H, (SP)=0052H,则计算以下数值 (1)栈顶物理地址 (2)栈底物理地址 (3)堆栈段寄存器SS中的段地址 (4)若把数据3456H存入,此时SP的值,微机原理第章习题,20,解: (1)栈顶地址:逻辑地址为1250H:005

13、2H 物理地址为1250H16+0052H=12552H (2)栈底地址:逻辑地址为1250H:0100H 物理地址为1250H16+0100H=12600H (3)段寄存器:(SS)=1250H (4)若把数据3456H存入, 此时(SP)=0050H,微机原理第章习题,21,2. 已知(DS)=3000H, (BX)=1000H, (DI)=0020H,MASK=0300H,内存分配如图所示。连续执行下列指令后,DS,SI,DI,AX的内容是什么?标志位状态如何? LEA SI,MASKBX+DI MOV AX,SI LDS DI,BX+SI SUB AX,76EBH,微机原理第章习题,2

14、2,解:(1)LEA SI,MASKBX+DI,这条指令传送的是源操作数的有效地址而不是内容, (SI)=MASK+(BX)+(DI) =0300H+1000H+0020H=1320H (2)MOV AX,SI,这条指令传送的是源操作数的有效地址的内容,源操作数的物理地址PA=(DS)16+(SI)=31320H,则(AX)=1322H (3)LDS DI,BX+SI, 其源操作数的物理地址PA=(DS)16+(SI)+(BX) =30000H+1320H+1000H=32320H 则(DS)=2000H,(DI)=1000H (4)(AX)=1322H,执行SUB AX,76EBH后, (A

15、X)=1322H-76EBH=9C37H 标志位状态分别为:CF=1,SF=1,ZF=0, OF=0,PF=0,AF=1,微机原理第章习题,23,补充习题,1. 一个有16个字的数据区,起始地址为70A0H:DDF6H,则这个数据区末字单元的物理地址是( ) (A)7E815H (B)7E816H (C)7E814H (D)7E7F8H 2. 已知(BL)6FH,执行TEST BL,8FH后, (BL)( ) (A)0FH (B)6FH (C)0 (D)EFH,微机原理第章习题,24,3. 读程序回答问题 XOR AX,AX MOV BX,1 MOV CX,5 LOP:ADD AX,BX IN

16、C BX INC BX LOOP LOP HLT 上述程序段执行后, (AX)25,(BX)11,微机原理第章习题,25,4. 在程序运行过程中,确定下一条指令的物理地址的计算表达式是( ) (A)(CS)10H(IP) (B) (DS)10H(DI) (C) (SS)10H(SP) (D) (ES)10H(SI),微机原理第章习题,26,5. 设(SS)2000H,则下列程序执行后,(SP)( ),(AL)中数据在内存地址( )中,(AH)中数据在内存地址( )中。 MOV SP,2000H MOV AX,1234H PUSH AX 答案:1FFEH,21FFEH,21FFFH,微机原理第章

17、习题,27,6. 有如下程序段 MOV AX,1234H MOV BX,5678H ADD AL,BL DAA ;(AL)=12H,CF=1 MOV CL,AL MOV AL,AH ADC AL,BH DAA ;12H+56H+CF=69H 执行程序后,(AL)=69H,(CL)=12H,微机原理第章习题,28,7. 寄存器间接寻址时,操作数在( )中 (A)寄存器 (B)存储器 (C)堆栈区 (D)累加器 8. 执行返回指令,退出中断服务程序,这时返回地址来自( ) (A)ROM区 (B)程序计数区 (C)堆栈区 (D)CPU的暂存寄存器,微机原理第章习题,29,9. 读程序回答问题 MOV

18、 AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX HLT 执行后,(AH)8DH,(AL)00H,微机原理第章习题,30,10. 下面程序段中,当满足条件转到NEXT标号执行时,(AL)的值正确的是( ) CMP AL,0FBH JNB NEXT NEXT: (A)80H (B)8FH (C)F0H (D)FEH,微机原理第章习题,31,答案:SP=1FFEH,AX=00F0HDX=ACF0H,DI=1234H,CF=0,ZF=0,MOV SP,2000H MOV AX,00F0H MOV SI,1234H MOV DX,5678H,PUS

19、H SI POP DI SHL DX,1 TEST AX,DX PUSH DX,11. 执行下列程序后,SP=?AX=?DX=? DI=?标志位CF=?ZF=?,微机原理第章习题,32,12.交换SI、DI的内容,正确程序段是(AC) (A)PUSH SI (B) PUSH SI PUSH DI PUSH DI POP SI POP DI POP DI POP SI (C)MOV AX,SI (D)MOV AX,SI MOV SI,DI MOV BX,DI MOV DI,AX XCHG BX,AX,微机原理第章习题,33,13. 完成41H送2100H,42H送2101H的 正确程序段是( A

20、 ) (A)MOV AX,4241H MOV 2100H,AX (B)MOV AX,AB MOV 2100H,AX,微机原理第章习题,34,14.下列程序段执行后,(BX)=? MOV CL,7 MOV BX,8016H SHR BX,CL 答案:0100H 15. 假设(SP)=0100H,(SS)=6000H,执行POP AX指令后,栈顶的物理地址是多少? 答案:60102H,微机原理第章习题,35,16. 近过程NEAR的RET指令把当前栈顶的一个字弹出到(IP),远过程FAR的RET指令弹出一个字到(IP)后又弹出一个字到(CS),IRET指令是(中断返回),从堆栈顺序弹出三个字分别送

21、到(IP)、(CS)和(FLAGS)中。,微机原理第章习题,36,17. 程序段如下: MOV AX,0405H MOV BL,06H AAD DIV BL 执行后,(AX)=? 答案:0307H,微机原理第章习题,37,18. AX和CX中内容为无符号数,BX和DX中内容为带符号数,试用CMP指令和条件转移指令,实现以下判断。 (1)若AX超过CX,则转至BIGER CMP AX,CX JA BIGER (2)若BX超过DX,则转至BIGER CMP BX,DX JG BIGER (3)若AX小于CX,则转至LESS CMP AX,CX JB LESS,微机原理第章习题,38,(4)若BX小于DX,则转至LESS CMP BX,DX JL LESS (5)若AX=CX,则转至EQUAL CMP AX,CX JE/JZ EQUAL,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1