位汇编语言习题及答案全部钱晓捷版.ppt
- 文档编号:18908738
- 上传时间:2024-02-11
- 格式:PPT
- 页数:115
- 大小:1.30MB
位汇编语言习题及答案全部钱晓捷版.ppt
《位汇编语言习题及答案全部钱晓捷版.ppt》由会员分享,可在线阅读,更多相关《位汇编语言习题及答案全部钱晓捷版.ppt(115页珍藏版)》请在冰点文库上搜索。
3232位汇编语言习题解答位汇编语言习题解答课件制作:
课件制作:
钱晓捷钱晓捷钱晓捷,钱晓捷,3232位汇编语言程序设计,机械工业出版社位汇编语言程序设计,机械工业出版社第第11章习题:
汇编语言基础章习题:
汇编语言基础1.11.1简答题简答题(11、33、66、77、88)1.1.22判断题(判断题(11、66、77、88、99)1.1.33填空填空题题(33、44、55、77、1010)1.91.9、1.131.13、1.151.15、1.161.16习题解答习题解答1.11.1简答题简答题-1-1(11)哪哪个个处处理理器器的的指指令令系系统统成成为为IntelIntel80x8680x86系系列列处处理理器的基本指令集?
器的基本指令集?
80868086(33)什么是通用寄存器?
)什么是通用寄存器?
一一般般指指处处理理器器最最常常使使用用的的整整数数寄寄存存器器,可可用用于于保保存存整整数数据、地址等数数据、地址等(66)最高有效位)最高有效位MSBMSB是指哪一位?
是指哪一位?
数数据据的的最最高高位位,例例如如对对88、1616、3232位位数数据据,MSBMSB依依次次指指DD77、DD1515和和DD3131位位33习题解答习题解答1.11.1简答题简答题-2-2(77)汇汇编编语语言言中中的的标标识识符符与与高高级级语语言言的的变变量量和和常常量量名名的组成原则有本质的区别吗?
的组成原则有本质的区别吗?
没有没有(88)汇编语言的标识符大小写不敏感意味着什么?
)汇编语言的标识符大小写不敏感意味着什么?
表示字母大小写不同、但表示同一个符号表示字母大小写不同、但表示同一个符号44习题解答习题解答1.21.2判断题判断题11)EAXEAX也被称为累加器,因为它使用最频繁。
也被称为累加器,因为它使用最频繁。
对,对,EAXEAX中的中的AA来自英文累加器(来自英文累加器(AccumulatorAccumulator)66)处理器的传送指令)处理器的传送指令MOVMOV属于汇编语言的执行性语句属于汇编语言的执行性语句对对77)汇汇编编语语言言的的语语句句由由明明显显的的44部部分分组组成成,不不需需要要分分隔隔符符区别。
区别。
错,使用了分隔符才有了明显的错,使用了分隔符才有了明显的44部分部分88)MASMMASM汇编语言的注释用分号开始,不能用中文分号汇编语言的注释用分号开始,不能用中文分号对,源程序中的分隔符以及各种标识符都是英文对,源程序中的分隔符以及各种标识符都是英文99)程程序序终终止止执执行行也也就就意意味味着着汇汇编编结结束束,所所以以两两者者含含义义相同。
相同。
错,两者完全是两个概念错,两者完全是两个概念55习题解答习题解答1.31.3填空题填空题-1-1(33)IA-32IA-32处处理理器器有有88个个3232位位通通用用寄寄存存器器,其其中中EAXEAX,_,_和和EDXEDX,可可以以分分成成1616位位和和88位位操操作作;还还有有另另外外44个是个是_,_,_,和,和_。
EBXEBX,ECXECX,ESIESI,EDIEDI,EBPEBP,ESPESP(44)寄寄存存器器EDXEDX是是_位位的的,其其中中低低1616位位的的名名称称是是_,还还可可以以分分成成两两个个88位位的的寄寄存存器器,其其中中D0D0D7D7和和D8D8D15D15部分可以分别用名称部分可以分别用名称_和和_表示。
表示。
3232,DXDX,DLDL,DHDH(55)IA-32IA-32处处理理器器有有_个个段段寄寄存存器器,它它们们都都是是_位位的。
的。
66,161666习题解答习题解答1.31.3填空题填空题-2-2(77)逻逻辑辑地地址址由由_和和_两两部部分分组组成成。
代代码码段段中中下下一一条条要要执执行行的的指指令令由由CSCS和和_寄寄存存器器指指示示,后后者者在在实实地地址模型中起作用的仅有址模型中起作用的仅有_寄存器部分。
寄存器部分。
段基地址,偏移地址,段基地址,偏移地址,EIPEIP,IPIP(1010)MASMMASM要要求求汇汇编编语语言言源源程程序序文文件件的的扩扩展展名名是是_,汇汇编编产产生生扩扩展展名名为为OBJOBJ的的文文件件被被称称为为_文文件件,编编写写3232位位WindowsWindows应用程序应选择应用程序应选择_存储模型。
存储模型。
ASMASM,目标模块,目标模块,FLATFLAT77习题解答习题解答习题习题1.91.9IA-32IA-32处理器有哪三类基本段,各是什么用途?
处理器有哪三类基本段,各是什么用途?
解答:
解答:
代码段:
存放程序的指令代码代码段:
存放程序的指令代码数据段:
存放当前运行程序所用的数据数据段:
存放当前运行程序所用的数据堆栈段:
主存中堆栈所在的区域堆栈段:
主存中堆栈所在的区域88习题解答习题解答习题习题1.131.13汇编语言语句有哪两种,每种语句由哪汇编语言语句有哪两种,每种语句由哪44个部分组成个部分组成解答:
解答:
汇编语句有两种汇编语句有两种n执行性语句(处理器指令)执行性语句(处理器指令)n说明性语句(伪指令)说明性语句(伪指令)每个语句有每个语句有44部分组成部分组成n标号标号n指令助记符指令助记符n操作数或参数操作数或参数n注释注释99习题解答习题解答习题习题1.151.15MASMMASM汇汇编编语语言言中中,下下面面哪哪些些是是程程序序员员可可以以使使用用的的自自定定义标识符。
义标识符。
FFHFFH,DSDS,AgainAgain,nextnext,datadata,h_asciih_ascii,6364b6364b,flatflat解答:
解答:
FFHFFH,AgainAgain,nextnext,h_asciih_ascii其他符号错误的原因:
其他符号错误的原因:
nDSDS是数据段寄存器名是数据段寄存器名n6364b6364b是数字开头是数字开头ndatadata是汇编语言使用预定义符号,表示数据段地址是汇编语言使用预定义符号,表示数据段地址nflatflat是表示平展存储模型的关键字是表示平展存储模型的关键字1010习题解答习题解答习题习题1.161.16汇汇编编语语言言程程序序的的开开发发有有哪哪44个个步步骤骤,分分别别利利用用什什么么程程序完成、产生什么输出文件。
序完成、产生什么输出文件。
解答:
解答:
汇编语言程序的开发有汇编语言程序的开发有44个步骤:
个步骤:
n编辑编辑:
用文本编辑器形成一个以:
用文本编辑器形成一个以ASMASM为扩展名的源程序文件。
为扩展名的源程序文件。
n汇编汇编:
用汇编程序将:
用汇编程序将ASMASM文件转换为文件转换为OBJOBJ模块文件。
模块文件。
n连连接接:
用用连连接接程程序序将将一一个个或或多多个个目目标标文文件件链链接接成成一一个个EXEEXE或或COMCOM可执行文件。
可执行文件。
n调试调试:
用调试程序排除错误,生成正确的可执行文件。
:
用调试程序排除错误,生成正确的可执行文件。
1111第第22章习题:
数据表示和寻址章习题:
数据表示和寻址22.1.1简答题简答题(22、33、44、77、88)22.22判断判断题题(22、44、88、99、1010)22.33填空填空题题(11、22、33、88、99)2.102.10、2.142.14、2.152.15、2.172.17习题解答习题解答2.12.1简答题简答题-1-1(22)字字符符“F”“F”和和数数值值46H46H作作为为MOVMOV指指令令的的源源操操作作数数有有区别吗?
区别吗?
没有,因为字符没有,因为字符“F”“F”的的ASCIIASCII码就是数值码就是数值46H46H(33)为为什什么么可可以以把把指指令令“MOV“MOVEAX,EAX,(34(3467H)*3”67H)*3”中中的数值表达式看成是常量?
的数值表达式看成是常量?
汇汇编编程程序序在在汇汇编编过过程程中中对对数数值值表表达达式式计计算算,得得到到一一个个确定的数值,故称数值表达式为常量确定的数值,故称数值表达式为常量(44)汇汇编编语语言言为为什什么么规规定定十十六六进进制制数数若若以以AAFF开开头头,需要在前面加个需要在前面加个00?
以以便便与与标标识识符符区区别别,因因为为标标识识符符要要求求以以字字母母(或或特特殊殊符号)开头符号)开头1313习题解答习题解答2.12.1简答题简答题-2-2(77)为为什什么么将将查查找找操操作作数数的的方方法法称称为为数数据据寻寻“址址”方方式?
式?
指指令令的的操操作作数数需需要要通通过过存存储储器器地地址址或或I/OI/O地地址址,才才能能查找到数据本身,故称数据寻址方式查找到数据本身,故称数据寻址方式(88)为为什什么么变变量量VARVAR在在指指令令“MOV“MOVEAX,EAX,VAR”VAR”中中表表达达直直接寻址?
接寻址?
因因为为这这里里的的变变量量名名VARVAR实实际际上上表表达达了了从从变变量量所所存存放放的的主存单元,即主存单元,即地址地址1414习题解答习题解答2.22.2判断题判断题-1-1(22)常常用用的的BCDBCD码码为为84218421BCDBCD码码,其其中中的的88表表示示D3D3位位的的权重。
权重。
对对(44)用用“BYTE”“BYTE”和和“DWORD”“DWORD”定定义义变变量量,如如果果初初值值相相同同,则占用的存储空间也一样多。
则占用的存储空间也一样多。
错错。
用用BYTEBYTE只只占占一一个个存存储储单单元元,而而DWORDDWORD要要占占44个个存存储储单元单元(88)立即数寻址只会出现在源操作数中。
)立即数寻址只会出现在源操作数中。
对对1515习题解答习题解答2.22.2判断题判断题-2-2(99)存储器寻址方式的操作数当然在主存了。
)存储器寻址方式的操作数当然在主存了。
对对(1010)指指令令“MOV“MOVEAX,EAX,VAR+2”VAR+2”与与“MOV“MOVEAX,EAX,VAR2”VAR2”功能相同。
功能相同。
对,仅是不同的形式罢了对,仅是不同的形式罢了1616习题解答习题解答2.32.3填空题填空题-1-1(11)计计算算机机中中有有一一个个“01100001”“01100001”编编码码。
如如果果把把它它认认为为是是无无符符号号数数,它它是是十十进进制制数数_;如如果果认认为为它它是是BCDBCD码码,则则表表示示真真值值_;又又如如果果它它是某个是某个ASCIIASCII码,则代表字符码,则代表字符_。
9797,6161,小写字母,小写字母aa(22)CC语语言言用用“n”“n”表表示示让让光光标标回回到到下下一一行行首首位位,在在汇汇编编语语言言中中需需要要输输出出两两个个控控制制字字符符:
一一个个是是回回车车,其其ASCIIASCII码码是是_,它它将将光光标标移移动动到到当当前前所所在在行行的的首首位位;另另一一个个是是换换行行,其其ASCIIASCII码码是是_,它将光标移到下一行。
,它将光标移到下一行。
0DH0DH(1313),),0AH0AH(1010)1717习题解答习题解答2.32.3填空题填空题-2-2(33)定定义义字字节节变变量量的的伪伪指指令令助助记记符符是是_,获获取取变变量名所具有的偏移地址的操作符是量名所具有的偏移地址的操作符是_。
BYTEBYTE,OFFSETOFFSET(88)指指令令“MOV“MOVEAX,EAX,OFFSETOFFSETMSG”MSG”的的目目的的操操作作数数和和源源操作数分别采用操作数分别采用_和和_寻址方式。
寻址方式。
寄存器寻址,立即数寻址寄存器寻址,立即数寻址(99)已已知知ESIESI04000H04000H,EBXEBX20H20H,指指令令“MOV“MOVEAX,EAX,ESI+EBX*2+8”ESI+EBX*2+8”中访问的有效地址是中访问的有效地址是_。
04000H04000H20H220H28804048H04048H1818习题解答习题解答习题习题2.10-12.10-1按照如下要求定义变量或符号常量:
按照如下要求定义变量或符号常量:
(11)my1bmy1b为字符串变量:
为字符串变量:
PersonalComputerPersonalComputermy1bmy1bbytePersonalComputerbytePersonalComputer(22)my2bmy2b为用十进制数表示的字节变量:
为用十进制数表示的字节变量:
2020my2bmy2bbyte20byte20(33)my3bmy3b为用十六进制数表示的字节变量:
为用十六进制数表示的字节变量:
2020my3bmy3bbyte14hbyte14h(44)my4bmy4b为用二进制数表示的字节变量:
为用二进制数表示的字节变量:
2020my4bmy4bbyte00010100bbyte00010100b1919习题解答习题解答习题习题2.10-22.10-2按照如下要求定义变量或符号常量:
按照如下要求定义变量或符号常量:
(55)my5wmy5w为为2020个未赋值的字变量个未赋值的字变量my5wmy5wword20dup(?
)word20dup(?
)(66)my6cmy6c为为100100的常量的常量my6cmy6c=100=100(77)my7cmy7c表示字符串:
表示字符串:
PersonalComputerPersonalComputermy7cmy7cequequ2020习题解答习题解答习题习题2.142.14按照如下输出格式,在屏幕上显示按照如下输出格式,在屏幕上显示ASCIIASCII表表编编程程在在数数据据段段直直接接构构造造这这样样的的表表格格、填填写写相相应应ASCIIASCII代代码码值值(不不是是字字符符本本身身),然然后后使使用用字字符串显示子程序符串显示子程序DISPMSGDISPMSG实现显示实现显示2121习题解答习题解答习题习题2.142.14解答解答11.data.datatabletablebytebyte|0|0112233445566778899AABBCCDDEEF,F,13,1013,10bytebyte-+-,-+-,13,1013,10bytebyte2020|,|,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,20hbytebyte2ah2ah,20h,20h,2bh2bh,20h,20h,2ch2ch,20h,20h,2dh2dh,20h,20h,2eh2eh,20h,20h,2fh2fh,20h,13,10,20h,13,10bytebyte3030|,|,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,20hbytebyte3ah3ah,20h,20h,3bh3bh,20h,20h,3ch3ch,20h,20h,3dh3dh,20h,20h,3eh3eh,20h,20h,3fh3fh,20h,13,10,20h,13,10byte0byte02222习题解答习题解答习题习题2.142.14解答解答22caca=2=2cascas=20h=20hbytebyteca,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,20hbytebytecas+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+1bytebyteca,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,20hbytebytecas+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,102323习题解答习题解答习题习题2.152.15数据段有如下定义:
数据段有如下定义:
varvardword12345678hdword12345678h现现以以字字节节为为单单位位按按地地址址从从低低到到高高的的顺顺序序,写写出出这这个个变变量内容。
量内容。
varvar变量的内容:
变量的内容:
78H78H、56H56H、34H34H、12H12H并说明如下指令的执行结果:
并说明如下指令的执行结果:
moveax,varmoveax,var;EAXEAX12345678H12345678Hmovbx,wordptrvarmovbx,wordptrvar;BXBX5678H5678Hmovcx,wordptrvar+2movcx,wordptrvar+2;CXCX1234H1234Hmovdl,byteptrvarmovdl,byteptrvar;DLDL78H78Hmovdh,byteptrvar+3movdh,byteptrvar+3;DHDH12H12H2424习题解答习题解答习题习题2.172.17,说明源操作数的寻址方式,说明源操作数的寻址方式(11)movedx,1234hmovedx,1234h立即数立即数(22)movedx,vardmovedx,vard直接直接(33)movedx,ebxmovedx,ebx寄存器寄存器(44)movedx,ebxmovedx,ebx寄存器间接寄存器间接(55)movedx,ebx+1234hmovedx,ebx+1234h寄存器相对寄存器相对(66)movedx,vardebxmovedx,vardebx寄存器相对寄存器相对(77)movedx,ebx+edimovedx,ebx+edi基址变址基址变址(88)movedx,ebx+edi+1234hmovedx,ebx+edi+1234h相对基址变址相对基址变址(99)movedx,vardesi+edimovedx,vardesi+edi相对基址变址相对基址变址(1010)movedx,ebp*4movedx,ebp*4带比例寻址带比例寻址2525第第33章习题:
通用数据处理指令章习题:
通用数据处理指令33.1.1简答题简答题(11、22、55、77、99)33.22判断判断题题(11、44、55、77、1010)33.33填空填空题题(22、44、55、88、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(11)如如何何修修改改“MOV“MOVESI,ESI,WORDWORDPTRPTR250”250”语语句句使使其其正正确?
确?
删除删除“WORDPTR”“WORDPTR”即可即可(22)为什么说)为什么说“XCHGEDX,CX”“XCHGEDX,CX”是一条错误的指令?
是一条错误的指令?
源源、目目标标寄寄存存器器位位数数不不同同,不不能能用用该该指指令令进进行行数数据据交交换换(55)执执行行了了一一条条加加法法指指令令后后,发发现现ZFZF11,说说明明结结果果是是什么?
什么?
(55)表明运算结果为)表明运算结果为002727习题解答习题解答3.13.1简答题简答题-2-2(77)大小写字母转换使用了什么规律?
)大小写字母转换使用了什么规律?
大小写字母转换利用它们的大小写字母转换利用它们的ASCIIASCII码相差码相差20H20H(99)除法指令)除法指令“DIVESI”“DIVESI”的被除数是什么?
的被除数是什么?
被被除除数数6464位位,在在EDXEDX和和EAXEAX中中,EDXEDX保保存存高高3232位位、EAXEAX保保存低存低3232位位2828习题解答习题解答3.23.2判断题判断题-1-1(11)指指令令“MOV“MOVEAX,0”EAX,0”使使EAXEAX结结果果为为00,所所以以标标志志ZFZF11。
错,错,MOVMOV指令不影响标志指令不影响标志(44)虽虽然然ADDADD指指令令和和SUBSUB指指令令执执行行后后会会影影响响标标志志状状态态,但执行前的标志并不影响它们的执行结果。
但执行前的标志并不影响它们的执行结果。
对对(55)8080减减9090(80809090)需需要要借借位位,所所以以执执行行结结束束后后,进位标志进位标志CFCF11。
对,减法时借位也用对,减法时借位也用CFCF标志反映标志反映2929习题解答习题解答3.23.2判断题判断题-2-2(77)无无符符号号数数在在前前面面加加零零扩扩展展,数数值值不不变变;有有符符号号数数前面进行符号扩展,位数加长一位、数值增加一倍。
前面进行符号扩展,位数加长一位、数值增加一倍。
错,符号扩展也不改变数值大小错,符号扩展也不改变数值大小(1010)SHLSHL指令左移一位,就是乘指令左移一位,就是乘1010。
错错,左左移移一一位位,相相当当于于乘乘22。
这这里里的的位位是是二二进进制制比比特特位位3030习题解答习题解答3.33.3填空题填空题-1-1(22)指指令令“POP“POPEDX”EDX”的的功功能能也也可可以以用用MOVMOV和和ADDADD指指令令实实现,依次应该是现,依次应该是_和和_指令。
指令。
MOVEDX,ESPMOVEDX,ESP,ADDESP,4ADDESP,4(44)进进行行88位位二二进进制制数数加加法法:
BAHBAH6CH6CH,88位位结结果果是是_,标标志志PFPF_。
如如果果进进行行1616位位二二进进制制数数加加法法:
45BAH45BAH786CH786CH,1616位位结结果果是是_,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 习题 答案 全部 钱晓捷版