📄 mpy_32_v_reg.asm
字号:
***************************************************************************
** Description: mpy_32_v_reg() in oper_32b.c
**
** Inputs:
** *AR1: Word16 hi1 : hi part of first number
** *AR2: Word16 lo1 : low part of first number
** *AR3: Word16 hi2 : hi part of second number
** *AR4: Word16 lo2 : low part of second number
**
** Outputs:
**
** Return value:
**
** ACC: Word32 L_32
**
** Attribute: Cycles: Pm:
**
** Modified Registers: ACC,P,T
**
** Programmer: Liu Yang
**
** Complete time: 2002 3 17
***************************************************************************
.global _mpy_32_v_reg
_mpy_32_v_reg:
ZAPA
MOV T,@AR1 ; T = max_h
MPY P,T,@AR3 ; P = max_h * ener_h
MPYA P,T,@AR4 ; ACC = P, P = max_h * ener_l
MOVH AR4,P ; AR4 = PH: get upper 16bit
ADD ACC,AR4 << #1 ; Perform accumulate
MOV T,@AR2 ; T = max_l
MPY P,T,@AR3 ; P = max_l * ener_h
MOVH AR4,P ; AR4 = PH: get upper 16bit
ADD ACC,AR4 << #1 ; Perform final accumulate
LRETR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -