32位汇编语言习题及答案(全部)(钱晓捷版).ppt

上传人:hyn****60 文档编号:70311159 上传时间:2023-01-19 格式:PPT 页数:115 大小:1.30MB
返回 下载 相关 举报
32位汇编语言习题及答案(全部)(钱晓捷版).ppt_第1页
第1页 / 共115页
32位汇编语言习题及答案(全部)(钱晓捷版).ppt_第2页
第2页 / 共115页
点击查看更多>>
资源描述

《32位汇编语言习题及答案(全部)(钱晓捷版).ppt》由会员分享,可在线阅读,更多相关《32位汇编语言习题及答案(全部)(钱晓捷版).ppt(115页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、3232位汇编语言习题解答位汇编语言习题解答课件制作:课件制作:钱晓捷钱晓捷钱晓捷,钱晓捷,3232位汇编语言程序设计,机械工业出版社位汇编语言程序设计,机械工业出版社第第1 1章习题:汇编语言基础章习题:汇编语言基础1.1 1.1 简答题简答题(1 1、3 3、6 6、7 7、8 8)1.1.2 2 判断题(判断题(1 1、6 6、7 7、8 8、9 9)1.1.3 3 填空填空题题(3 3、4 4、5 5、7 7、1010)1.91.9、1.131.13、1.151.15、1.161.16习题解答习题解答1.11.1 简答题简答题-1-1(1 1)哪哪个个处处理理器器的的指指令令系系统统成

2、成为为Intel Intel 80 x8680 x86系系列列处处理理器的基本指令集?器的基本指令集?80868086(3 3)什么是通用寄存器?)什么是通用寄存器?一一般般指指处处理理器器最最常常使使用用的的整整数数寄寄存存器器,可可用用于于保保存存整整数数据、地址等数数据、地址等(6 6)最高有效位)最高有效位MSBMSB是指哪一位?是指哪一位?数数据据的的最最高高位位,例例如如对对8 8、1616、3232位位数数据据,MSBMSB依依次次指指D D7 7、D D1515和和D D3131位位3 3习题解答习题解答1.11.1 简答题简答题-2-2(7 7)汇汇编编语语言言中中的的标标识

3、识符符与与高高级级语语言言的的变变量量和和常常量量名名的组成原则有本质的区别吗?的组成原则有本质的区别吗?没有没有(8 8)汇编语言的标识符大小写不敏感意味着什么?)汇编语言的标识符大小写不敏感意味着什么?表示字母大小写不同、但表示同一个符号表示字母大小写不同、但表示同一个符号4 4习题解答习题解答1.21.2 判断题判断题1 1)EAXEAX也被称为累加器,因为它使用最频繁。也被称为累加器,因为它使用最频繁。对,对,EAXEAX中的中的A A来自英文累加器(来自英文累加器(AccumulatorAccumulator)6 6)处理器的传送指令)处理器的传送指令MOVMOV属于汇编语言的执行性

4、语句属于汇编语言的执行性语句对对7 7)汇汇编编语语言言的的语语句句由由明明显显的的4 4部部分分组组成成,不不需需要要分分隔隔符符区别。区别。错,使用了分隔符才有了明显的错,使用了分隔符才有了明显的4 4部分部分8 8)MASMMASM汇编语言的注释用分号开始,不能用中文分号汇编语言的注释用分号开始,不能用中文分号对,源程序中的分隔符以及各种标识符都是英文对,源程序中的分隔符以及各种标识符都是英文9 9)程程序序终终止止执执行行也也就就意意味味着着汇汇编编结结束束,所所以以两两者者含含义义相同。相同。错,两者完全是两个概念错,两者完全是两个概念5 5习题解答习题解答1.31.3 填空题填空题

5、-1-1(3 3)IA-32IA-32处处理理器器有有8 8个个3232位位通通用用寄寄存存器器,其其中中EAXEAX,_,_和和EDXEDX,可可以以分分成成1616位位和和8 8位位操操作作;还还有有另另外外4 4个是个是_,_,_,和,和_。EBXEBX,ECXECX,ESIESI,EDIEDI,EBPEBP,ESPESP(4 4)寄寄存存器器EDXEDX是是_位位的的,其其中中低低1616位位的的名名称称是是_,还还可可以以分分成成两两个个8 8位位的的寄寄存存器器,其其中中D0D0D7D7和和D8D8D15D15部分可以分别用名称部分可以分别用名称_和和_表示。表示。3232,DXD

