ASM51无参数化调用C51函数的实现原理解析方案
void disp_int0() interrupt 0 using 2 //用中断0,使用寄存器2组
{
}
main()
{
…
initial();
while(1) //主循环
{
……
}
}
A51程序如下:
NAME ztdjly.a51
ram_cs bit 090h.2 ;p1.2 ;62256片选
b373 bit 090h.1 ;p1.1
bit_dog bit 0b0h.4 ;3.4
;以上3个是AD7715的引脚定义
data_bit bit 0a0h.6 ;P2.6
adsclk_bit bit 0b0h.5 ;P3.5
drdy_bit bit 0b0h.3 ;P3.3
?PR?sample?SAMPLE SEGMENT CODE ;定义程序代码段
EXTRN DATA (sample_w) ;声明外部变量,在C51程序定义分配在DATA区
EXTRN DATA(sa_p)
EXTRN DATA(ram_point)
EXTRN DATA (sa_timer)
EXTRN DATA (sa_vzt)
EXTRN BIT (write_alw) ;声明外部变量,在C51程序定义分配在可位寻址区
EXTRN BIT (vz_bit)
EXTRN BIT (fs_bit)
PUBLIFC sample ;分用符号说明
PUBLIC initial,res_ram
RSEG ?PR?sample?SAMPLE
using 0
initial:;AD7715初始化,该标号即是C51定义外部函数
;initial()的入口地址
……
ret
;
评论