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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(《汇编语言》练习册答案Word文档下载推荐.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《汇编语言》练习册答案Word文档下载推荐.docx

1、 (BCD2)=89, (BCD2+1)=27 欲使以下指令序列实现,(BCD3) (BCD1)+(BCD2)的功能(请在横线上添上适当的语句)MOV AL, BCD1 ADD AL,BCD2 DAA MOV BCD3, AL MOV AL, BCD1+1 ADC AL,BCD2+1 MOV BCD3+1, AL二、试根据以下要求写出相应的汇编语言指令1、把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。ADD DX,BX2、用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。ADD AL,BX+SI3、用寄存器BX和位移量0B2H

2、的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。ADD BX+0B2H,CX4、用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回该存储单元中。ADD 0524H,2A59H5、把数0B5H与(AL)相加,并把结果送回AL中。ADD AL,0B5H三、图示题:(第1题10分,第2、3题,每题5分,共20分) 1、已知堆栈寄存器SS的内容是0FFA0H,堆栈指针寄存器SP的内容是00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP的内容变化,过程示意图(标出存储单元的物理地址)

3、。FFAB0H执行PUSH前2、画出以下指令汇编后存储情况示意图。DATA_BYTE DB 10 , 4 , 10HDATA_WORD DW 100,100H,-5DATA-DW DD 3*20 , 0FFFDHDATA_BYTE0A0410DATA_WORD6400FBFFDATA_DW3CFD3、画出以下指令汇编后存储情况示意图 ARRAY1 DB 2 DUP(0,1,2,?) ARRAY2 DB 100 DUP(?ARRAY10102ARRAY2-四、请设置一个数据段DATASG,其中定义以下字符变量或数据变量。(1)FLD1B为字符串变量:personal computer:(2)FL

4、D2B为十进制数字节变量:32:(3)FLD3B为十六进制数字节变量:20:(4)FLD4B为二进制数字节变量:01011001;(5)FLD5B为数字的ASCII字符节变量:32654;(6)FLD6B为10个零的字节变量;(7)FLD7B为零件名(ASCII码)及其数量(十进制)的表格: PART1 20 PART2 50(8)FLD1W为十六进制数字节变量:FFF0;(9)FLD2W为二进制数字变量:(10)LD4W为包括5个十进制数的字节变量:5,6,7,8,9;(11) LD5W为5个零的字变量DATASG SEGMENTFLD1B DB personal computerFLD2B

5、 DB 32FLD3B DB 20HFLD4B DB 01011001BFLD5B DB 32654FLD6B DB 10 DUP(0)FLD7B DB 20,50 FLD1W DB F0H,FFHFLD2W DW 01011001BLD4W DB 5,6,7,8,9LD5W DW 5 DUP(0)DATASG ENDS五、写出框架: 1、按下面的要求写出程序的框架。(1)、数据段的位置从0E000H开始,数据段中定义一个100字节的数组,其类型属性既是字又是字节;(2)、堆栈段从小段开始,段组名为STACK;(3)、代码段中指定段寄存器,指定主程序从1000H开始,给有关段寄存器赋值;(4)

6、、程序结束。ORG 0E000Hdata_seg SEGMENT arr1 DW 100 DUP(? arr2 EQU WORD PTR arr1data_seg ENDSstack_seg SEGMENT PATA STACK stack_seg ENDScode_seg SEGMENTmain PROC FAR ASSUME CS: code_seg,DS: data_seg,SS: stack_seg ORG 1000Hstart: PUSH DS SUB AX,AX PUSH AXMOV AX, data_seg MOV DS,AX MOV AX, stack_seg MOV SS,A

7、X RETmain ENDPcode_seg ENDS END start2、写出“调用程序和子程序不在同一代码段中”框架segx SEGMENT sebt PROC FAR RETsebt ENDP CALL sebtsegx ENDSsegy SEGMENTsegy ENDS六、编程题:1、编一个程序,对键盘输入的小写字母用大写字母显示出来。BEGIN: MOV AH,1 INT 21H CMP AL,a JB STOP CMP AL,z JA STOP SUB AL,20H MOV DL,AL MOV AH,2 JMP BEGINSTOP: RET第二套1、MOV CX,DX 设(CX)

8、=1064H,(DX)=6789H指令执行后(CX)=_ 6789H _,(DX)=_6789H _2、ADD AL,CH 设(AL)=34H,(CH)=0D4H指令执行后(AL)=_08H_,(CH)=_0D4H _3、XCHG AX,(BP+SI) 设(AX)=2030H,(BP)=0200H,(SI)=0023H,(SS)=2F00H, (2F223H)=5A21H,OPR2的物理地址=2F000+0200+0023=2F223H则指令执行后(AX)= 5A21H ,(2F223H)= 2030H 4、LES SI,BX设(DS)=C000H, (BX)=0300H,(0C0300H)=

9、0123H, (0C0302H)=5410H 则指令执行后 (SI)= 0123H,(ES)= 5410H5、LDS SI,30H设(DS)=B000H, (B0030H)=5620H,(B0032H)=4500H, 则指令执行后 (SI)= 5620H ,(DS)= 4500H 6、ADD AL, BLAAA 如指令执行前,(AX)=0535H, (BL)=39H 执行ADD AL, BL后,(AL)= 6EH 执行AAA后,(AX)= 0604H 7、MOV AX,BXDI 如(DS)=3000H,(BX)=3145H,(DI)=1FC0H 则物理地址= 35105H 8、MOV AX,

10、MASKBXDI如果(DS)=C000H,(BX)=1200H,(DI)=5600H,MASK=0360H, 则物理地址= C6B60H 9、在一个程序开始执行以前(CS)=0BB00H,(如16进制数的最高位为字母,则应在其前加一个0)(IP)=5ED0H,试问该程序的第一字的物理地址是 C0ED0H 10、MOV AL,0BFH AND AL,0FCH上述指令执行后(AL)= BCH 11、MOV CL,2 SHL SI,CL(SI)=1450H(SI)= 5140H ,CF= 0 欲使以下指令序列实现,(BCD3) (BCD1)-(BCD2)的功能(请在横线上添上适当的语句) SUB A

11、L,BCD2 DAS SBB AL,BCD2+1 1、把AX寄存器和CX寄存器的内容相加,结果存入AX寄存器中。ADD AX,CX2、用寄存器BX和DI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。ADD AL,BX+DI3、用寄存器BX和位移量0DDH的寄存器相对寻址方式把存储器中的一个字和(DX)相加,并把结果送回存储器中。ADD BX+0DDH,DX4、用位移量为5600H的直接寻址方式把存储器中的一个字与数8765H相加,并把结果送回该存储单元中。ADD 5600H,8765H5、把数0E8H与(AH)相加,并把结果送回AH中。ADD AH,0

12、E8H 1、已知堆栈寄存器ss的内容是0E000H,堆栈指针寄存器SP的内容是02FFH,先执行两条把1234H和5678H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP的内容变化过程示意图(标出存储单元的物理地址)。E02FFHE02FBH 78HE02FCH56HE02FDH34HE02FEH12H执行PUSH后执行POP后MESSAGE DB HELLOW MESSA1 DB ABMESSA2 DW ABMESSAGEHELMESSA1MESSA2OWAB ARR1 DW 2 DUP(3,4,?ARR2 DW 10 DUP(?ARR103ARR2C PROGRAME:(

13、2)FLD2B为十六进制数字节变量:10:(3)FLD3B为十进制数字节变量:50:10101010;9361256;(6)FLD6B为20个零的字节变量;(8)FLD1W为十六进制数字变量:BBCC53;(10)LD4W为包括5个十进制数的字变量:1,8,2,4,9;FLD1B DB C PROGRAMEFLD2B DB 10HFLD3B DB 50FLD4B DB 10101010BFLD5B DB 9361256FLD6B DB 20 DUP(0)FLD1W DW BBH,CCH,53HLD4W DW 1,8,2,4,92、写出“调用程序和子程序在同一代码段中”框架MAIN PROC F

14、AR CALL SUBR1MAIN ENDPSUBR1 PROC NEARSUBR1 ENDP1、编一个程序,从键盘接受一个小写字母,然后找出它的前导字符和后续字符再按顺序显示出来。 DEC AL MOV CX,3DISPLAY:MOV AH,2 INC DL LOOP DISPLAY第三套1、MOV BX, AX 设(AX)=5800H,(BX)=6C7BH指令执行后(BX)=_ 6C7BH _,(AX)=_ 6C7BH _2、ADD AL,BH 设(AL)=3DH,(BH)=5FH指令执行后(AL)=_9CH_,(BH)=_5FH _设(BX)=7D00H,(BP)=0520H,(SI)=

15、0100H,(SS)=3C00H, (3C620H)=5FABH,OPR2的物理地址=3C000+0520+0100=3C620则指令执行后(BX)= 5FABH ,(3C620H)= 7D00H 4、LES DI,BX设(DS)=D000H, (BX)=07DBH,(0D07DBH)=0321H, (0D07DDH)=6000H 则指令执行后 (DI)=0321H ,(ES)= 6000H 5、LDS SI,78H设(DS)=1000H, (10078H)=0A00H,(1007AH)=B000H, 则指令执行后 (SI)= 0A00H ,(DS)= B000H 6、MUL AL, DL 如

16、指令执行前,(AL)=08H, (DL)=05H执行AAM后,(AH)= 04H ,(AL)= 00H 7、MOV AX,BXDI 如(DS)=5300H,(BX)=02A0H,(DI)=29FCH 则物理地址= 559C9CH 如果(DS)=8000H,(BX)=4500H,(SI)=0876H,MASK=0745H, 则物理地址= 854BBH 9、在一个程序开始执行以前(CS)=0C376H,(如16进制数的最高位为字母,则应在其前加一个0)(IP)=8BFAH,试问该程序的第一字的物理地址是 0CC35AH 10、MOV AL,43H OR AL,20H上述指令执行后(AL)= 63H

17、 SAL DI,CL(0F980AH)= 0C80H ,CF= 00H 12、已知(BCD3)=1234,(BCD4)=2345, BCD3和BCD4均为用压缩的BCD码表示的十进制数,由于它们都是4位数,所以每个数占有2个字节,高位数占有高位字节,其存放方式为 (BCD3)=34, (BCD3+1)=12 (BCD4)=45, (BCD4+1)=23 欲使以下指令序列实现,(BCD1) (BCD3)+(BCD4)的功能(请在横线上添上适当的语句)MOV AL, BCD3 ADD AL,BCD4 MOV BCD1, AL MOV AL, BCD3+1 ADC AL,BCD4+1 MOV BCD

18、1+1, AL1、把CX寄存器和AX寄存器的内容相加,结果存入CX寄存器中。ADD CX,AX2、用寄存器BX和DI的基址变址寻址方式把存储器中的一个字节与DH寄存器的内容相加,并把结果送到DH寄存器中。ADD DH,BX+DI3、用寄存器BX和位移量0D1H的寄存器相对寻址方式把存储器中的一个字和(AX)相加,并把结果送回存储器中。ADD BX+0D1H,AX4、用位移量为08A0H的直接寻址方式把存储器中的一个字与数0A760H相加,并把结果送回该存储单元中。ADD 08A0H,0A760H5、把数0FH与(AL)相加,并把结果送回AL中。ADD AL,0FH 1、已知堆栈寄存器ss的内容

19、是0AA00H,堆栈指针寄存器SP的内容是01EDH,先执行两条把1357H和2468H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP的内容变化过程示意图(标出存储单元的物理地址)。AA1EDHAA1E9H 68HAA1EAH24HAA1EBH57HAA1ECH13HDATA_BYTE DB 67 ,01110001B , 10H ,0FDHDATA_WORD DW 127,10H,-1DATA-DW DD 2+3*5 , 0FEDCH 43717F11DCFE ABC DB 0,?,?,0 DEF DW ?,52,?ARRAY DB 100 DUP(0,2 DUP(1,2),0,3)ABCDEFARRAY34四、请设置一个数据段DATASG,其中定义以下字符

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2