6、X,DLDL,DHDH(5 5)IA-32IA-32处处理理器器有有_个个段段寄寄存存器器,它它们们都都是是_位位的。的。6 6,16166 6习题解答习题解答1.31.3 填空题填空题-2-2(7 7)逻逻辑辑地地址址由由_和和_两两部部分分组组成成。代代码码段段中中下下一一条条要要执执行行的的指指令令由由CSCS和和_寄寄存存器器指指示示,后后者者在在实实地地址模型中起作用的仅有址模型中起作用的仅有_寄存器部分。寄存器部分。段基地址,偏移地址,段基地址,偏移地址,EIPEIP,IPIP(1010)MASMMASM要要求求汇汇编编语语言言源源程程序序文文件件的的扩扩展展名名是是_,汇汇编编产

7、产生生扩扩展展名名为为OBJOBJ的的文文件件被被称称为为_文文件件,编编写写3232位位WindowsWindows应用程序应选择应用程序应选择_存储模型。存储模型。ASMASM,目标模块,目标模块,FLATFLAT7 7习题解答习题解答习题习题1.91.9IA-32IA-32处理器有哪三类基本段,各是什么用途?处理器有哪三类基本段,各是什么用途?解答:解答:代码段:存放程序的指令代码代码段:存放程序的指令代码数据段:存放当前运行程序所用的数据数据段:存放当前运行程序所用的数据堆栈段:主存中堆栈所在的区域堆栈段:主存中堆栈所在的区域8 8习题解答习题解答习题习题1.131.13汇编语言语句有

8、哪两种,每种语句由哪汇编语言语句有哪两种,每种语句由哪4 4个部分组成个部分组成解答:解答:汇编语句有两种汇编语句有两种n执行性语句(处理器指令)执行性语句(处理器指令)n说明性语句(伪指令)说明性语句(伪指令)每个语句有每个语句有4 4部分组成部分组成n标号标号n指令助记符指令助记符n操作数或参数操作数或参数n注释注释9 9习题解答习题解答习题习题1.151.15MASMMASM汇汇编编语语言言中中,下下面面哪哪些些是是程程序序员员可可以以使使用用的的自自定定义标识符。义标识符。FFHFFH,DSDS,AgainAgain,nextnext,datadata,h_asciih_ascii,6

9、364b6364b,flatflat解答:解答:FFHFFH,AgainAgain,nextnext,h_asciih_ascii其他符号错误的原因:其他符号错误的原因:nDSDS是数据段寄存器名是数据段寄存器名n6364b6364b是数字开头是数字开头ndatadata是汇编语言使用预定义符号,表示数据段地址是汇编语言使用预定义符号,表示数据段地址nflatflat是表示平展存储模型的关键字是表示平展存储模型的关键字1010习题解答习题解答习题习题1.161.16汇汇编编语语言言程程序序的的开开发发有有哪哪4 4个个步步骤骤,分分别别利利用用什什么么程程序完成、产生什么输出文件。序完成、产生

10、什么输出文件。解答:解答:汇编语言程序的开发有汇编语言程序的开发有4 4个步骤:个步骤:n编辑编辑:用文本编辑器形成一个以:用文本编辑器形成一个以ASMASM为扩展名的源程序文件。为扩展名的源程序文件。n汇编汇编:用汇编程序将:用汇编程序将ASMASM文件转换为文件转换为OBJOBJ模块文件。模块文件。n连连接接:用用连连接接程程序序将将一一个个或或多多个个目目标标文文件件链链接接成成一一个个EXEEXE或或COMCOM可执行文件。可执行文件。n调试调试:用调试程序排除错误,生成正确的可执行文件。:用调试程序排除错误,生成正确的可执行文件。1111第第2 2章习题:数据表示和寻址章习题:数据表

