操作系统微机习题课_第1页
操作系统微机习题课_第2页
操作系统微机习题课_第3页
操作系统微机习题课_第4页
操作系统微机习题课_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、04 八月 2022第三章作业习题课杭州电子科技大学自动化学院微机原理与接口技术04 八月 20222. DS=1000H, BX=0200H, SI=0002H (10200H10205H)依次存有10H,2AH,3CH,46H,59H,6BH(1)MOV AX, 0200H ; AX=0200(2)MOV AX, 200H 物理地址=1000H10H H=10200H, AX=2A10H(3)MOV AX, BX ; AX=0200H(4)MOV AX , 3BX 物理地址=1000H10H H+3H=10203H, AX=5946H(5)MOV AX , BX+SI 物理地址=1000H

2、10H H +2H=10202H , AX=463CH(6)MOV AX, 2BX+SI 物理地址=1000H10H +200H+2H+2H=10204H , AX=6B59H04 八月 20223.DS=1000H, ES=2000H, SS=3500H, SI=00A0H, DI=0024H, BX=0100H, BP=0200H, VAL=0030H (1)MOV AX,100H 直接寻址方式,10100H 物理地址DS10H+100H=10000H H=10100H(2)MOV AX,VAL 直接寻址方式,10030H 物理地址DS10H+VAL=10000H H=10030H (3)

3、MOV AX,BX 寄存器间接寻址,10100H 物理地址DS10H+BX=10000H H=10100H (4)MOV AX,ES:BX 寄存器间接寻址,20100H 物理地址ES10H+BX=20000H H=20100H (5)MOV AX,SI 寄存器间接寻址,100A0H物理地址=DS10H+SI=10000H+00A0H=100A0H04 八月 2022(6)MOV AX,BX+10H 寄存器相对寻址,10110H物理地址=DS10H+BX+10H=10000H H+10H=10110H(7)MOV AX,BP 寄存器间接寻址,35200H物理地址=SS10H+BP=35000H

4、H=35200H(8)MOV AX,VALBPSI相对基址变址寻址,352D0H物理地址=SS10H+BP+SI+VAL =35000H H+00A0H H=352D0H(9)MOV AX,VALBXDI相对基址变址寻址,10154H物理地址=DS10H+BX+DI+VAL =10000H H H H=10154H(10)MOV AX,BPDI基址变址寻址,35224H物理地址=SS10H+BP+DI =35000H H H=35224H04 八月 20226(1)MOVDL,AX 错,寄存器寻址方式中,目的操作数与源操作数长度必须一致(2)MOV 8650H,AX 错,目的操作数不可以是立即

5、数(3)MOVDS,0200H 错,MOV指令不允许将立即数传入段寄存器(4)MOVBX,1200H 错, MOV指令的两个操作数不能同时为存储器(5)MOVIP,0FFH 错, IP不能作为MOV指令的目的操作数(6)MOVBX+SI+3,IP 错, IP不能作为MOV指令的源操作数(7)MOVAX,BXBP 错,BX与BP不可以同时出现在源操作数当中(8)MOVAL,ES:BP 对04 八月 2022(9)MOVDL,SIDI 错,SI与DI是两个变址寄存器,不可以同时出现在源操作数中。(10)MOV AX,OFFSET 0A20H 错,OFFSET后面跟的应该是符号地址,再把符号地址的值

6、作为操作数。(11)MOV AL,OFFSET TABLE 错,TABLE的偏移地址是16位,目的与源长度不一致(12)XCHGAL,50H 错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即数。(13)INBL,05H 错, BL不能作为IN指令的目的操作数,只能用AL或AX(14)OUTAL,0FFEH 错,端口地址0FFEHFFH, 应用DX间接寻址, 同时源操作数和目标操作数的位置颠倒了,应改为OUT DX, AL。04 八月 20228. SS=1050H, SP=0100H, AX=4860H, BX=1287H48H60H1050H:00FEHSP(a)执行PUS

7、H AX后1050H:00FCH48H60H12H87HSP(b)执行PUSH BX后1050H:00FEH87H12H60H48HSP(c)执行POP BX后1050H:0100H87H12H60H48HSP(d)执行POP AX后02:14:50810.ARRAY DB NEWDB 7 DUP(?) SUM DW 0 AVERAGEDB 0 (1)MOVCX,07H MOVBX,00H NEXT: MOVAL,ARRAYBX ADDAL,5 DAA MOVNEWBX,AL INCBX LOOPNEXTHLT02:14:509(2) MOVCX,06H MOVBX,01HMOVAH,00H

