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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(东北大学汇编语言习题课.pdf)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

东北大学汇编语言习题课.pdf

1、习题课第三章第四章第五章第六章第七章第八章第十二章3.15 已知 :BX=1234H,BP=5678H, SI=1357H,DS=0925H, SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。解答这类问题 ,首先要明确哪一个操作数是存储器操作数 ,进而确定其寻址方式 ,并根据寻址方式计算有效地址。要计算实际地址 ,则必须明确操作数处于哪一个逻辑段中 ,再根据相应段寄存器的内容得到段基址 ,加上有效地址即为实际地址。(1) MOV AL,BX解 :该指令的源操作数为存储器操作数 ,其寻址方式为寄存器间接寻址 ,故 BX的内容 1234H即为有效地址。操作数所处

2、段为隐含段数据段 ,故段基址为 09250H,所以实际地址 =段基址 +有效地址 =09250H+1234H=0A484H。(2) MOV AH,BP解 :该指令的源操作数为存储器操作数 ,其寻址方式为基址寻址 ,故有效地址为 BP的内容 5678H。操作数所处段为隐含段堆栈段 ,故段基址为 04680H,所以实际地址 =段基址+有效地址 =04680H+5678H=09CF8H。(3) MOV BH,CS:SI解 :该指令的源操作数为存储器操作数 ,其寻址方式为寄存器间接寻址 ,故 SI的内容 1357H即为有效地址。操作数所处段为代码段 ,故段基址为 4B100H,所以实际地址 =段基址

3、+有效地址 =4B100H+1357H=4C457H。3.15 已知 :BX=1234H,BP=5678H, SI=1357H,DS=0925H, SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(4) MOV DL,SI+10H解 :该指令的源操作数为存储器操作数 ,其寻址方式为变址寻址 ,故有效地址为 SI的内容 1357H+10H=1367H。操作数所处段为隐含段数据段 ,故段基址为 09250H,所以实际地址 =段基址 +有效地址 =09250H+1367H=0A5B7H。(5) MOV CH,BP+20H解 :该指令的源操作数为存储器操作数 ,其寻

4、址方式为基址寻址 ,故有效地址为 BP的内容 5678H+20H=5698H。操作数所处段为隐含段堆栈段 ,故段基址为 04680H,所以实际地址 =段基址 +有效地址 =04680H+5698H=09D18H。3.15 已知 :BX=1234H,BP=5678H, SI=1357H,DS=0925H, SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(6) MOV CL,SS:SI+50H解 :该指令的源操作数为存储器操作数 ,其寻址方式为变址寻址 ,故有效地址为 SI的内容 1357H+50H=13A7H。操作数所处段为堆栈段 ,故段基址为 04680H

5、,所以实际地址 =段基址 +有效地址 =04680H+13A7H=05A27H。(7) MOV BL,DS:BP+30H解 :该指令的源操作数为存储器操作数 ,其寻址方式为基址寻址 ,故有效地址为 BP的内容 5678H+30H=56A8H。操作数所处段为数据段 ,故段基址为 09250H,所以实际地址 =段基址 +有效地址 =09250H+56A8H=0E8F8H。3.15 已知 :BX=1234H,BP=5678H, SI=1357H,DS=0925H, SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(8) MOV BP+SI+30H,AL解 :该指令

6、的目标操作数为存储器操作数 ,其寻址方式为基址变址寻址 ,故有效地址为 5678H+1357H+30H=69FFH。操作数所处段为隐含段堆栈段 ,故段基址为 04680H,所以实际地址 =段基址 +有效地址 =04680H+69FFH=0B07FH。(9) MOV BX+SI-40H,AH解 :该指令的目标操作数为存储器操作数 ,其寻址方式为基址变址寻址 ,故有效地址为 1234H+1357H-40H=254BH。操作数所处段为隐含段数据段 ,故段基址为 09250H,所以实际地址 =段基址 +有效地址 =09250H+254BH=0B79BH。3.15 已知 :BX=1234H,BP=567

7、8H, SI=1357H,DS=0925H, SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(10) MOV CS:BX+SI,DH解 :该指令的目标操作数为存储器操作数 ,其寻址方式为基址变址寻址 ,故有效地址为 1234H+1357H=258BH。操作数所处段为代码段 ,故段基址为 4B100H,所以实际地址 =段基址 +有效地址 =4B100H+258BH=4D68BH。3.15 已知 :BX=1234H,BP=5678H, SI=1357H,DS=0925H, SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。1