11、示和寻址2 2.1.1 简答题简答题(2 2、3 3、4 4、7 7、8 8)2 2.2 2 判断判断题题(2 2、4 4、8 8、9 9、1010)2 2.3 3 填空填空题题(1 1、2 2、3 3、8 8、9 9)2.102.10、2.142.14、2.152.15、2.172.17习题解答习题解答2.12.1 简答题简答题-1-1(2 2)字字符符“F”“F”和和数数值值46H46H作作为为MOVMOV指指令令的的源源操操作作数数有有区别吗?区别吗?没有,因为字符没有,因为字符“F”“F”的的ASCIIASCII码就是数值码就是数值46H46H(3 3)为为什什么么可可以以把把指指令令

12、“MOV“MOV EAX,EAX,(34(3467H)*3”67H)*3”中中的数值表达式看成是常量?的数值表达式看成是常量?汇汇编编程程序序在在汇汇编编过过程程中中对对数数值值表表达达式式计计算算,得得到到一一个个确定的数值,故称数值表达式为常量确定的数值,故称数值表达式为常量(4 4)汇汇编编语语言言为为什什么么规规定定十十六六进进制制数数若若以以A AF F开开头头,需要在前面加个需要在前面加个0 0?以以便便与与标标识识符符区区别别,因因为为标标识识符符要要求求以以字字母母(或或特特殊殊符号)开头符号)开头1313习题解答习题解答2.12.1 简答题简答题-2-2(7 7)为为什什么么

13、将将查查找找操操作作数数的的方方法法称称为为数数据据寻寻“址址”方方式?式?指指令令的的操操作作数数需需要要通通过过存存储储器器地地址址或或I/OI/O地地址址,才才能能查找到数据本身,故称数据寻址方式查找到数据本身,故称数据寻址方式(8 8)为为什什么么变变量量VARVAR在在指指令令“MOV“MOV EAX,EAX,VAR”VAR”中中表表达达直直接寻址?接寻址?因因为为这这里里的的变变量量名名VARVAR实实际际上上表表达达了了从从变变量量所所存存放放的的主存单元,即主存单元,即 地址地址 1414习题解答习题解答2.22.2 判断题判断题-1-1(2 2)常常用用的的BCDBCD码码为

14、为8421 8421 BCDBCD码码,其其中中的的8 8表表示示D3D3位位的的权重。权重。对对(4 4)用用“BYTE”“BYTE”和和“DWORD”“DWORD”定定义义变变量量,如如果果初初值值相相同同,则占用的存储空间也一样多。则占用的存储空间也一样多。错错。用用BYTEBYTE只只占占一一个个存存储储单单元元,而而DWORDDWORD要要占占4 4个个存存储储单元单元(8 8)立即数寻址只会出现在源操作数中。)立即数寻址只会出现在源操作数中。对对1515习题解答习题解答2.22.2 判断题判断题-2-2(9 9)存储器寻址方式的操作数当然在主存了。)存储器寻址方式的操作数当然在主存

15、了。对对(1010)指指 令令“MOV“MOV EAX,EAX,VAR+2”VAR+2”与与“MOV“MOV EAX,EAX,VAR2”VAR2”功能相同。功能相同。对,仅是不同的形式罢了对,仅是不同的形式罢了1616习题解答习题解答2.32.3 填空题填空题-1-1(1 1)计计算算机机中中有有一一个个“01100001”“01100001”编编码码。如如果果把把它它认认为为是是无无符符号号数数,它它是是十十进进制制数数_;如如果果认认为为它它是是BCDBCD码码,则则表表示示真真值值_;又又如如果果它它是某个是某个ASCIIASCII码,则代表字符码,则代表字符_。9797,6161,小写

16、字母,小写字母a a(2 2)C C语语言言用用“n”“n”表表示示让让光光标标回回到到下下一一行行首首位位,在在汇汇编编语语言言中中需需要要输输出出两两个个控控制制字字符符:一一个个是是回回车车,其其ASCIIASCII码码是是_,它它将将光光标标移移动动到到当当前前所所在在行行 的的 首首 位位;另另 一一 个个 是是 换换 行行,其其 ASCIIASCII码码 是是_,它将光标移到下一行。,它将光标移到下一行。0DH0DH(1313),),0AH0AH(1010)1717习题解答习题解答2.32.3 填空题填空题-2-2(3 3)定定义义字字节节变变量量的的伪伪指指令令助助记记符符是是_

