44过程定义伪指令过程定义伪指令PROCPROC、、ENDPENDP过程就是子程序
一个过程可以被其它程序所过程就是子程序
一个过程可以被其它程序所调用调用((用用CALLCALL指令指令)),过程的最后一条指令一般,过程的最后一条指令一般是返回指令是返回指令(RET)(RET)
过程定义伪指令的格式为过程定义伪指令的格式为PROCPROC[[类型类型]]…………RETRETENDPENDP注意:注意:PROCPROC和和ENDPENDP必须成对出现
必须成对出现
过程的类型有两种:过程的类型有两种:NEAR——(NEAR——(默认类型默认类型))表示段内调用表示段内调用FAR——FAR——表示段间调用表示段间调用调用一个过程的格式为:调用一个过程的格式为:CALLCALL4
55宏定义伪指令宏定义伪指令如果需要多次使用同一个程序段,如果需要多次使用同一个程序段,可以可以将这个程序段定义为一个”宏将这个程序段定义为一个”宏指令”指令”,,然后然后在需要时,可简单地用在需要时,可简单地用宏指令名宏指令名来来代替这个程序段
代替这个程序段
指令的格式为:MACRO[形参表]ENDM例例::两个数之和的宏定义和宏调用
两个数之和的宏定义和宏调用
宏定义为:宏定义为:DADDDADDMACROMACROXX,,YY,,ZZMOVAXMOVAX,,XXADDAXADDAX,,YYMOVZMOVZ,,AXAXENDMENDMX、Y、Z是形式参数
调用宏DADD时可写为:DADDDATA1,DATA2,SUMDATA1,DATA2,SUM是实际参数,由它们替换定义中的X、Y、Z
宏调用与过程(子程序)调用都是一次定义,多次调用
它们之间的差别是:①执行形式:宏命令伪指令由宏汇编程序在汇编过理中进行处理,而CALL、RET则是由CPU执行的指令
②汇编结果:宏