8、DATA DB 10, 20, 30, 40, 50ENTER DW 3:MOV BX, OFFSET DATAADD BX,ENTERMOV AX, BXAX= 3228H0AH14H1EH28H32H03H00HDATAENTER已知数据定义如下,则给定的程序段执行后,寄存器 AX的内容是多少?2 DATA DW 10, 20, 30, 40, 50ENTER DW 3:MOV BX, OFFSET DATAMOV SI, ENTERMOV AX, BX+SIAX= 1E00H0AH00H14H00H1EH00H28H00H32H00H03H00HDATAENTER已知数据定义如下,则给定

9、的程序段执行后,寄存器 AX的内容是多少?(1) MOV AX,BX (2) MOV DL,CH(3) MOV AX,SI(4) MOV AL,SI+1(5) MOV BX,SI-100H(6) MOV DX,-200HBXSI(7) MOV BXSI,CX(8) MOV BX,AX; AX=100H; DL=03H; AX=6978H; AL=69H; BX=3726H; DX=3726H; (3505H)=0302H; (100H)=1234H26H37H:78H69H:A6H35H3305H3306H:3405H3406H:3505H3506H5.5 已知 : AX=1234H,BX=1

10、00H,CX=0302H,SI=3405H,CF=1,当前数据段中 (3305H)=26H,(3306H)=37H,(3405H)=78H,(3406H)=69H,(3505H)=35A6H,DX=3205H,指出下述各条指令执行后目标地址中的数值。5.6 条件同上题 ,指出下述指令执行后的结果和标志位状态。(AX=1234H,BX=100H,CX=0302H,SI=3405H,CF=1)26H37H:78H69H:A6H35H3305H3306H:3405H3406H:3505H3506H指 令 结果 OF SF ZF AF PF CF(1) ADD AX,BX 1334H 0 0 0 0

11、0 0(2) SUB BH,CL 0FFH 0 1 0 1 1 1(3) CMP AL,SI-100H 34H 0 0 0 1 0 0(4) AND AL,SIBX 24H 0 0 0 1 0(5) NOT BX 0FEFFH 标志位不受影响(6) OR BL,CH 03H 0 0 0 1 0(7) ADD SIBX,AX 47DAH 0 0 0 0 0 0(8) XOR AH,AH 00H 0 0 1 1 0注 :这里 表示状态不确定5.7 条件同 5.5题 ,指出下述移位指令执行后目标地址中的内容及标志位状态。(AX=1234H,BX=100H,CX=0302H,SI=3405H,CF=1

12、)26H37H:78H69H:A6H35H3305H3306H:3405H3406H:3505H3506H指 令 结果 OF SF ZF PF CF(1) SHR BH,1 00H 0 0 1 1 1(2) SAR SI,CL 0D01H 0 0 0 0 0(3) ROR CH,1 81H 1 1(4) ROL BX,CL 0400H 0 0(5) SAL AX,CL 48D0H 0 0 0 0 0(6) SAR BYTE PTRSI,CL 1EH 0 0 0 1 0(7) RCR BYTE PTRBXSI,1 0D3H 0 0(8) SHL WORD PTRSI,1 0D2F0H 1 1 0

13、 1 0注 :这里 表示状态不确定 ,空白表示不受影响。5.8 编写完成下列功能的小程序段。(1)将寄存器 AL的第 3,4位变反 ,其余位保持不变。解 : XOR AL,18H(2)将寄存器 AL的第 3,4位清零 ,其余位保持不变。解 : AND AL,0E7H(3)将寄存器 AL的第 3,4位置 1,其余位保持不变。解 : OR AL,18H(4)DX和 AX联合存放一个 32位整数 (DX存放高 16位 ),将该数据逻辑左移一位。解 : SHL AX,1RCL DX,1(5)内存单元 MEMB存放着一个 8位的数据 ,将它的高 4位和低 4位互换。解 : MOV CL,4ROR MEM

14、B,CL5.8 编写完成下列功能的小程序段。解 : SHL AL,1RCR AH,1SHL AL,1RCR AH,1SHL AL,1RCR AH,1SHL AL,1RCR AH,15.9 编制程序将 AL中的第 7位和第 0位 ,第 6位和第 1位 ,第 5位和第 2位 ,第 4位和第 3位互换。SHL AL,1RCR AH,1SHL AL,1RCR AH,1SHL AL,1RCR AH,1SHL AL,1RCR AH,1MOV AL,AHB6B5B4B3B2B1B00B7CF ALB7X X X X X X XAHB5B4B3B2B1B000B6CF ALB6B7X X X X X XAH解

