(4)通过地址表传送参数地址
这种方法是在主程序中建立一个地址表,把要传送给子程序的参数都存放在地址表中,然后把地址表的首地址通过寄存器BX传送到子程序中去。子程序通过地址表取得所需参数,并把结果存入指定的存储单元中去。这样做的结果,对于上述程序中要累加ARY1数组的内容时,只需在程序中增加下述指令,再调用PROADD后就能在SUM1中得到ARY1的累加和。
MOV TABLE, OFFSET ARY1
MOV TABLE+2, OFFSET COUNT1
MOV TABLE+4, OFFSET SUM1
MOV BX, OFFSET TABLE
CALL PROADD
下面程序采用COM文件形式:代码、数据和堆栈都设在一个段中。这里并不一定必须使用COM文件,只是给出另一种程序格式而已。
|