主程序调用子程序是,往往需要向子程序传递一些参数,同样,子程序运行的时候也需要把一些结果参数传回给主程序,主程序与子程序之间的这种信息传递称为参数传递,我们把主程序传给子存续的参数称为子程序的入口参数,把由子程序传给主程序的参数称为子程序的出口参数
有多种传递参数的方法,寄存器传递法,约定内存单元传递法,堆栈传递法和CALL后续传递法
4.2.1利用寄存器传递参数
利用寄存器传递参数就是把参数放在约定的寄存器中,这种方法的优点是实行啊你个简单和调用方便,但是由于寄存器的个数有限,并且寄存器往往还需要存放其他数据因此只适合传递参数比较少的情况
写一个把大写字母转换成小写字母的子程序
1 ;子程序名 UPTOLW 2 ;功能: 把大写字母转换成小写字母 3 ;入口参数:AL = 字符ASCII码 4 ;出口参数:AL = 字符ASCII码 5 ;说明:如果字符是大写字母则转换为小写字母,其他的字符保持不变 6 UPTOLW PROC 7 PUSHF 8 CMP AL,'A' 9 JB UPTOLW1 10 CMP AL,'Z' 11 JA UPTOLW1 12 ADD AL,'a' - 'A' 13 UPTOLW1:POPF 14 RET 15 UPTOLW ENDP