17、,获获取取变变量名所具有的偏移地址的操作符是量名所具有的偏移地址的操作符是_。BYTEBYTE,OFFSETOFFSET(8 8)指指令令“MOV“MOV EAX,EAX,OFFSET OFFSET MSG”MSG”的的目目的的操操作作数数和和源源操作数分别采用操作数分别采用_和和_寻址方式。寻址方式。寄存器寻址,立即数寻址寄存器寻址,立即数寻址(9 9)已已知知ESIESI04000H04000H,EBXEBX20H20H,指指令令“MOV“MOV EAX,EAX,ESI+EBX*2+8”ESI+EBX*2+8”中访问的有效地址是中访问的有效地址是_。04000H04000H20H220H2

18、8 804048H04048H1818习题解答习题解答习题习题2.10-12.10-1按照如下要求定义变量或符号常量:按照如下要求定义变量或符号常量:(1 1)my1bmy1b为字符串变量:为字符串变量:Personal ComputerPersonal Computermy1bmy1bbyte Personal Computerbyte Personal Computer(2 2)my2bmy2b为用十进制数表示的字节变量:为用十进制数表示的字节变量:2020my2bmy2bbyte 20byte 20(3 3)my3bmy3b为用十六进制数表示的字节变量:为用十六进制数表示的字节变量:20

19、20my3bmy3bbyte 14hbyte 14h(4 4)my4bmy4b为用二进制数表示的字节变量:为用二进制数表示的字节变量:2020my4bmy4bbyte 00010100bbyte 00010100b1919习题解答习题解答习题习题2.10-22.10-2按照如下要求定义变量或符号常量:按照如下要求定义变量或符号常量:(5 5)my5wmy5w为为2020个未赋值的字变量个未赋值的字变量my5wmy5wword 20 dup(?)word 20 dup(?)(6 6)my6cmy6c为为100100的常量的常量my6cmy6c=100=100(7 7)my7cmy7c表示字符串:

20、表示字符串:Personal ComputerPersonal Computermy7cmy7cequ equ 2020习题解答习题解答习题习题2.142.14按照如下输出格式,在屏幕上显示按照如下输出格式,在屏幕上显示ASCIIASCII表表编编程程在在数数据据段段直直接接构构造造这这样样的的表表格格、填填写写相相应应ASCIIASCII代代码码值值(不不是是字字符符本本身身),然然后后使使用用字字符串显示子程序符串显示子程序DISPMSGDISPMSG实现显示实现显示2121习题解答习题解答习题习题2.142.14解答解答1 1.data.datatabletablebyte byte|0

21、|0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A A B B C C D D E E F,F,13,1013,10byte byte-+-,-+-,13,1013,10byte byte 20 20|,|,20h20h,20h,20h,21h21h,20h,20h,22h22h,20h,20h,23h23h,20h,20h,24h24h,20h,20h,25h25h,20h,20h,26h26h,20h,20h,27h27h,20h,20h,28h28h,20h,20h,29h29h,20h,20hbyte byte 2ah2ah,20h,20h,2bh2bh,

22、20h,20h,2ch2ch,20h,20h,2dh2dh,20h,20h,2eh2eh,20h,20h,2fh2fh,20h,13,10,20h,13,10byte byte 30 30|,|,30h30h,20h,20h,31h31h,20h,20h,32h32h,20h,20h,33h33h,20h,20h,34h34h,20h,20h,35h35h,20h,20h,36h36h,20h,20h,37h37h,20h,20h,38h38h,20h,20h,39h39h,20h,20hbyte byte 3ah3ah,20h,20h,3bh3bh,20h,20h,3ch3ch,20h,20

23、h,3dh3dh,20h,20h,3eh3eh,20h,20h,3fh3fh,20h,13,10,20h,13,10byte 0byte 02222习题解答习题解答习题习题2.142.14解答解答2 2caca=2=2cascas=20h=20hbytebyte ca,0|,cas,20h,cas+1,20h,cas+2,20h,ca,0|,cas,20h,cas+1,20h,cas+2,20h,cas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20hcas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20hby

24、tebyte cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h,cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h,cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,cas+0fh,20h,13,10cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,cas+0fh,20h,13,10cascas=cas+10h=cas+10hcaca=ca+1=ca+1bytebyte ca,0|,cas,20h,cas+1,20h,cas+2,20h,ca,0|,cas,20h,cas+1,

