汇编语言第七章子程序设计文档格式.docx
- 文档编号:20234480
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:68
- 大小:32.49KB
汇编语言第七章子程序设计文档格式.docx
《汇编语言第七章子程序设计文档格式.docx》由会员分享,可在线阅读,更多相关《汇编语言第七章子程序设计文档格式.docx(68页珍藏版)》请在冰豆网上搜索。
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(执行“INT10H”指令时,中断向量地址是()。
A(10HB(20H
C(30HD(40H
13(执行“INT10H”指令时,其中断处理程序的入口地址存放在()。
A(10H,13HB(20H,23HC(30H,33H
D(40H,43H
14(执行“INT10H”指令时,压入堆栈的内容有()。
A(PSW、CS、IPB(CS、IPC(PSW、IP
D(PSW、CS
15(在进行字符串显示的DOS功能调用时,要求字符串的最
后一个字符是()。
A(0B(‘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(下列叙述中属于子程序递归调用的有()。
B(子程序2调用子程序3,子程序3调用子程序2。
C(子程序3调用子程序4,子程序4调用子程序3。
D(子程序3调用子程序3。
6(在执行“CALLFARPTRM”指令后,完成的操作有()。
A(CS、IP入栈B(SP+2C(SP+4
D(目的地址送CS、IP
7(下列叙述正确的有()。
A(如果主程序和子程序A在同一代码段,则用“CALL
A”可以实现子程序的调用。
B(如果主程序和子程序A不在同一代码段,则用
“CALLA”可实现子程序的调用。
C(如果主程序和子程序A在同一代码段,则用“CALLFAR
PTRA”可以实现子程序的调用。
D(如果主程序和子程序A不在同一代码段,则用“CALL
FARPTRA”可以实现子程序的调用。
8(下列叙述不正确的有()。
A(在子程序设计中,不论采用什么参数传递方法,须将所有寄存器的内容保护起来。
B(在子程序设计中,为了防止寄存器内容被破坏,通常将有关寄存器内容保护起来。
C(在子程序设计中,都是采用寄存器法传递参数。
D(在子程序设计中,子程序都只安排一个出口。
9(在进行字符串输入的DOS功能调用时,输入字符串缓冲区中的内容是()。
A(第一单元存放字符个数。
B(第二单元存放的是实际输入字符的个数。
C(第三单元开始存放输入字符的ASCII码。
D(最后一个单元存放回车符。
10(如果要将BUF字符缓冲区的内容显示输出,在采用DOS功能调用前,必须()。
A(将BUF字符缓冲区的段地址送DS。
B(将BUF字符缓冲区的段地址送ES。
C(将BUF字符缓冲区的偏移地址送DX。
D(将功能号9送AH寄存器。
7(4(3填空题
1(调用子程序通常用指令,返回调用程序通常用
指令。
2(在子程序的设计中,通常用堆栈来保护现场和恢复现场。
而堆栈的操作原则是。
3(如果主程序和子程序在同一个代码段,则主程序调用子
程序时只改变地址。
如果主程序和子程序不在同一
个代码段,则主程序调用子程序时要改变地址。
4(在调用程序中调用子程序的CALL指令执行后,压人堆栈
的内容是指令的下一条指令的地址。
在子程序中的
RET指令将返回指令继续执行程序。
5(子程序(过程)的定义是以“过程名”开始,
以“过程名”结束。
6(在调用子程序前,如果将要参加运算的数送寄存器,这
种参数传递方法称为;
如果将要参加运算的数送指
定的内存单元,这种参数传递方法称为;
如果将要
参加运算的数压入堆栈,这种参数传递方法称为。
7(一个子程序调用另一个子程序称为;
一个子
程序直接或间接调用该子程序本身称为。
8(以过程定义的子程序有两种类型的属性,他们分别是
和。
9(在程序设计中,利用堆栈不仅可以保存,而
且还可以保存主程序和子程序之间传递的参数,这些参数
既可以是,也可以是。
10(在程序的执行过程中,近程调用时CALL指令执行完后压
入堆栈的内容是字节,远程调用时CALL指令执行
完后压入堆栈的内容是字节。
11(在编制子程序时,的使用是十分频繁的,它不仅
可以用来保存返回的地址,而且还可以用来存放主程序与
子程序之间传递的。
12(子程序的正确执行是由主程序中的指令和子程
序的指令来完成的。
13(在进行“INT45H”功能调用时,其中断类型号为
,调用的功能号应送。
14(DOS系统功能调用是根据中断类型号从中断向量表中取中
断处理程序的入口地址。
每一个中断处理程序的入口地址
占用内存字节,其中的低地址字用来存放中断处
理程序的,高地址字用来存放中断处理程序的
。
15(中断向量表占用内存字节,它的物理地址范围
是。
16(在DOS系统功能调用中,01号功能调用表示,它
的出口参数在中。
02号功能调用表示,它的
入口参数在中。
17(在DOS系统功能调用中,要实现字符串显示输出应使用
号功能调用,要实现字符串输入应使用号
功能调用。
18(在进行字符串输入的DOS系统功能时,如果键盘输入字
符“345A”后按回车键,则在键盘输入缓冲区的第二单元
的值是,在第三到第七单元的值依次是。
19(在进行字符串显示输出的DOS系统功能时,要求输出字符
串以结尾。
20(在进行DOS功能调用时,压入堆栈的内容是。
7(4(4简答题
1(简述在程序设计中,采用子程序结构有哪些优点,2(简述过程的定义与子程序的定义有何区别,3(简述一个完整的子程序结构应包含哪几方面的内容,4(在子程序的设计过程中,子程序的现场保护和现场恢复通常采用哪几种方法,哪一种方法使用较为方便,5(调用程序和子程序之间一般使用哪几种参数的传递方法,他们各自的特点是什么,
6(简述段内调用和段间调用时堆栈有何不同,7(简述子程序嵌套调用的基本原理。
8(简述递归调用的基本原理。
9(简述DOS系统功能调用的使用方法。
10(简述DOS系统功能调用和中断返回时堆栈的变化,7(4(5程序分析题
1(现有程序如下:
STACKSEGMENTSTACK‘STACK’
DW100DUP(0)
STACKENDS
DATASEGMENT
BUFDB100DUP(0)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
LEADI,BUF
L:
MOVAH,1
INT21H
CMPAL,0DH
JZEXIT
CALLSTO
JMPL
EXIT:
MOVBYTEPTR[DI],‘,’
LEADX,BUF
MOVAH,9
MOVAH,4CH
INT21HSTOPROC
CMPAL,30H
JBNEXT
CMPAL,39H
JANEXT
MOV[DI],AL
INCDI
NEXT:
RET
STOENDP
CODEENDS
ENDSTART
请回答:
(1)STO子程序完成的功能是什么,
(2)该程序完成的功能是什么,
2(现有程序如下:
BUF1DB100DUP(,)BUF2DB200,0,200DUP(0)EQDB‘两个字符串相等~,’NEQDB‘两个字符串不相等~,’
FLAGDB0
MOVEX,AX
LEADX,BUF2
MOVAH,0AH
MOVCX,100
LEASI,BUF1
LEADI,BUF2,2
CALLSCMP
CMPFLAG,0
JZN
LEADX,EQ
JMPEXIT
N:
LEADX,NEQ
MOVAH,4CH
SCMPPROC
PUSHAX
MOVAH,[DI,1]
MOVAL,9
MOVAH,0
CMPAX,CX
JZR
CLD
CMPSB
JNZR
MOVFLAG,0FFH
JMPR1
R:
MOVFLAG,0
R1:
POPAX
RET
SCMPENDP
(1)SCMP子程序完成的功能是什么,
3(现有程序如下:
DW100DUP(0)STACKENDS
BUFDB20CDB4DATAENDS
MOVBL,C
MOVSI,BUF
L1:
PUSHSI
CALLSUBP1
CALLSUBP2
POPSI
INCSI
DECBL
JNZL1
SUBP1PROC
PUSHDX
L2:
MOVDL,20H
MOVAH,2
DECSI
JNZL2
POPDX
POPAX
SUBP1ENDP
SUBP2PROC
MOVCX,8
L3:
MOVDL,‘*’
LOOPL3
MOVDL,0DH
MOVDL,0AH
SUBP2ENDP
(1)SUBP1子程序完成的功能是什么,
(2)SUBP2子程序完成的功能是什
么,
(3)该程序完成的功能是什么,4(现有程序如下:
ADB30
BDB9CDW5DATAENDS
MOVCX,C
MOVBH,B
MOVBL,A
PUSHBX
POPBX
INCBL
SUBBH,2
LOOPL1
DECBH
JNZL3
(3)该程序完成的功能是什么,
5(现有程序如下:
STACKSEGMENTSTACK
‘STACK’
DW100DUP
(0)
BUF1DB0E5H,01H,
73H,34H,3AH,0D5H
C1=,,
BUF1
BUF2DB22H,12H,
67H,35H,73H,0B3H
C2DB,,BUF2
CODE,
DS:
LEABX,BUF1
MOVCX,C1
CALLSORT
LEABX,BUF2
MOVCX,C2
SORTPROC
PUSHSI
PUSHDI
MOVDX,CX
DECDX
MOVSI,1
MOVDI,SI
MOVAL,[BX,SI,1]
CMPAL,[BX,DI,1]
JBENEXT
XCHG[BX,DI,1],AL
MOV[BX,SI,1],AL
INCDI
CMPDI,CX
JBEL2
CMPSI,DX
JBEL1
POPDI
SORTENDP
(1)该子程序完成的功能是什么,
(2)程序执行完后,BUF1和BUF2的内
容各是什么,
6(现有程序如下:
BUFDW20E5H,
4501H,7653H,1234H,354AH,60D5H
C=(,,BUF)
/2
SMAXDW0
LEAAX,BUF
MOVAX,C
CALLMAX
MAXPROC
PUSHBP
MOVBP,SP
PUSHBX
PUSHCX
PUSHF
MOVSI,[BP,6]
MOVCX,[BP,4]
MOVBX,[SI]
DECCX
ADDSI,2
MAX1:
LODSW
CMPAX,BX
JNANEXT
XCHGAX,BX
LOOPMAX1
MOVSMAX,BX
POPF
POPCX
POPBP
RET4
MAXENDP
(2)程序执行完后,SMAX中的内容为
何值,
7(现有程序如下:
STACKSEGMENTSTACK
DB100DUP(0)
BUFDW1064H
N=(,,BUF)/2
STRDB9DUP(‘’)
LEASI,BUF
MOVCX,N
MOVAX,[SI]
LEADI,STR
CALLCBD
LOOPL
CBDPROC
ORAX,AX
JNSPLUS
MOVBYTEPTR[DI],‘,’
NEGAX
PLUS:
MOVCX,5
MOVBX,10
MOVDX,0
DIVBX
ADDDL,30H
MOV[DI],DL
JZL2
MOVBYTEPTR[DI],0DH
MOVBYTEPTR[DI],0AH
MOVBYTEPTR[DI],‘,’
CBDENDP
(2)程序执行完后,显示输出的结
果是什么,
8(现有程序如下:
NUM1DQ7654321089ABCDEFH
NUM2DQ0FEDCBA9801234567H
RESULDT0
MOVES,AX
LEASI,NUM1
LEABX,NUM2LEADI,RESULCALLAD
MOVAH,4CHINT21H
ADPROC
CLC
MOVCX,4
AGAIN:
LODSW
ADCAX,[BX]
STOSW
ADDBX,2LOOPAGAIN
MOVAX,0
ADCAX,0MOV[DI]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 第七 章子 程序设计