TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS28035中,BF的汇编指令集以及MOX,MOVW,MOL,MOV的区别。

这是老工程师的汇编:

_Epwm1_Isr:
; entry into Zero event Isr 进入零中断事件
;automatic context save :
;ST0,T,AL,AH,PL,PH,AR0,AR1,ST1,DP,IER,DBGSTAT,return address
;context save

ASP
MOVL *SP++,XAR7
SPM 0 NOP *,ARP7 ; Why XAR4 will be changed (?)

CLRC PAGE0,OVM
SETC SXM

MOVW DP,#_IsrVars + _CPU_DP
MOVL XAR7,#_AdcResult + DCCURR
MOV AL,*
MOV @_u16ADCurr,AL

CMP @_u16FlagPFCSd,#1
BF DCDC_PFCSD,EQ ;BF跳转指令
MOVL XAR7,#_GpioDataRegs + _GPBDAT TBIT *,#02 ;Gpio34 PFCSd
BF DCDC_NOPFCSd,NTC
INC @_u16CntPFCSd ;Cnt add 1
CMP @_u16CntPFCSd,#2
BF DCDC_NOPFCSd,LT
MOVB AL,#0x01
MOV @_u16FlagPFCSd,AL

中间有几个跳转指令,我不知道跳转指令的条件是什么,什么时候跳转到DCDC_NOPFCSd,什么时候跳转到 DCDC_NOPFCSd。

Seven Han:

请问这是TI的某个例程吗?

关于汇编您可参考以下文档:

http://www.ti.com.cn/cn/lit/ug/spru430f/spru430f.pdf

这是老工程师的汇编:

_Epwm1_Isr:
; entry into Zero event Isr 进入零中断事件
;automatic context save :
;ST0,T,AL,AH,PL,PH,AR0,AR1,ST1,DP,IER,DBGSTAT,return address
;context save

ASP
MOVL *SP++,XAR7
SPM 0 NOP *,ARP7 ; Why XAR4 will be changed (?)

CLRC PAGE0,OVM
SETC SXM

MOVW DP,#_IsrVars + _CPU_DP
MOVL XAR7,#_AdcResult + DCCURR
MOV AL,*
MOV @_u16ADCurr,AL

CMP @_u16FlagPFCSd,#1
BF DCDC_PFCSD,EQ ;BF跳转指令
MOVL XAR7,#_GpioDataRegs + _GPBDAT TBIT *,#02 ;Gpio34 PFCSd
BF DCDC_NOPFCSd,NTC
INC @_u16CntPFCSd ;Cnt add 1
CMP @_u16CntPFCSd,#2
BF DCDC_NOPFCSd,LT
MOVB AL,#0x01
MOV @_u16FlagPFCSd,AL

中间有几个跳转指令,我不知道跳转指令的条件是什么,什么时候跳转到DCDC_NOPFCSd,什么时候跳转到 DCDC_NOPFCSd。

bamboo wang:

回复 Seven Han:

这个不是例程:

我想咨询下以下代码:

FUN_MAIN_DRV_BURST_OFF_JUDGE: MMOV32 MR1,@_ClatoCpuVar._f32VdcPiOut MCMPF32 MR1,#BURST_IN_POINT MNOP MNOP MNOP MBCNDD FUN_MAIN_DRV_BURST_OFF,LT ;ACC < 0 MNOP MNOP MNOP MBCNDD FUN_SR_BURST,UNC ;无形条件指令 MNOP MNOP MNOP

FUN_MAIN_DRV_BURST_ON_JUDGE: MMOV32 MR1,@_ClatoCpuVar._f32VdcPiOut MCMPF32 MR1,#BURST_OUT_POINT MNOP MNOP MNOP MBCNDD FUN_MAIN_DRV_BURST_ON,GT ;ACC > 0 MNOP MNOP MNOP MBCNDD FUN_SR_BURST,UNC MNOP MNOP MNOP

问题1·:

LT, GT.  都与ACC累加器有关系,但是我并没有看到这个累加器。

问题2:

#BURST_OUT_POINT     这个值是多少呢,我没看到。

这是老工程师的汇编:

_Epwm1_Isr:
; entry into Zero event Isr 进入零中断事件
;automatic context save :
;ST0,T,AL,AH,PL,PH,AR0,AR1,ST1,DP,IER,DBGSTAT,return address
;context save

ASP
MOVL *SP++,XAR7
SPM 0 NOP *,ARP7 ; Why XAR4 will be changed (?)

CLRC PAGE0,OVM
SETC SXM

MOVW DP,#_IsrVars + _CPU_DP
MOVL XAR7,#_AdcResult + DCCURR
MOV AL,*
MOV @_u16ADCurr,AL

CMP @_u16FlagPFCSd,#1
BF DCDC_PFCSD,EQ ;BF跳转指令
MOVL XAR7,#_GpioDataRegs + _GPBDAT TBIT *,#02 ;Gpio34 PFCSd
BF DCDC_NOPFCSd,NTC
INC @_u16CntPFCSd ;Cnt add 1
CMP @_u16CntPFCSd,#2
BF DCDC_NOPFCSd,LT
MOVB AL,#0x01
MOV @_u16FlagPFCSd,AL

中间有几个跳转指令,我不知道跳转指令的条件是什么,什么时候跳转到DCDC_NOPFCSd,什么时候跳转到 DCDC_NOPFCSd。

mangui zhang:

回复 Seven Han:

感谢分享资料非常有用查找了SPM 0的相关指令说明

赞(0)
未经允许不得转载:TI中文支持网 » TMS28035中,BF的汇编指令集以及MOX,MOVW,MOL,MOV的区别。
分享到: 更多 (0)