25、20h,cas+2,20h,cas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20hcas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20hbytebyte cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h,cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h,cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,cas+0fh,20h,13,10cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,ca

26、s+0fh,20h,13,102323习题解答习题解答习题习题2.152.15数据段有如下定义:数据段有如下定义:varvardword 12345678hdword 12345678h现现以以字字节节为为单单位位按按地地址址从从低低到到高高的的顺顺序序,写写出出这这个个变变量内容。量内容。varvar变量的内容:变量的内容:78H78H、56H56H、34H34H、12H12H并说明如下指令的执行结果:并说明如下指令的执行结果:mov eax,varmov eax,var;EAXEAX12345678H12345678Hmov bx,word ptr varmov bx,word ptr v

27、ar;BXBX5678H5678Hmov cx,word ptr var+2mov cx,word ptr var+2;CXCX1234H1234Hmov dl,byte ptr varmov dl,byte ptr var;DLDL78H78Hmov dh,byte ptr var+3mov dh,byte ptr var+3;DHDH12H12H2424习题解答习题解答习题习题2.172.17,说明源操作数的寻址方式,说明源操作数的寻址方式(1 1)mov edx,1234hmov edx,1234h立即数立即数(2 2)mov edx,vardmov edx,vard直接直接(3 3)m

28、ov edx,ebxmov edx,ebx寄存器寄存器(4 4)mov edx,ebxmov edx,ebx寄存器间接寄存器间接(5 5)mov edx,ebx+1234hmov edx,ebx+1234h寄存器相对寄存器相对(6 6)mov edx,vardebxmov edx,vardebx寄存器相对寄存器相对(7 7)mov edx,ebx+edimov edx,ebx+edi基址变址基址变址(8 8)mov edx,ebx+edi+1234hmov edx,ebx+edi+1234h相对基址变址相对基址变址(9 9)mov edx,vardesi+edimov edx,vardesi+

29、edi相对基址变址相对基址变址(1010)mov edx,ebp*4mov edx,ebp*4带比例寻址带比例寻址2525第第3 3章习题:通用数据处理指令章习题:通用数据处理指令3 3.1.1 简答题简答题(1 1、2 2、5 5、7 7、9 9)3 3.2 2 判断判断题题(1 1、4 4、5 5、7 7、1010)3 3.3 3 填空填空题题(2 2、4 4、5 5、8 8、1010)3.43.4、3.63.6、3.113.11、3.143.14、3.163.163.213.21、3.223.22习题解答习题解答3.13.1 简答题简答题-1-1(1 1)如如何何修修改改“MOV“MOV

30、 ESI,ESI,WORD WORD PTR PTR 250”250”语语句句使使其其正正确?确?删除删除“WORD PTR”“WORD PTR”即可即可(2 2)为什么说)为什么说“XCHG EDX,CX”“XCHG EDX,CX”是一条错误的指令?是一条错误的指令?源源、目目标标寄寄存存器器位位数数不不同同,不不能能用用该该指指令令进进行行数数据据交交换换(5 5)执执行行了了一一条条加加法法指指令令后后,发发现现ZFZF1 1,说说明明结结果果是是什么?什么?(5 5)表明运算结果为)表明运算结果为0 02727习题解答习题解答3.13.1 简答题简答题-2-2(7 7)大小写字母转换使

31、用了什么规律?)大小写字母转换使用了什么规律?大小写字母转换利用它们的大小写字母转换利用它们的ASCIIASCII码相差码相差20H20H(9 9)除法指令)除法指令“DIV ESI”“DIV ESI”的被除数是什么?的被除数是什么?被被除除数数6464位位,在在EDXEDX和和EAXEAX中中,EDXEDX保保存存高高3232位位、EAXEAX保保存低存低3232位位2828习题解答习题解答3.23.2 判断题判断题-1-1(1 1)指指令令“MOV“MOV EAX,0”EAX,0”使使EAXEAX结结果果为为0 0,所所以以标标志志ZFZF1 1。错,错,MOVMOV指令不影响标志指令不影

