汇编语言中子程序可以调用子程序吗

汇编语言中子程序可以调用子程序吗,第1张

汇编语言中子程序当然是可以调用其他子程序的。

我们编程时,之所以要引入子程序,其主要目的无非就是:减少重复代码;阅读方便;流程清晰;举例如下:

MAIN:

MOV A,#0FEH

MOV R2,#8

LOOP:

LCALL KEYSCAN

JB 00H,LOOP1

MOV P0,A

RL A

MOV R7,#200

LCALL DELAY

SJMP LOOP

LOOP1:

RR A

MOV R7,#200

LCALL DELAY

SJMP LOOP

KEYSCAN: 按键检测子程序

JB P1.0,KEYR 没有按键退出

MOV R7,#20 延时子程序传递参数

LCALL DELAY 调用延时子程序

JNB P1.0,$ 等待按键抬起

CPL 00H 按键处理 位00H取反

KEYR:

RET

DELAY:

MOV R3,#250

DJNZ R3,$

DJNZ R7,DELAY

RET

END

这个是可以的,比如有函数

fun1()

{}

fun2()

{

fun1()

}

fun3()

{

fun1()

fun2()

}

main()

{

fun3()

}

这样是完全可以的。

中断服务子程序不能直接调用,因为它们是特殊的程序,它们的功能是在 *** 作系统中运行,而不是在应用程序中运行。它们可以在 *** 作系统中执行特定的任务,比如处理系统中的中断,但是它们不能直接被应用程序调用。因此,如果要调用中断服务子程序,必须使用 *** 作系统提供的特殊接口,这些接口可以让应用程序调用中断服务子程序。


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

原文地址: https://www.outofmemory.cn/yw/11281263.html

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

发表评论

登录后才能评论

评论列表(0条)

保存