在模块化编程的过程中,用子函数的方式是很常见的一种方式,汇编语言中必然会存在这样的方式
在模块化编程中必不可少的的当然是传入的参数和返回的参数
在这里先总结一下:
1、是单参数的传递和但参数的返回
这种传递方式的基本原则就是用寄存器来传递参数,基本格式:主函数将参数送入参数寄存器,子函数从参数寄存器中读取数据;子函数将得到的结果送入结果寄存器中,主函数将结果寄存器中的数据取出来使用
下面举个例子,计算2^3:
assume cs:code
code segment
start: mov si, 2 ;si作为参数寄存器
call math ;调用子函数math
mov ax, 4C00H
int 21H
math: mov ax, si
mov bx, si
mul bx
mul bx ;mul计算完之后,这里进行的是16位乘法,所以得到的结果高位存放在dx寄存器中,低位存放在ax中,所以这里的ax和dx都是结果寄存器
ret ;回到主函数中去
code ends
end start
这里的si就是参数寄存器,dx和ax都是结果寄存器