用汇编语言编写子程序后如何调用?

用汇编语言编写子程序后如何调用?,第1张

如果汇编语言自己调用就用个call 就行了,给你举个例子:在运行到需要调用的时毁拆候这样用:

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 即可

若是这些工作做得没有差错,编译或者连接时孝键轿出现差错,则最大可能性是:你的子过程名写错了,解决的办法是

把所有出现子过程名的地方重新复制粘贴一遍。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12482818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存