




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
18086语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?答:数据操作数的寻址方式有七种,分别为:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对基址变址和相对基址变址寻址。其中寄存器寻址的指令执行速度最快。2若DS6000H,SS5000H,ES4000H,SI0100H,BX0300H,BP0400H,D1200H,数据段中变量名NUM的偏移地址为0050H,试指出下列源操作数的寻址方式和物理地址是多少?(1)MOV AX,64H 答:寻址方式为直接寻址;PA60064H(2)MOV AX,NUM 答:寻址方式为直接寻址; PA60005H(3)MOV AX,SI 答:寻址方式为寄存器间接寻址;PA60100H(4)MOV AX,BX 答:寻址方式为寄存器间接寻址;PA60300H(5)MOV AX,BP 答:寻址方式为寄存器间接寻址;PA50400H(6)MOV AL,DI 答:寻址方式为寄存器间接寻址;PA61200H(7)MOV AL,BX1110H 答:寻址方式为寄存器相对寻址;PA61410H(8)MOV AX,NUMBX 答:寻址方式为寄存器相对寻址;PA60305H(9)MOV AX,BXSI 答:寻址方式为基址变址寻址;PA60400H(10)MOV AX,NUMBXDI 答:寻址方式为相对基址变址寻址;PA=61505H3设BX637DH,SI2A9BH,位移量为C237H,试确定由这些寄存器和下列寻址方式产生的有效地址。(1)直接寻址 答:有效地址为 EAC237H(2)用BX的寄存器间接寻址 答:有效地址为 EA637DH(3)用BX的相对寄存器间接寻址 答:有效地址为 EA125B4H(4)基址加变址寻址 答:有效地址为 EA8E18H(5)相对基址变址寻址 答:有效地址为 EA1504FH其中,(3)和(5)中产生进位,要把最高位1舍去。4指出下列指令是否正确,若不正确情说明原因。(1) MOV DS, 2010H ;立即数不能传送到DS(2) PUSH AL ;栈操作,操作数类型必须为WORD类型 (3) MOV DX,SP ;SP寄存器不能做间址寄存器 (4) IN AL,0A00H ;I/O指令的直接寻址,地址只能为8位(5) XCHG CL,CH ;正确(6) SHR AX,3 ;移位超过一位时,应采用CL寄存器间址 (7) AAA CX ;非组合的BCD码加法调整AAA指令应为隐含操作数 (8) ADD BP+DI ;加法指令ADD,缺少源操作数(9) OUT DX,CL ;I/O指令操作数只能用AX、AL提供,端口地址可以是8位的直接地址或用DX间址(10)CBW BH ;符号扩展指令为隐含操作数(11)ADD 03ECH ;加法指令应为双操作数指令,立即数不能做目的操作数(12)MOV BX, SI+DI ;源操作数形式错误,SI和DI不能同时做为间址寄存器(13)MOV DI, AX ;AX不能做为间址寄存器 (14)OUT 258H, BX ;I/O指令格式错误,见(9)题的解释 (15)SHL AX, 3 ;移位指令,位移位数大于1时,应用CL来指明 (16)MOV 64H,AL ;立即数不能做为目的操作数(17)ADD AL,6600H ;源、目的操作数的类型不一致(18)MOVBX,SI ;传送指令中,两个操作数不能同时为存储器操作数(19)XCHG AX,8800H;交换指令的操作数不能使用立即数(20)MOV AX,BXDX ;传送指令的源操作数,不能使用立即数(21)LEA BX,1000H;有效地址传送指令的源操作数不能为立即数,必须是存储器操作数(22)DIV 0010H ;正确(23)LEA DX,DI ;同(21)题,源操作数不能为寄存器操作数(24)MUL AX,200H ;乘法指令的目的操作数是隐含的,不能出现在指令中(25)MOV AX, BX+BP;传送指令中源操作数格式错,BX和BP不能同时为间址寄存器(26)CMP BX, SI ;比较指令的两个操作数不能同时为存储器操作数(27)OUT DX, BX ;I/O指令中,源操作数只能使用AL或AX寄存器(28)AND OFH,AL ;“与”指令中,目的操作数不能使用立即数(29)SAL BX,CX ;移位指令,移位位移不能用CX寄存器指明(30)JMP FAR BX+SI ;转移指令中转移的目标地址表达方式错误;如果是段内间接转移,应为:JMP WORD PTRBX+SI;如果是段间间接转移,应为:JMP DWORD PTRBX+SI(31)JNZ AAA;不相等转移指令中,符号地址(标识符)不能使用系统中的保留字(32)JMP NEXT ;正确(33)SBC AX, DX ;指令助记符错,源操作数表示方式错(34)MOV CS,DS;段寄存器之间不能传送数据,CS寄存器也不能做为目的操作数(35)ADD DS, AX ;加法指令中段寄存器不能做为操作数(36)MOV AL,CX ;源、目的操作数的类型不一致,见(17)题(37)INC BX ;没有指定存储器操作数类型(38)MOV CL,A8H;源操作数为16进制的立即数,16进制数以字母开头时应在前面加“0”(39)MOV ES,DS ;错同(34)题(40)IN AL,BX ;I/O指令端口地址表示错误,只能用8位立即数或DX间址5设一个字节数据X存放AL寄存器中,试说明下列程序的功能:XOR AH,AH ;AH清零SAL AX,1 ;AX左移一位,相当于2XMOV BX,AX ;2X送BX暂存MOV CL,2 SAL AX,CL ;AX左移二位,2X4=8XADD AX,BX ;2X+8X=10X该段程序实现了字节数据X乘10,结果在AX中。6试编程实现:(1)AL寄存器的低4位清0 (2)BL寄存器的低4位置1 (3)CL寄存器的低4位取反 (4)测试DL寄存器的最低2位是否同时为0,若是,将0送入BL寄存器;否则将1送入BL寄存器。; AL寄存器的低4位清0; BL寄存器的低4位置1; CL寄存器的低4位取反; 测试DL寄存器答:程序段如下 AND AL,0F0H OR BL,0FH XOR CL,0FH TEST DL,03H JZ NEXTMOV BL,1JMP NEXT1NEXT:MOV BL,0NEXT1:HLT7若有两个4字节的无符号数相加,这两个数分别存放在2000H和3000H开始的存储单元中,得到的和存放在2000H开始的内存单元。试编程完成。 答:程序段如下 MOV AX,3000H ADD 2000H,AX MOV AX,3002H ADC 2002H,AX8设从2000H为首址的内存中,存放着10个带符号的字节数据,试编程完成:找出其中最大的数,并存入2000H单元。答:程序段如下 MOV BX,2000H MOV CX,9MOV AL,BX N2:INC BX CMP AL,BX JGE N1 MOV AL,BX N1:LOOP N2 MOV 2000H,AL HLT9用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么情况来使用?用这4个寄存器分别组合间接寻址时,物理地址是怎样计算的?举例说明。答:BX、SI、DI用于在数据段寻址,BP用于在堆栈段寻址。在数据段物理地址为:PADS10HBX/SI/DI 或者为:PADS10HBXSI 或(BXDI)在堆栈段物理地址为:PASS10HBP 或者为:PASS10HBPSI 或(BPDI) 举例如下:MOV AX,BXSI ;在数据段寻址,PADS10HBXSIMOV AX,BPDI ;在堆栈段寻址,PASS10HBPDI;答:执行完该条指令后 AX1400H;答:执行完该条指令后 AX0300H;答:执行完该条指令后 AX4C2AH;答:执行完该条指令后 AX3412H10已知:DS2000H,BX0300H,SI0002H,(20300H)12H,(20301)34H,(20302H)56H,(20303H)78H,(21400H)2AH,(21401H)4CH,(21402H)B7H,(21403H)65H试说明下列各条指令执行完后AX寄存器的内容。(1)MOV AX,1400H (2)MOV AX,BX (3)MOV AX,1400H (4)MOV AX,BX 11根据以下要求,试写出相应的汇编语言指令。(1)把BX寄存器和DX寄存器的内容相加,结果存入BX寄存器中。 答:指令为 ADD BX,DX(2)用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。 答:指令为 ADD AL,BXSI(3)用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX相加,并把结果存回存储器中。 答:指令为 ADD BX0B2H,CX(4)用位移量为0524H的直接寻址方式把存储器中的一个字与立即数3C5AH相加,并把结果送回该存储单元。 答:指令为 ADD 0524H,3C5AH12已知堆栈段寄存器SS的内容是0FF0AH,堆栈指针寄存器SP的内容是0008H,先执行两条把8057H和0F7CH分别进栈的PUSH指令,再执行一条POP BX指令。试画出堆栈区和SP的内容过程变化示意图(标出存储单元的物理地址)。答:将8057H和0F7CH分别进栈后,SP0004H,再执行一条POP BX指令后,SP0006H,BX0F7CH。堆栈区和SP的内容过程变化示意图如下:SP0006HSS0FF0AHSP SP0004HSP0008HSP SP 7 C H0 F H5 7 H8 0 HHHH7 C H0 F H5 7 H8 0 HHHH0FF0A0H0FF0A1H0FF0A2H0FF0A3H0FF0A4H0FF0A5H0FF0A6H0FF0A7H0FF0A8HH0FF0A9HH0FF0AAHH13字节扩展指令和字扩展指令用在什么场合?举例说明。答:用在除法运算中,对带符号数的被除数进行扩展;例如:当被除数在AX中,除数在BX中时CDWIDIV BX14写出执行以下计算的指令系列。其中X、Y、Z、R、W均为存放16位带符号数单元的地址。(1)Z W (ZX) 答:指令系列如下MOV AX,ZSUB AX,XADD AX,WMOV Z,AX(2)Z W (X6)(R9) 答:指令系列如下ADD X,6SUB R,9MOV AX,WSUB AX,XSUB AX,RMOV Z,AX(3)Z (WX)/(Y6),R 余数 答:指令系列如下MOV AX,WIMUL XMOV BX,YADD BX,6IDIV BXMOV R,DX(4)Z (WX)/ 5Y) 2 答:指令系列如下MOV AX,WSUB AX,XCDWIDIV 5IMUL YIMUL 2ADD DX,CFMOV Z,AX15写出完成以下操作的程序段。假设各变量的值均为用压缩BCD码表示的二位十进制数(1)U V(S6) 答:程序如下MOV AL,S SUB AL,6 DAS ADD AL,V DAA MOV U,AL(2)U (XW)(ZV) 答:程序如下MOV AL,ZSUB AL,VDASMOV BL,ALMOV AL,XADD AL,WDAASUB AL,BLDASMOV U,AL16移位指令和循环移位指令在执行操作时,有什么差别?在编制乘除法程序中,为什么常用移位指令来代替乘除法指令?试编制一个程序段,实现CX中的数除以4,结果仍放在CX中。答:逻辑移位指令用于无符号数的移位,左移时,最低位补0,右移时,最高位补0。算术移位指令用于对带符号数的移位,左移时,最低位补,右移时,最高位的符号在右移的同时,且保持。小循环移位指令ROL、ROR是只对目标操作数进行循环,即不含CF的左、右移循环移位。大循环移位指令RCL、RCR是把标志位CF也包含在循环中的左、右移循环移位。对于二进制数,左移一位相当于乘二,右移一位相当于除二,所以可以用移位指令来代替乘除法指令。 SAR CX,1 ;CX算术右移一位,除二 SAR CX,1 ;CX算术右移一位,除二17在0628H单元处有一条二字节指令JMP SHORT OBJ,如果其中位移量为: 27H; 6BH; 0C6H,试问转向地址处的值为多少?答:段内短转移的把当前的IP值(即JMP指令的下一条指令的地址)与指令指定的8位偏移量之和送到IP,使程序运行发生转移。指令中的OBJ是一个带符号的八位偏移量。当OBJ27H时,转移的目标地址值为:0651H当OBJ6BH时,转移的目标地址值为:0692H当OBJ0C6H时,转移的目标地址值为:05F0H18带参数的返回指令用在什么场合?设栈顶地址为4000H,当执行RET 0008H后,SP指针的值是多少?答:当调用程序为子程序提供一定的参数或参数的地址,这些参数是通过堆栈传递给子程序时;在子程序运行结束返回时,这些参数或参数地址已经没有在堆栈中保留的必要。因此,使用带参数的返回指令RET n,以便废弃一些CALL指令执行前入栈的参数。设栈顶地址为4000H,当执行RET 0008H后,执行SP SPn的操作,SP4008H。19假定AX和BX中内容为带符号数,CX和DX中的内容为无符号数。请用比较指令和条件转移指令实现以下判断。(1)若DX的内容高于CX的内容,转去执行EXCEED。(2)若BX的内容大于AX的内容,转去执行EXCEED。(3)若CX的内容等于零,转去执行ZERO。(4)若BX的内容小于等于AX的内容,转去执行EXCEED。(5)若DX的内容低于等于CX的内容,转去执行EXCEED。答: CMP DX,CX JA EXCEED CMP BX,AX JG EXCEED CMP CX,0JZ ZERO CMP BX,AX JLE EXCEED CMP DX,CX JBE EXCEED20分析下列程序段:ADD AX,BXJNO L1JNC L2SUB AX,BXJNC L3JNO L4JMP SHORT L5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院规范化管理体系构建
- 2025年高等教育法学类自考-00223中国法制史历年参考题库含答案解析(5套典型题)
- 2025年高等教育文学类自考-07189视听语言历年参考题库含答案解析(5套典型题)
- 2025年高等教育文学类自考-03108盆景与花卉装饰历年参考题库含答案解析(5套典型题)
- 2025年高等教育教育类自考-00402学前教育史历年参考题库含答案解析(5套典型题)
- 2025年高等教育工学类自考-07227电脑动画历年参考题库含答案解析(5套典型题)
- 2025年高等教育工学类自考-02405道路勘测设计历年参考题库含答案解析(5套典型题)
- 医院细菌培养标准化流程
- 2025年高等教育医学类自考-03201护理学导论历年参考题库含答案解析(5套典型题)
- 2025年高等教育医学类自考-02943中医眼科学历年参考题库含答案解析(5套典型题)
- 2024年西藏贡觉县卫生系统招聘考试(护理学专业知识)题含答案
- 国家卫健委十八项制度医疗
- 2025年天猫国际母婴分龄营养白皮书-智篆文化
- 制酸基础技能培训手册
- 2025年初中语文名著阅读《红星照耀中国》每日一练含答案
- 第四届全国会计知识大赛模拟题库及答案
- 室颤疑难病例讨论
- 大班健康冬天里的运动
- 净水器安全操作规程
- 重庆市沙坪坝区人民医院消防安全整改工程施工方案
- 雅思单词书雅思词汇8000
评论
0/150
提交评论