call crlf //这里调用crlf这个子程序灶扰
crlf proc near //这里写纤辩枣名为crlf的子程序
//子程序代码
ret
crlf endp
主程序调用写在其他asm中的子过程的方法主程序文件名 main.asm
子过程亮败文件名 sub.asm
子过程名 fun1
方法有:
1:
(1)在main.asm 文件中 在call fun1 之前的任意位置,(即使在.data中也可以) include sub.asm
(2)在 sub.asm的子过程之巧肆前可以使用 .code和.data 也可以不加
列如:
.data
n1 DWORD 2
.code
fun1 PROC NEAR32
add eax ,n1
ret
fun1 ENDP
或者:
fun1 PROC NEAR32
add eax ,eax
ret
fun1 ENDP
(3)直接编译main.asm,连接main.obj 即可
注: sub.asm 最后一定不能有END
2:(1)在main.asm 文件中 的.data 之前 EXTRN fun1:NEAR32 ,也可以用 fun1 PROTO NEAR32 声明函数
(2)在sub.asm 的fun1 PROC NEAR32之前,或者fun1 ENDP 之后 PUBLIC fun1
sub.asm 末尾需要 END
例如:
.386
.MODEL FLAT
PUBLIC fun1
.data
n1 dword 2
.code
fun1 PROC NEAR32
add eax ,n1
ret
fun1 ENDP
end
(3)分别编译main.asm,sub.asm。连接连接main.obj和sub.obj
总结,若是其他asm文件中的是宏,则在主文件,或者子过程文件中 直接 include 宏name.asm 即可
若是这些工作做得没有差错,编译或者连接时孝键轿出现差错,则最大可能性是:你的子过程名写错了,解决的办法是
把所有出现子过程名的地方重新复制粘贴一遍。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)