微机原理及应用A试题集19334(8)
A. RET 3*1 B. RET 3*2 C. RET 3*3 D. RET 3*4
8. 主程序通过堆栈向子程序传递了3个参数,子程序调用结束后,在主程序中清除堆栈中3 个参数正确的指令是( )。
9. 条件转移指令JZ Label的测试条件是( )。
A. ZF = 1 B. SF = 1 C. OF = 1 D. CF = 1 A. ADD ESP, 3*2 B. ADD ESP, 3*4 C. ADD EBP, 3*2 D. ADD EBP, 3*4
10. 利用堆栈传递子程序参数的方法是固定的,若主程序通过堆栈向子程序传递了3个参数, 则在子程序中, 主程序中最后一个被压入栈中的参数可以用( )的形式来访问。
A. [EBP-4] B. [EBP-8] C. [EBP+4] D. [EBP+8]
11. 通过堆栈传递参数,在子程序中使用EBP间址取得参数的原因是( )。
A. EBP没有被占用 B. EBP间址速度较快 C. EBP间址默认的段是堆栈段 D. EBP是基址指针
12. 通过寄存器传递参数比通过堆栈传递参数的优点是( )。
A. 能传递更多得参数 B. 存取效率高 C. 能确保正确调用 D. 没有副作用
13. 利用堆栈传递子程序参数的方法是固定的,在子程序中, 修改参数( )可以改变子程 序的返回地址。
A. [EBP-4] B. [EBP-8] C. [EBP+4] D. [EBP+8]
14. . 在用LOOP Label 指令构成的循环中,若ECX的初值为-10,则循环体将被执行( ) 次。
A. 10 B. 0 C. 100 D. >100
15. 在用LOOP Label 指令构成的循环中,若ECX的初值为10,在LOOP Label 指令前有一条“
SUB ECX,2” 指令,则循环体将被执行( )次。
A. 10 B. 5 C. 4 D. >10000
解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. C 12. 13. 14. 15. D
二.判断
1. 指令指针或者还包括代码段寄存器值的改变将引起程序流程的改变。
2. JMP指令对应高级语言的GOTO语句,所以不能使用。
3. 因为条件转移指令Jcc要利用标志作为条件,所以也影响标志。
4. JA和JG指令的条件都是“大于”,所以是同一个指令的两个助记符。
5. CALL指令用在调用程序中,如果被调用程序中也有CALL指令,说明出现了嵌套。
6. 子程序需要保护寄存器,包括保护传递入口参数和出口参数的通用寄存器。
7. 利用寄存器在主子程序间传递参数,其实质就是利用全局变量来传递参数。
8. 子程序采用堆栈传递参数时,只能在主程序中修改ESP方可保持堆栈的平衡。
9. 汇编语言中不允许递归调用子程序。
10. 与高级语言中的自定义函数不同,汇编语言中的子程序不能将计算的结果返给主程序。
11. 汇编语言中,子程序嵌套调用就是递归调用。
12. 指令CALL或RET的执行,不改变程序执行的流程。
13. 在软件中只使用一次的功能编写成子程序完全没有必要。
14. 在执行CALL指令时,硬件自动将断点地址压入堆栈中。
15. 在高级语言中,若多重循环出现\交叉”的错误,编译系统通常会给出提示来。若汇编语
言程序中也出现\交叉”错误时,汇编程序也会给出提示来。 解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
三.填空
1. JMP指令根据目标地址的寻址方式,可以分成三种类型:相对寻址、__________和______ ____。
2. 假设在平展存储模型下,EBX=1256H,双字变量TABLE的偏移地址是20A1H,线性地址32F
7H处存放3280H,执行指令“JMP EBX” 后EIP=__________,执行指令“JMP TABLE[EBX]” 后EIP=__________。
3. “CMP EAX,3721H”指令之后是JZ指令,发生转移的条件是EAX=__________,此时ZF=_
_________。
4. JMP指令根据目标地址的寻址方式,可以分成三种类型:相对寻址、__________和直接寻 址,通常__________方式使用的最多。
5. 循环结构程序一般有三个部分组成,它们是__________,循环体和__________部分。
6. 条件转移指令JE Label的测试标志位是__________,条件转移指令JNO Label的测试标 志位是__________。
7. .过程定义开始是“TEST PROC”语句,则过程定义结束的语句是__________。宏定义开 始是“DISP MACRO”语句,则宏定义结束的语句是__________。
8. 利用堆栈传递子程序参数的方法是固定的,在子程序中通常是利用寄存器__________来 访问栈中的参数,采用的寻址方式是__________。
9. 调用程序和子程序之间的信息传送称为__________,而当传递的信息很大时通常通过___ _______来进行传递。
10. 在LOOP Label 指令构成的循环中,若ECX的初值为0,则循环体将被执行__________次;
若ECX的初值为—100,则循环体将被执行__________次。
11. 只要堆栈空间允许,子程序嵌套调用的层次__________,子程序也可调用本身,这称为_
_________。
12. 通常在子程序的开始部分要保护______________________寄存器,但用做出口参数的通 用寄存器则__________。
13. 通常在子程序中的参数分为两种类型,分别称为__________和 __________。
14. 通常在子程序中至少要有一条__________指令用于返回主程序,而汇编程序在汇编时并 不检测__________指令是否存在。
15. 在主程序中,采用“JMP subName”指令可以________子程序subName,但子程序结束后
____________________________。 解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
12. 13. 14. 15.
四.简答题
1. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sign与sinteger 均为双字变量。
else If ( siteger > 0) sign = 1; else sign = -1; sign = = 0; if ( sinteger = = 0)
2. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中ch1与caps均为
字节变量。 if (ch1> =’a’ && ch1< =’z’)
caps= =0;
if (ch1> =’A’ && ch1< =’Z’) caps= =1;
3. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sum与i变量均为 双字变量。
sum=0;
for ( i=1;i< =100;i++) if ( i%2= =0) sum=sum+i;
…… 此处隐藏:1274字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记