32、响标志(4 4)虽虽然然ADDADD指指令令和和SUBSUB指指令令执执行行后后会会影影响响标标志志状状态态,但执行前的标志并不影响它们的执行结果。但执行前的标志并不影响它们的执行结果。对对(5 5)8080减减9090(80809090)需需要要借借位位,所所以以执执行行结结束束后后,进位标志进位标志CFCF1 1。对,减法时借位也用对,减法时借位也用CFCF标志反映标志反映2929习题解答习题解答3.23.2 判断题判断题-2-2(7 7)无无符符号号数数在在前前面面加加零零扩扩展展,数数值值不不变变;有有符符号号数数前面进行符号扩展,位数加长一位、数值增加一倍。前面进行符号扩展,位数加长

33、一位、数值增加一倍。错,符号扩展也不改变数值大小错,符号扩展也不改变数值大小(1010)SHLSHL指令左移一位,就是乘指令左移一位,就是乘1010。错错,左左移移一一位位,相相当当于于乘乘2 2。这这里里的的位位是是二二进进制制比比特特位位3030习题解答习题解答3.33.3 填空题填空题-1-1(2 2)指指令令“POP“POP EDX”EDX”的的功功能能也也可可以以用用MOVMOV和和ADDADD指指令令实实现,依次应该是现,依次应该是_和和_指令。指令。MOV EDX,ESPMOV EDX,ESP,ADD ESP,4ADD ESP,4(4 4)进进行行8 8位位二二进进制制数数加加法

34、法:BAHBAH6CH6CH,8 8位位结结果果是是_,标标志志PFPF_。如如果果进进行行1616位位二二进进制制数数加加法法:45BAH45BAH786CH786CH,1616位位结结果果是是_,标志,标志PFPF_。26H26H,0 0,BE26HBE26H,0 03131习题解答习题解答3.33.3 填空题填空题-2-2(5 5)已已知知AXAX98H98H,执执行行“NEG“NEG AX”AX”指指令令后后,AXAX_,标志,标志SFSF_。68H68H,0 0(8 8)指指令令“XOR“XOR EAX,EAX,EAX”EAX”和和“SUB“SUB EAX,EAX,EAX”EAX”执

35、执行行后后,EAXEAX_,CFCFOFOF_。而而指指令令“MOV“MOV EAX,EAX,0”0”执行后,执行后,EAXEAX_,CFCF和和OFOF没有变化。没有变化。0 0,0 0,0 0(1010)欲欲将将EDXEDX内内的的无无符符号号数数除除以以1616,使使用用指指令令“SHR“SHR EDX,_”EDX,_”,其中后一个操作数是一个立即数。,其中后一个操作数是一个立即数。4 43232习题解答习题解答习题习题3.43.4请给每种组合各举一个实例请给每种组合各举一个实例(1 1)mov reg,immmov reg,imm(2 2)mov mem,immmov mem,imm(

36、3 3)mov reg,regmov reg,reg(4 4)mov mem,regmov mem,reg(5 5)mov seg,regmov seg,reg(6 6)mov reg,memmov reg,mem(7 7)mov seg,memmov seg,mem(8 8)mov reg,segmov reg,seg(9 9)mov mem,segmov mem,seg你的解答你的解答3333习题解答习题解答习题习题3.63.6使使 用用 MOVMOV指指 令令 实实 现现 交交 换换 指指 令令“XCHG XCHG EBX,EDI”EBX,EDI”功能。功能。解答:解答:mov eax,

37、ebxmov eax,ebxmov ebx,edimov ebx,edimov edi,eaxmov edi,eax3434习题解答习题解答习题习题3.11-13.11-1执行如下程序片断,说明每条指令的执行结果执行如下程序片断,说明每条指令的执行结果(1 1)mov eax,80hmov eax,80h;EAXEAX80H80Hadd eax,3add eax,3;EAXEAX83H83H,CFCF0 0,SFSF0 0add eax,80hadd eax,80h;EAXEAX103H103H,CFCF0 0,OFOF0 0adc eax,3adc eax,3;EAXEAX106H106H,

