汇编语言 第七章 子程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章子程序设计
返回目录
练习题
7.4.1 单项选择题
1.在子程序中,如果利用堆栈保护现场,在恢复现场时,先压入堆栈的内容()。
A.先弹出堆栈 B.后弹出堆栈 C.不分先后弹出堆栈 D.任意弹出堆栈
2.下列叙述不正确的是()。
A.在子程序中的现场保护只能用堆栈来实现。
B.在子程序中的现场保护用堆栈来实现是其中的一种方法。
C.在子程序中的现场保护可以有多种实现方法。
D.在子程序中的现场保护可以将要保护的内容送内存变量来实现。
3.下列定义子程序的是()。
A. PNAME PROC B. PNAME PROC
…
…
PNAME ENDS ENDM
C. PNAME PROC D. PNAME PROC
…
…
PNAME ENDP PNAME END
4.子程序重定位可选在内存中的整个区域内,在进行程序
设计时,子程序应采用()。
A.绝对地址 B.相对地址 C.逻辑地址
D.物理地址
5.下列叙述不正确的是()。
A.在子程序中可以再次调用子程序。
B.在主程序中一般用跳转指令转移到子程序。
C.在子程序中一般用返回指令返回到主程序。
D.在主程序中一般用调用指令转移到子程序。
6.下列叙述正确的是()。
A.执行一条段内返回指令,先从堆栈弹出两个字节
的内容,然后SP指针减2。
B.执行一条段内返回指令,先SP指针减2,然后从
堆栈弹出两个字节的内容。
C.执行一条段内返回指令,先SP指针加2,然后从堆栈弹出两个字节的内容。
D.执行一条段内返回指令,先从堆栈弹出两个字节的内容,然后SP指针加2。
7.下列叙述正确的是()。
A.执行一条段间调用指令,先将CS、IP的内容压栈,然后将目的地址送CS和IP。
B.执行一条段间调用指令,先将目的地址送CS和IP,然后将CS、IP的内容压栈。
C.执行一条段间调用指令,先将CS、IP的内容压栈,然后SP指针加2。
D.执行一条段间调用指令,先将CS、IP的内容压栈,然后SP指针减2。
8.下列叙述不正确的是()。
A.在汇编语言程序中,每一个过程允许有多条RET 指令。
B.在汇编语言程序中,每一个过程只允许出现一条RET指令。
C.在汇编语言程序中,每一个过程结束之前一定有一条RET指令。
D.在汇编语言程序中,以过程形式表示的代码段一
定有一条RET指令存在。
9.下列叙述中属于子程序嵌套的是()。
A.主程序调用子程序1
B.主程序调用子程序2
C.主程序调用子程序3
D.子程序1调用子程序2
10.下列叙述中属于子程序直接递归调用的是()。
A.子程序1调用子程序2
B.子程序2调用子程序3
C.子程序3调用子程序4
D.子程序4调用子程序4
11.在进行DOS功能调用前,其功能号应先送()。
A.AH寄存器 B.BH寄存器 C.CH寄存器
D.DH寄存器
12.执行“INT 10H”指令时,中断向量地址是()。
A.10H B.20H C.30H D.40H
13.执行“INT 10H”指令时,其中断处理程序的入口地址
存放在()。
A.10H~13H B.20H~23H C.30H~33H D.40H~43H
14.执行“INT 10H”指令时,压入堆栈的内容有()。
A.PSW、CS、IP B.CS、IP C.PSW、IP D.PSW、CS
15.在进行字符串显示的DOS功能调用时,要求字符串的最
后一个字符是()。
A.0 B.‘0’ C.‘$’ D.0DH
7.4.2 多项选择题
1.一般的子程序说明文件有()。
A.子程序名 B.功能描述 C.入口
参数 D.出口参数
2.在子程序的设计中,通常采用现场保护和现场恢复的方
法有()。
A.寄存器法 B.堆栈法 C.约
定单元法 D.变元法
3.子程序的参数传递方法有()。
A.寄存器法 B.约定单元法 C.堆栈法
D.变元法
4.下列叙述中属于子程序嵌套的有()。
A.子程序1调用子程序2,子程序2调用子程序3。
B.主程序调用子程序2。
C.主程序调用子程序3。
D.子程序3调用子程序4。
5.下列叙述中属于子程序递归调用的有()。
A.子程序1调用子程序2,子程序2调用子程序3。
B.子程序2调用子程序3,子程序3调用子程序2。
C.子程序3调用子程序4,子程序4调用子程序3。
D.子程序3调用子程序3。
6.在执行“CALL FAR PTR M”指令后,完成的操作有()。
A.CS、IP入栈 B.SP+2 C.SP+4 D.目的地址送CS、IP
7.下列叙述正确的有()。
A.如果主程序和子程序A在同一代码段,则用“CALL A”可以实现子程序的调用。
B.如果主程序和子程序A不在同一代码段,则用“CALL A”可实现子程序的调用。
C.如果主程序和子程序A在同一代码段,则用“CALL FAR PTR A”可以实现子程序的调用。
D.如果主程序和子程序A不在同一代码段,则用“CALL FAR PTR A”可以实现子程序的调用。
8.下列叙述不正确的有()。
A.在子程序设计中,不论采用什么参数传递方法,须将所有寄存器的内容保护起来。
B.在子程序设计中,为了防止寄存器内容被破坏,