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

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

通过C语言函数形式封装汇编语言程序段,而后就可完全按照C语言函数的形式调用。这种方法保证了子程序段与主程序衔接的完全适配,使用简便。使用方法如下:

用低划线_后接关键字asm指示后面的语句是汇编语句。汇编语句既可以是单句,例如__asm mov bx,1;也可以是复合语句,即,用花括号对包含的多条单句,例如:

__asm

{ mov al, 3

mov dx, 0xE008

add ax,dx

}

在语法规则中,这些语句与C语言的语句完全等价。因此,可以直接进行编译。

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

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

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存