38、CFCF0 0,ZFZF0 03535习题解答习题解答习题习题3.11-23.11-2执行如下程序片断,说明每条指令的执行结果执行如下程序片断,说明每条指令的执行结果(2 2)mov eax,100mov eax,100;EAXEAX100100(64H64H)add ax,200add ax,200;EAXEAX300300(12CH12CH),),CFCF0 0(3 3)mov eax,100mov eax,100;EAXEAX100100(64H64H)add al,200add al,200;EAXEAX4444(2CH2CH),),CFCF1 1(包含(包含256256的进位含义:的

39、进位含义:2562564444300300)3636习题解答习题解答习题习题3.11-33.11-3执行如下程序片断,说明每条指令的执行结果执行如下程序片断,说明每条指令的执行结果(4 4)mov al,7fhmov al,7fh;ALAL7FH7FHsub al,8sub al,8;ALAL77H77H,CFCF0 0,SFSF0 0sub al,80hsub al,80h;ALALF7HF7H,CFCF1 1,OFOF1 1sbb al,3sbb al,3;ALALF3HF3H,CFCF0 0,ZFZF0 03737习题解答习题解答习题习题3.14-13.14-1请分别用一条汇编语言指令完

40、成如下功能:请分别用一条汇编语言指令完成如下功能:(1 1)把把EBXEBX寄寄存存器器和和EDXEDX寄寄存存器器的的内内容容相相加加,结结果果存存入入EDXEDX寄存器。寄存器。add edx,ebxadd edx,ebx(2 2)用用寄寄存存器器EBXEBX和和ESIESI的的基基址址变变址址寻寻址址方方式式把把存存储储器器的的一一个个字字节节与与ALAL寄寄存存器器的的内内容容相相加加,并并把把结结果果送送到到ALAL中。中。add al,ebx+esiadd al,ebx+esi3838习题解答习题解答习题习题3.14-23.14-2请分别用一条汇编语言指令完成如下功能:请分别用一条

41、汇编语言指令完成如下功能:(3 3)用用EBXEBX和和位位移移量量0B2H0B2H的的寄寄存存器器相相对对寻寻址址方方式式把把存存储储器器中中的的一一个个双双字字和和ECXECX寄寄存存器器的的内内容容相相加加,并并把把结结果果送回存储器中。送回存储器中。add ebx+0b2h,ecx add ebx+0b2h,ecx(4 4)将将3232位位变变量量VARDVARD与与数数3412H3412H相相加加,并并把把结结果果送送回回该该存储单元中。存储单元中。add varw,3412h add varw,3412h(5 5)把把数数0A0H0A0H与与EAXEAX寄寄存存器器的的内内容容相相

42、加加,并并把把结结果果送送回回EAXEAX中。中。add eax,0a0hadd eax,0a0h3939习题解答习题解答习题习题3.16-13.16-1执行如下程序片断,说明每条指令的执行结果执行如下程序片断,说明每条指令的执行结果(1 1)movmov esi,10011100b esi,10011100b;ESIESI 9CH9CHand esi,80hand esi,80h;ESIESI 80H80Hor esi,7fhor esi,7fh;ESIESI FFHFFHxorxor esi,0feh esi,0feh;ESIESI 01H01H(2 2)movmov eax,1010b

43、eax,1010b;EAXEAX 1010B1010B(可有前导可有前导0 0)shrshr eax,2 eax,2;EAXEAX 0010B0010B,CFCF1 1shlshl eax,1 eax,1;EAXEAX 0100B0100B,CFCF0 0and eax,3and eax,3;EAXEAX 0000B0000B,CFCF0 04040习题解答习题解答习题习题3.16-23.16-2执行如下程序片断,说明每条指令的执行结果执行如下程序片断,说明每条指令的执行结果(3 3)movmov eax,1011b eax,1011b;EAXEAX 1011B1011B(可有前导可有前导0

44、0)rolrol eax,2 eax,2;EAXEAX 101100B101100B,CFCF0 0rcrrcr eax,1 eax,1;EAXEAX 10110B10110B,CFCF0 0or eax,3or eax,3;EAXEAX 10111B10111B,CFCF0 0(4 4)xorxor eax,eaxeax,eax;EAXEAX0 0,CFCF0 0,OFOF0 0;ZFZF1 1,SFSF0 0,PFPF1 14141习题解答习题解答习题习题3.213.21如如下下程程序序片片段段实实现现EAXEAX乘乘以以某某个个数数X X的的功功能能,请请判判断断X X?请使用一条乘法指

45、令实现上述功能。请使用一条乘法指令实现上述功能。mov ecx,eaxmov ecx,eaxshl eax,3shl eax,3lea eax,eax+eax*8lea eax,eax+eax*8sub eax,ecxsub eax,ecx解答:解答:8*8+8-18*8+8-17171imul eax,71imul eax,714242习题解答习题解答习题习题3.223.22请请使使用用移移位位和和加加减减法法指指令令编编写写一一个个程程序序片片段段计计算算:EAX21EAX21,假假设设乘乘积积不不超超过过3232位位。提提示示:21212 24 42 22 22 20 0。解答解答:mo

46、v ebx,eaxmov ebx,eax;EBX;EBXEAX2EAX20 0shl ebx,2shl ebx,2;EBX;EBXEAX2EAX22 2add eax,ebxadd eax,ebx;EAX;EAXEAX(2EAX(22 22 20 0)shl ebx,2shl ebx,2;EBX;EBXEAX2EAX24 4add eax,ebxadd eax,ebx;EAX;EAXEAX(2EAX(24 42 22 22 20 0)4343第第4 4章习题:程序结构章习题:程序结构4 4.1.1 简答题简答题(2 2、5 5、6 6、9 9、1010)4 4.2 2 判断判断题题(2 2、4

47、 4、6 6、7 7、1010)4 4.3 3 填空填空题题(2 2、3 3、4 4、5 5、6 6)4.44.4、4.74.7、4.154.15、4.174.17、4.274.27、4.294.29习题解答习题解答4.14.1 简答题简答题-1-1(2 2)数据的直接寻址和指令的直接寻址有什么区别?)数据的直接寻址和指令的直接寻址有什么区别?数数据据的的直直接接寻寻址址给给出出数数据据所所在在的的存存储储器器地地址址,指指令令的的直接寻址给出指令所在的存储器地址。直接寻址给出指令所在的存储器地址。(5 5)什么是奇偶校验?)什么是奇偶校验?数数据据通通信信时时,数数据据的的某某一一位位用用做

48、做传传输输数数据据的的奇奇偶偶校校验验位位,数数据据中中包包括括校校验验位位在在内内的的“1”“1”的的个个数数恒恒为为奇奇数数,就是奇校验;恒为偶数,就是偶校验就是奇校验;恒为偶数,就是偶校验(6 6)助记符)助记符JZJZ和和JEJE为什么表达同一条指令?为什么表达同一条指令?两两个个数数相相减减,差差值值为为0 0(JZJZ)与与两两个个数数相相等等(JEJE)是是一个含义一个含义4545习题解答习题解答4.14.1 简答题简答题-2-2(9 9)如如果果循循环环体体的的代代码码量量远远超超过过128128个个字字节节,还还能能用用LOOPLOOP指令实现计数控制循环吗?指令实现计数控制

