::①掌握子程序的设计方法及其参数传递方式。:①子程序的设计方法及其参数传递方式。:①子程序的设计方法及其参数传递方式。:P196~:: 格式: procedurename PROCAttribute …… procedurenameENDP NEAR:调用程序和子程序在同一代码段中; FAR:调用程序和子程序不在同一代码段中。 如主程序在调用子程序之前的某个寄存器内容在从子程序返回后还有用,而子程序又恰好要使用这个寄存器,则对此寄存器应给予保护。 例:保护CX寄存器的内容 SUBTPROC NEAR PUSH CX …… POP CX RET SUBT :十进制到十六进制数转换程序。程序要求从键盘取得一个十进制数,然后把该数以十六进制形式在屏幕上显示出来。(同一程序模块)中,则子程序可直接访问模块中的变量,进行参数传递。例:主程序MAIN和子程序PROADD在同一源文件中,要求用子程序PROADD累加数组中的所有元素,并把和(不考虑溢出的可能性)送到指定的存储单元中去。在这里,子程序PROADD直接访问模块的数据区。 这种方法是在主程序中建立一个地址表,把要传送给子程序的参数都存放在地址表中,然后把地址表的首地址通过寄存器BX传送到子程序中去。子程序通过地址表取得所需参数,并把结果存入指定的存储单元中去。例6-4: 此方法是在主程序里把参数地址保存到堆栈中,在子程序里从堆栈中取出参数以达到传送参数的目的。 例6-4:采用通过堆栈传送参数地址法的程序实现。
第6章子程序结构 来自淘豆网www.taodocs.com转载请标明出处.