8、MOV AL,ARRAY L1: ADD AL,ARRAYBX DAA ADCAH,00H;将进位加到AH中 INCBX LOOP L1MOVSUM,AX02:14:5010(3)MOVDX,SUM; DX=0H(BCD码)MOVBL,07HMOVAX,DX; 取千位、百位数ANDAL,0F0HMOVCL,04HROLAL,CL; AX=00HAAD; ALAH10AL, AH00 DIVBL;十位商在AL中,余数在AH中MOVAVERAGE+1, AL;存平均成绩十位MOVAL,DL;取个位和数ANDAL,0FHAAD; ALAH10AL, AH00 DIVBL;个位商在AL中,余数在AH中

9、MOVAVERAGE,AL;存平均成绩个位MOVAVERAGE+2, AH; 存余数02:14:501111.AX=2508H,BX=0F36H,CX=0004H,DX=1864H(1)ANDAH,CLAH=04H,CF=0;(0010 0101B与0000 0100B)(2)ORBL,30HBL=36H,CF=0;(0011 0110B或0011 0000B) (3)NOTAXAX=DAF7H,CF无影响;(0010 0101 0000 1000B取反后1101 1010 1111 0111B) (4)XORCX,0FFF0HCX=FFF4H,CF=0;(0000 0000 0000 010

10、0B和1111 1111 1111 0000B异或后1111 1111 1111 0100B) (5)TEST DH,0FHTEST操作并不修改结果,CF=0; 02:14:5012(6)CMPCX,00HCMP操作并不修改结果,CF=0;(7)SHRDX,CLDX=0186H,CF=0;(8)SARAL,1AH=04H,CF=0;(9)SHLBH,CLBH=F0H,CF=0;(10)SALAX,1AX=4A10H,CF=0;( 0010 0101 0000 1000B 左移)(11)RCLBX,1若程序执行之前CF=0,BX=1E6CH,CF=0; 若程序执行之前CF=1,BX=1E6DH,

11、CF=0。(12)ROR DX,CLDX=4186H,CF=0。 02:14:501312.DATASEGMENT STRING DB The personal computer & TV DATA ENDSEDATA SEGMENTGET_CHARDB26DUP(?) NEW_STRDBThe computer EDATA ENDS (1)MOV SI,OFFSET STRING MOV DI,OFFSET GET_CHAR MOV CX, 001AH CLD REPMOVSB02:14:5014 (2) MOVSI,OFFSET STRING MOVDI,OFFSET NEW_STR MO

12、V CX,001AH CLD REPZCMPSB;DS:SI-ES:DI JNECLR_AL MOVAL,1 JMP SET_BL CLR_AL:MOVAL,0 SET_BL:MOVBL,001AHSUBBL,CLHLT02:14:5015(3)MOVDI,OFFSETSTRING MOVCX,001AH MOVAL,& CLDL1: SCASB;AL-ES:DI JZ FINDNEXT:LOOPL1HLTFIND: MOV BL, MOV DI-1,BL; 用空格替换& JMPNEXT02:14:5016(4)MOV SI,OFFSET STRING;数据段,源串 MOV DI,OFFSET

13、 CAPS;附加段,大写字符 MOV BX,OFFSET CHART;附加段,其它字符 MOV CX,001AH CLD L1: LODSB ;ALDS:SIMOVSI-1,00H; 取出字符后该单元清零 CMPAL,A JBOTHER CMPAL,ZJAOTHERSTOSB; 存大写字符JMPL2 OTHER: XCHGBX,DI; 存其它字符 STOSB XCHG BX,DI L2: LOOPL1 HLT 02:14:501714.(1)JMPPROG_N 段内直接近转移,目的地址为1200H:0278H(或12278H) (2)JMPBX 段内寄存器间接转移,目的地址为1200H:030

14、0H(或12300H) (3)JMPBX 物理地址DS10H+BX=2000H10H H=20300H (20300H)=4800HIP 段内存储器间接转移,目的地址为1200H:4800H(或16800H) (4)JMPFARPROG_F 段间立接转移,目的地址为3400H:0ABCH(或34ABCH) (5)JMPDWORDPTRBX 物理地址DS10H+BX=2000H10H H=20300H (20300H)=4800HIP,(20302H)=00FFHCS 段间存储器间接转移,目的地址为00FFH:4800H(或057F0H)02:14:5018JMP改为CALL后,目的地址与JMP

15、相同。(1)CALLPROG_N段内直接调用,3字节指令,0103H入栈(2)CALLBX段内寄存器间接调用,2字节指令,0102H入栈(3)CALLBX段内存储器间接调用,2字节指令,0102H入栈(4)CALLFARPROG_F段间直接调用,5字节指令,1200H和0105H分别入栈(5)CALLDWORDPTRBX段间间接调用,2字节指令,1200H和0102H分别入栈02:14:501915.(1)LOOPNEXT (2)LOOPENEXT (3)LOOPNENEXTSTART:MOVAX,01HMOVBX,02HMOVDX,03HMOVCX,04HNEXT:INCAXADDBX,AXSHRDX,1() 程序运行前 DX=0000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论