49、循环吗?不不能能,因因为为LOOPLOOP指指令令的的目目标标地地址址采采用用相相对对短短转转移移,只只能在能在128128127127字节之间循环字节之间循环(1010)什么是)什么是“先循环、后判断先循环、后判断”循环结构?循环结构?指指先先执执行行循循环环体体,然然后后判判断断是是否否继继续续循循环环的的结结构构,这这种结构通常至少执行一次循环体种结构通常至少执行一次循环体4646习题解答习题解答4.24.2 判断题判断题2 2)指令的相对寻址都是近转移。)指令的相对寻址都是近转移。对对4 4)JMPJMP指令对应高级语言的指令对应高级语言的GOTOGOTO语句,所以不能使用语句,所以不

50、能使用错,需要使用错,需要使用6 6)JAJA和和JGJG指指令令的的条条件件都都是是“大大于于”,所所以以是是同同一一个个指指令的两个助记符。令的两个助记符。错,错,JAJA针对无符号数,针对无符号数,JGJG针对有符号数针对有符号数7 7)JCJC和和JBJB的条件都是的条件都是CFCF1 1,所以是同一条指令。,所以是同一条指令。对。无符号小于(对。无符号小于(JBJB)必然借位()必然借位(JCJC)1010)若)若ECXECX0 0,则,则LOOPLOOP指令和指令和JECXJECX指令都发生转移。指令都发生转移。对对4747习题解答习题解答4.34.3 填空题填空题-1-1(2 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com