15、 : MOV CL,iMOV BL,03HSHL BL,CLAND AL,BLNOT BLAND MEM,BLOR MEM,AL5.10 编制程序将 AL中的第 i,i+1位写入 MEM单元的第 i,i+1位 ,其它位的内容不变。指 令 OF SF ZF PF CF 目标地址内容(1) ADD AL,BL 1 1 0 1 0 0A5H(2) SUB AH,BL 1 0 0 1 0 53H(3) NEG BH 1 1 0 0 1 80H(4) SAR AH,1 0 1 0 0 1 0C2H(5) AND AL,BL 0 0 0 0 0 32H5.20 对于下述指令 , 当 AX=8573H,BX

16、=8032H时 , 写出各指令执行后标志位的状态及目标地址内容。指 令 OF SF ZF PF CF 目标地址内容(1) ADD AX,BX 1 1 0 0 0 9880H(2) SUB AL,AH 1 0 0 0 0 0DH(3) CMP AL,BH 1 0 0 0 0 80H(4) NEG BL 0 0 1 1 0 00H(5) AND AL,BH 0 0 1 1 0 00H(6) OR AL,AH 0 1 0 1 0 0F3H(7) SHL AL,1 1 0 1 1 1 00H6.1 已知 AX=7380H,BX=2500H,写出下述每条指令执行后 OF,SF,ZF,PF,CF的状态和目

17、标地址的内容。指 令 OF SF ZF PF CF 目标地址内容(8) SHL BL,1 0 0 1 1 0 00H(9) SAR AL,1 0 1 0 1 0 0C0H(10)ROL AH,1 1 0 0E6H(11)ROL AL,1 1 1 01H (12)ROR BH,1 1 1 92H(13)ADD AH,AH 1 1 0 0 0 0E6H(14)ADD AH,BH 1 1 0 0 0 98H 6.1 已知 AX=7380H,BX=2500H,写出下述每条指令执行后 OF,SF,ZF,PF,CF的状态和目标地址的内容。指 令 OF SF ZF PF CF 目标地址内容(15)SUB A

18、L,BH 1 0 0 0 0 5BH(16)MUL BH 1 1 1280H(17)IMUL BX 1 1 10B18000H(18)XOR BH,AH 0 0 0 1 0 56H(19)NEG AL 1 1 0 0 1 80H (20)SHR AH,1 0 0 0 1 1 39H(21) ROR AH,1 1 1 B9H注 :这里空白表示不受影响。6.1 已知 AX=7380H,BX=2500H,写出下述每条指令执行后 OF,SF,ZF,PF,CF的状态和目标地址的内容。1. SEGA SEGMENT2. DAX: DW 2003. DAY DB 1000H4. MAX DB 0,05. S

19、EGA ENDS6. CSEG SEGMENT7. ASSUME CS:CSEG8. ASSUME DS:SEGA9. CMP AX,DAX10. JG XGY11. JZ ZERO12. MOV AX,DAY13. XGY: MOV MAX,AX14. ZERO HLT15. ENDS16. END START6.9 下列程序有错 , 请将它们找出来。已知程序欲完成的功能是从两个无符号数中选出较大者送入 MAX单元 ,若二者相同 ,将 MAX清 0。;应将 DAX:改为 DAX;应将 DB改为 DW;改为 MAX DW 0在第 8行和第 9行之间应插入如下语句 :START: MOV AX,

20、SEGAMOV DS,AXMOV AX,DAX; DAX改为 DAY; JG改为 JA; ZERO改为 ZERO:;改为 CSEG ENDSCDEBUG EXAM.EXE-RAX 023A BX 0000 CX 0045 DX 0000 SP FFFE BP=0000 SI 0000DI 0000 DS 0913 ES 0913 SS 0913 CS 0913 IP=0000 -E DS:00913:0000 5 96 46 57 00 45-U30913:0003 BE 00 00 MOV SI,000913:0006 8A 04 MOV AL,SI0913:0008 02 44 01 AD

21、D AL,SI+10913:000B 79 06 JNS 130913:000D F6 D8 NEG AL0913:000F 88 44 02 MOV SI+2,AL0913:0012 CC INT 30913:0013-G 3 13AX BX SID DS:0 7:6.12 下面一段信息是用 DEBUG命令的结果 , 填充空白处的内容 : 0213 0000 0000 0913 0000 96 57 13 BE 00 00 8A 04解答这类问题 ,首先必须明确每一个 DEBUG命令的意义以及可以从该命令的显示结果中获得哪些必要的信息。就本题而言 ,可以从 R命令的显示结果中得到我们所需要的

