📄 csd_div_float.s43
字号:
;******************************************************************************
; MSP430FG439 Integer-Float division using Horner's Algorithm with CSD format
;
; Description: This code performs a 16-bit integer division by a float number
; to return an 16-bit integer
;
; Note: This code assumes 32.768kHz XTAL on LFXT1 on the MSP430FG439
;
;
; MSP430FG439
; -----------------
; | XIN|-
; | | 32.768kHz
; | XOUT|-
; | |
;
;
; K. Venkat
; Texas Instruments Inc.
; July 2006
; Built with IAR Embedded Workbench Version: 3.41A
;*******************************************************************************/
public div_csd_float
RSEG CODE
div_csd_float:
mov.w R12,R14 ; The operand "input" in register R12
rra.w R14
rra.w R14
add.w R12,R14 ; X1=X*2^-2+X
rra.w R14
rra.w R14
rra.w R14
sub.w R12,R14 ; X2=X1*2^-3-X
rra.w R14
rra.w R14
rra.w R14
sub.w R12,R14 ; X3=X2*2^-3-X
rra.w R14
rra.w R14
rra.w R14
add.w R12,R14 ; X4=X3*2^-3+X
rra.w R14
rra.w R14
rra.w R14
rra.w R14
rra.w R14 ; Final result=X4*2^-5
mov.w R14,R12 ; The final answer returned to the
; calling function
ret
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -