




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、指令与寻址方式习题解答1试分别说明下列各指令中源操作数和目的操作数使用的寻址方式:(1)ANDAX,0FFH(2)ANDBL,OFFH(3)MOVDS,AX(4)CMPSI, CX(5)MOVDS:0FFH , CL(6)SUBBPSI , AH(7)ADCAX,0ABHBX(8)OR DX,-35BXDI(9)PUSHDS(10)CMC目的操作数源操作数( 1)寄存器直接寻址立即数寻址2)寄存器直接寻址直接寻址3)寄存器直接寻址寄存器直接寻址4)寄存器间接寻址寄存器直接寻址5)直接寻址寄存器直接寻址6)基址变址寻址寄存器直接寻址7)寄存器直接寻址寄存器相对寻址8)寄存器直接寻址基址变址相对寻
2、址9)无寄存器直接寻址(10) 隐含寻址2试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)MOV BXBP , AX TEST BP , BLADD SI , ABHAND DH, DLCMP CL, 1234HSHR BXDI , 3 NOT CX, AXLEA DS, 35SIINC CX, 1PUSH 45DI答:(1)应将BP, BX其中之一该为 SI或DI( 2)正确(3) ABH改为 OABH4)(5)是字操作,CL改为CX6)移位数大于 1 时,应用 CL(7)NOT指令只有一个操作数(8)LEA指令的
3、源操作数应为一内存单元地址( 9)此指令不用指出 1 (10)45 改为 45H3. 下面两条指令执行后,标志寄存器中CF, AF, ZF, SF和OF分别是什么状态?MOVDL, 86ADD DL , 0AAH答: 0101, 0110 + 1010 , 1010 = 1 , 0000, 0000CF=1 AF=1 ZF=1 SF=1 OF=14. 在8086/8088CPU中可用于作地址指针的寄存器有哪些?答:有 BX, CX, DX, BP, SI, DI (IP, SP,)5. 已知(DS) = 09IDH , (SS) = 1E4AH ( AX)= 1234H, ( BX) =002
4、4H, ( CX)= 5678H, (BP) = 0024H, ( SI) =0012H, (DI )= 0032H, ( 09226H)= 00F6H, ( 09228H)= 1E40H (1E4F6H) =091DH=下列各指令或程序段分别执行后的结果如何 ?(1)MOVCL,20HBXSI(2)MOVBPDI ,CX(3)LEABX,20HBXSIMOVAX, 2BX4)LDSSI ,BXDIMOVSI , BX5)XCHGCX, 32HBXXCHG 20HBXSI ,AX答(1) (CX)=56F6H;(2) (09226H)=5678H;(3) (AX)=1E40H;(4) (1E4
5、F6H)=0024H;(5) (09226H)=1234H,(AX)=5678H.)。6. 已知(SS) = 09l 5H, (DS) = 0930H, (SI) = OAOH, (DI) = 1C0H (BX) = 80H, (BP) = 470Ho 现有一指令“ MOVAX OPRD” 如源操作数的物理地址为 095C0H 试用四种不同寻址方式改 写此指令 (要求上述每个已知条件至少要使用一次 答:( 1 ) MOV AX BPAX,AX,BP+DI+80H DI+0100H SI+0220H 02C0H( 2) MOV ( 3) MOVMOV AXAX,( 4) MOV 7 .试按下列要
6、求分别编制程序段:把标志寄存器中符号位SF置 1'寄存器AL中高低四位互换。由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数 的负数。(4)现有三个字节存储单元 A, B, C。在不使用ADD和ADC指令的情况下, 实现 (A)+(B)=>C 。(5)用一条指令把 CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变, 如原来是偶数,则 (CX)+1 形成奇数 ) 。答:( 1 ) MOV AH, 80HSAHF(2 ) MOV BL, 0FHANDBL, ALSAL4SHR4XORAL, BL(3 ) MOV DX, 7FHSUBAX, DXMOV
7、DX, 0FFHSUBDX, BXMOVBX, DX(4 ) MOV AH, FFHMOVBL, BSUBAH, BLMOVBH, ASUBBH, AHMOVC, BH(5 ) MOV AX, CXNOT AXTEST 01HJNZ NEXTHLTNEXT: INC CXHLT8试给出下列各指令的机器目标代码:(1)MOVBL,12HSI(2)MOV12HSI ,BL(3)SALDX,1(4)ADD0ABHBPDI ,1234H答: (1) 10001010,11011111=8ADF;(2) 10001000,01011100=885C;(3) 11010001,11100010=D1E2;
8、(4) 10000001,10000001=8181.9执行下列指令后:STR1 DW AB'STR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是多少?寄存器 AX的值是多少?答:寄存器CL的值为12H,寄存器AX的值为4241H。10. JMP FAR PTR ABCD(ABC是符号地址)的转移方式是什么? 答: JMP FAT PTR ABCD 的转移方式是段间直接转移 .11. MOV AX,ES:BXSI 的源操作数的物理地址是多少(用CS、DS、ES、SS、BX、SI 表示 出即可)?答:MOV AX,E
9、S:BX SI 的源操作数的物理地址是 ES X 10H+BX+SI.12运算型指令的寻址和转移型指令的寻址,其不同点在什么地方?答:运算型指令的寻址包括立即数寻址。寄存器寻址,直接寻址,寄存器间接寻址,寄存器 相对寻址和基址加变址寻址方式。这些寻址方式中,CS,IP寄存器的内容不会发生变化。转移型指令的寻址方式包括段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址。在后三种寻址方式中,CS,IP寄存器的内容发生改变。13如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令”MOV AX,TABLE和” LEA AX,TABLE”后,(AX)中的内容分别为多
10、少?答:执行 MOV AX , TABLE 后(AX =1234H执行 LEA AX, TABLE 后(AX) =0032.14. 当指令” SUB AX,BX'执行后,CF=1,说明最高有效位发生了什么现象?对无符号数来说,操作结果发生了什么现象?答:执行指令 SUB AX,BX后,CF=1,说明最高位发生了借位对无符号来说,操作结果发生 了溢出。15. 在1000H单元中有一条二字节指令 JMP SHORT LAB如果其中的偏移量分别为30H 6CH 0B8H,则转向地址 LAB的值分别为多少?答:转向地址LAB的值分别为:1000 X 10H+2H+30H=10032H1000
11、X 10H+2H+6CH=1006EH1000 X 10H+2H+B8H=100BAH16. 下面两个语句的区别在什么地方:X1 EQU 1000HX2=1000H答:“EQU和“=”都可以作为赋值语句,但二者的区别是EQU伪操作中的表达式是不许重复定义的,而“=”伪操作则许重复定义。17. 调用指令CALL可进行哪四种调用?答:调用指令CALL可进行段内直接调用,段内间接调用。段间直接调用。段间间接调用。18. (AL)=9AH , (BL)=0BCH,当分别进行下列指令运算后,请写出标志位ZF、PF、CF、SF的内容:(P 8050)(1)ADDAL,BLSUBAL,BLANDAL,BLO
12、RAL,BLXORAL,BL答:(1) ADD AL, BL1 0 0 1 1 0 1 0+) 1 0 1 1 1 1 0 01, 0 1 0 1 0 1 1 0 ZF=0, PF=1 CF=1 SF=0(2) SUB AL , BL1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0)1 0 1 1 1 1 0 0 + ) 0 1 0 0 0 1 0 0 ZF=O PF=1 CF=1 SF=1(3) AND AL, BL1 0 0 1 1 0 1 0AND 1 01 1 1 1 0 0 ZF=0 PF=0 CF=0 SF=010 0 1 1 00 0(4)OR AL,BL10 0
13、1 1 01 0OR)1 0 1 1 11 0 010 1 1 1 11 0(5)XOR AL,BL10 0 1 1 01 0XOR1 0 1 1 11 0 0 ZF=0 PF=1 CF=0 SF=0 ZF=0 PF=0 CF=0 SF=00 0 1 0 0 1 1 019. 若(SP)=2800H,试用两种方法实现(SP)=27FEH.答:方法一:执行一次 PUSH指令 PUSH CX方法二:执行一次 PUSHF指令20. 试简述LES REG,SRC所完成的操作?答:LES REG,SRC 是将SRC和SRC+1中的偏移量送到 REG寄存器,而将SRC+2和SRC+3 中的段基址送ES段寄
14、存器。21. 关系操作符EQ NE LT、GT LE、GE计算的结果为逻辑值,试问0FFFFH代表假,0代表真是否正确?答:0FFFFH代表真。0表示结果为假。22. 堆栈存取操作是以字节为单位的试分析当堆栈存入数据和从堆栈取出数据时SP的变化?答:当堆栈存入一个字时,(SP)< SP-2从堆栈中取出一个字时(SP) <-SP+223. 试编写汇编程序段完成以下功能:将1000个字符的字符串从内存的BUFFER搬移到内存的BUFFER冲去。解答 LEA SI ,BUFFER1LEA DI ,BUFFER2MOV CX ,1000CLDREP MOVSb24. 试编写汇编程序段完成以
15、下功能:将数据段中100个字的数据块BLOCK1搬移到同一个数据段的 BLOCK冲去。解答:LEA SI ,BLOCK1LEA DI ,BLOCK2MOV CX ,100CLDREP MOVSW25. 试编写汇编程序段完成以下功能:比较DEST和SOURC中的500个字节,找出第一个不相同的字节,如果找到,则将SOURC中的这个数送 AL中。解答:CLDLEA DI,DESTLEA SI,SOURCEMOV CX ,500REPE CMPBJCXZ NEXTDEC SIMOV AL ,BYTE PTRSINEXT HLT26. 试编写汇编程序段完成以下功能:求最大值,若自BLOCK开始的内存缓冲区中,有100个带符号的数,希望找到其中最大的一个值,并将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林避火知识培训课件
- 森林消防装备介绍
- 梓潼消防知识培训课件
- 2025年电子商务师专业技能认证考试模拟题库及解析
- 骨科膝关节试题与答案
- 桥梁架设培训课件
- 2025年智慧零售店员招聘面试题集
- 2025年游戏开发者面试预测题及设计思路解析
- 夏季消防检查工作方案
- 2025年建筑行业住建部遴选建筑师笔试预测试题及答案
- 2025年公平竞争审查知识竞赛考试练习题库(正式版)含答案
- 员工社保补贴合同协议
- 仲夏夜之梦英文话剧剧本
- 下消化道常见疾病诊断
- (11.7.1)-12.7-肺性脑病病理生理学
- GB/T 1303.4-2009电气用热固性树脂工业硬质层压板第4部分:环氧树脂硬质层压板
- 新编剑桥商务英语
- 普通高中新课程培训讲座《核心素养导向下的高中化学教学设计策略》2020年8月课件
- 科脉解决方案御商
- 高考英语高考核心词汇
- 腹部损伤AbdominalInjury教材课件
评论
0/150
提交评论