22、某些寄存器的内容。而从 E命令的显示结果中可知 0913段中 0号到 2号单元的内容分别为 96,57,45。U命令是反汇编命令 ,其显示结果可分为 4部分 ,其中第一列的内容为当前代码段段基址的高 16位 ,第二列的内容为对应的语句在当前代码段中的偏移地址 ,第三列的内容为与汇编语句相对应的机器指令 ,第四列的内容为可执行的汇编语句。G命令是执行命令 ,等号后面的地址为起始地址 ,未加等号的地址为断点地址。所以此程序段从地址 0913:0003所标识的语句开始执行 ,当指令指针 IP的值为 0013时 ,停止执行程序。因此 ,各个空的内容分别为 :6.12 下面一段信息是用 DEBUG命令的

23、结果 , 填充空白处的内容 : CDEBUG EXAM.EXE-U 50933:0005 BB 01 00 MOV BX,00010933:0008 B0 24 MOV AL,240933:000A 74 12 JZ 001E0933:000C 8D 1E 06 01 LEA BX,01060933:0010 8A 07 MOV AL,BX0933:0012 00 47 01 ADD BX+01,AL0933:0015 70 07 JO 001E0933:0017 28 47 02 SUB BX+02,AL0933:001A F6 E1 MUL CL0933:001C 73 03 JNB 00

24、210933:001E 88 47 02 MOV BX+2,AL0933:0021 89 47 02 MOV BX+2,AX0933:0024 CC INT 30933:0025 -RAX 1234 BX 0123 CX 01FF DX 0100 SP=FFFE BP=0000 SI 0000DI 1200 DS 0923 ES 0923 SS 0923 CS=0933 IP 000C-G 1A 21AX BX-D 120 124 :6.13 下面一段信息是用 DEBUG命令的结果 , 填充空白处的内容 : 1201 0106 0923 0120 02 89 47 02 CCMOV AX,00

25、E0HMOV DS,AXMOV BX,0200HMOV CX,BXNEXT: MOV BX,BLINC BLLOOP NEXTMOV AH,4CHINT 21H7.17 下列程序执行完后 , 物理地址单元01070H的内容是什么 ?解答这类问题 ,首先要明确物理地址和逻辑地址的关系 ,物理地址 01070H对应到 00E0H段的偏移地址为01070H-00E00H=270H,执行上述程序段可知该单元内容为 70H。MOV DI,0001HMOV SI,0000HMOV CX,0080HCLDREP MOVSWMOV AH,4CHINT 21H7.18 已知当前的 DS和 ES指向同一个段 ,且

26、当前数据段从 0000H到 00FFH单元的内容分别为01,02,03,.,0FEH,0FFH,00H,问下列程序执行后 ,0000H 00FFH单元的内容有什么变化 ?010203040506:FEFF000000H0001H0002H0003H0004H0005H:00FDH00FEH00FFHSIDIMOV DI,0001HMOV SI,0000HMOV CX,0080HCLDREP MOVSWMOV AH,4CHINT 21H7.18 已知当前的 DS和 ES指向同一个段 ,且当前数据段从 0000H到 00FFH单元的内容分别为01,02,03,.,0FEH,0FFH,00H,问下列

27、程序执行后 ,0000H 00FFH单元的内容有什么变化 ?010102040506:FEFF000000H0001H0002H0003H0004H0005H:00FDH00FEH00FFHSIDIMOV DI,0001HMOV SI,0000HMOV CX,0080HCLDREP MOVSWMOV AH,4CHINT 21H7.18 已知当前的 DS和 ES指向同一个段 ,且当前数据段从 0000H到 00FFH单元的内容分别为01,02,03,.,0FEH,0FFH,00H,问下列程序执行后 ,0000H 00FFH单元的内容有什么变化 ?010102040506:FEFF000000H0

28、001H0002H0003H0004H0005H:00FDH00FEH00FFHSIDIMOV DI,0001HMOV SI,0000HMOV CX,0080HCLDREP MOVSWMOV AH,4CHINT 21H7.18 已知当前的 DS和 ES指向同一个段 ,且当前数据段从 0000H到 00FFH单元的内容分别为01,02,03,.,0FEH,0FFH,00H,问下列程序执行后 ,0000H 00FFH单元的内容有什么变化 ?010102020406:FEFF000000H0001H0002H0003H0004H0005H:00FDH00FEH00FFHSIDIMOV DI,0001HMOV SI,0000HMOV CX,0080HCLDREP MOVSWMOV AH,4CHINT 21H7.18 已知当前的 DS和 ES指向同一个段 ,且当前数据段从 0000H到 00FFH单元的内容分别为01,02,03,.,0FEH,0FFH,00H,问下列程序执行后 ,0000H 00FFH单元的内容有什么变化 ?010102020406:FEFF000000H0001H0002H0003H0004H0005H:00FDH00FEH00FFHSIDI

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报