我写了一个C6424时间C语言的中断服务子程序,一切正常。但是将其改成汇编,感觉有问题!
C语言如下面:这个是运行正常代码.
interrupt void TIM10us_int4(void) //interrupt4(void)
{ OSTimeTick++;
EDMA3CC_ESR = ***; //设置手动事件//
}
接下来我屏蔽C语言中该函数,新建了一个.asm后缀的汇编文件:
.ref _OSTimeTick
.ref _BitChnL
global _TIM10us_int4
;===========================================
;中断汇编,
;===========================================
.sect ".text" ;.text
_TIM10us_int4:
LDW .D2 *+B14(_OSTimeTick),B1
NOP 4
ADD .L2 B1,1,B1
STW .D2 B1,*+B14(_OSTimeTick)
MVKL .S1 0x01C01010, A0 ;写EDMA3CC_ESR寄存器
MVKH .S1 0x01C01010, A0
LDW .D2 *+B14(_BitChnL),B2
NOP 4
ZERO .D2 B1
MVK .S2 1,B1
STW .D1T2 B2,*A0[0]
B .S2 IRP
NOP 5
请教:我这个中断子程序汇编,感觉有点像调用函数,是不是有问题呀?开头应该怎么写呢?请教????