4个回答
展开全部
格式:ACALL add11 功能:绝对调用子程序
说明:
addr11:11 位目标地址,在下条指令的2K 范围内转移或调用
说明:
addr11:11 位目标地址,在下条指令的2K 范围内转移或调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如说调用延时子程序
ACALL DELAY
*******(正常的其他程序)
DELAY:
MOV R4 ,#10
D2:MOV R5,$
DJNZ R4,D2
RET
ACALL DELAY
*******(正常的其他程序)
DELAY:
MOV R4 ,#10
D2:MOV R5,$
DJNZ R4,D2
RET
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ACALL是51汇编的子程序调用指令,其使用范围是±2K范围,超出这个范围的调用将会出错,这时可以使用LCALL即长调用语句。
调用格式如下:
ACALL 标号(子程序名)
例程:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
MAIN:
MOV SP,#5FH
ACALL INIT ;调用初始化子程序
SJMP $
INIT:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-1000)
MOV TL0,#LOW(65536-1000)
SETB TR0
SETB ET0
SETB EA
RET
T0ISR:
CPL P1.0
RETI
END
调用格式如下:
ACALL 标号(子程序名)
例程:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
MAIN:
MOV SP,#5FH
ACALL INIT ;调用初始化子程序
SJMP $
INIT:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-1000)
MOV TL0,#LOW(65536-1000)
SETB TR0
SETB ET0
SETB EA
RET
T0ISR:
CPL P1.0
RETI
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询