📄 tanhf.asm
字号:
;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.3.1-pj3 Sun Jan 20 13:10:30 2002
;--------------------------------------------------------
.module tanhf
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
.globl _tanhf
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
.area DSEG (DATA)
;--------------------------------------------------------
; overlayable items in internal ram
;--------------------------------------------------------
.area OSEG (OVR,DATA)
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
.area ISEG (DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
.area BSEG (BIT)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
.area XSEG (XDATA)
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
.area XISEG (XDATA)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
.area GSINIT (CODE)
.area GSFINAL (CODE)
.area GSINIT (CODE)
;--------------------------------------------------------
; Home
;--------------------------------------------------------
.area HOME (CODE)
.area CSEG (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
.area CSEG (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'tanhf'
;------------------------------------------------------------
;x Allocated to stack - offset 1
;f Allocated to stack - offset 5
;g Allocated to stack - offset 9
;r Allocated to stack - offset 13
;sloc0 Allocated to stack - offset 17
; tanhf.c 40
; -----------------------------------------
; function tanhf
; -----------------------------------------
_tanhf:
ar2 = 0x02
ar3 = 0x03
ar4 = 0x04
ar5 = 0x05
ar6 = 0x06
ar7 = 0x07
ar0 = 0x00
ar1 = 0x01
push _bp
mov _bp,sp
mov ar0,a
mov a,sp
add a,#0x14
mov sp,a
mov a,ar0
; tanhf.c 58
; genReceive
push acc
; Peephole 212 reduced add sequence to inc
mov r0,_bp
inc r0
pop acc
mov @r0,dpl
inc r0
mov @r0,dph
inc r0
mov @r0,b
inc r0
mov @r0,a
; tanhf.c 44
; genCall
; Peephole 212 reduced add sequence to inc
mov r0,_bp
inc r0
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall _fabsf
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov a,_bp
add a,#0x05
mov r0,a
mov @r0,ar2
inc r0
mov @r0,ar3
inc r0
mov @r0,ar4
inc r0
mov @r0,ar5
; tanhf.c 45
; genAssign
mov dptr,#___fsgt_PARM_2
mov a,#0xB0
movx @dptr,a
inc dptr
mov a,#0x2C
movx @dptr,a
inc dptr
mov a,#0x10
movx @dptr,a
inc dptr
mov a,#0x41
movx @dptr,a
; genCall
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsgt
mov a,dpl
; genIfx
; genIfxJump
; Peephole 110 removed ljmp by inverse jump logic
jz 00108$
00118$:
; genAssign
mov a,_bp
add a,#0x0d
mov r0,a
mov @r0,#0x00
inc r0
mov @r0,#0x00
inc r0
mov @r0,#0x80
inc r0
mov @r0,#0x3F
ljmp 00109$
00108$:
; tanhf.c 46
; genAssign
mov dptr,#___fsgt_PARM_2
mov a,#0x54
movx @dptr,a
inc dptr
mov a,#0x9F
movx @dptr,a
inc dptr
mov a,#0x0C
movx @dptr,a
inc dptr
mov a,#0x3F
movx @dptr,a
; genCall
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsgt
mov a,dpl
; genIfx
; genIfxJump
jnz 00119$
ljmp 00105$
00119$:
; tanhf.c 48
; genAssign
mov a,_bp
add a,#0x05
mov r0,a
mov dptr,#___fsadd_PARM_2
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
; genIpush
; genCall
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsadd
mov r4,dpl
mov r5,dph
mov r2,b
; genCall
; Peephole 191 removed redundant mov
mov r3,a
mov dpl,r4
mov dph,r5
mov b,r2
lcall _expf
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov dptr,#___fsadd_PARM_2
; Peephole 101 removed redundant mov
; Peephole 180 changed mov to clr
clr a
movx @dptr,a
inc dptr
movx @dptr,a
inc dptr
mov a,#0x80
movx @dptr,a
inc dptr
mov a,#0x3F
movx @dptr,a
; genCall
mov dpl,r2
mov dph,r3
mov b,r4
mov a,r5
lcall ___fsadd
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov dptr,#___fsdiv_PARM_2
mov a,r2
movx @dptr,a
inc dptr
mov a,r3
movx @dptr,a
inc dptr
mov a,r4
movx @dptr,a
inc dptr
mov a,r5
movx @dptr,a
; genCall
; Peephole 181 used 16 bit load of dptr
mov dptr,#0x0000
mov b,#0x80
mov a,#0x3F
lcall ___fsdiv
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov dptr,#___fssub_PARM_2
mov a,r2
movx @dptr,a
inc dptr
mov a,r3
movx @dptr,a
inc dptr
mov a,r4
movx @dptr,a
inc dptr
mov a,r5
movx @dptr,a
; genCall
; Peephole 3.c changed mov to clr
; Peephole 3.b changed mov to clr
clr a
mov dpl,a
mov dph,a
mov b,a
mov a,#0x3F
lcall ___fssub
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov a,_bp
add a,#0x0d
mov r0,a
mov @r0,ar2
inc r0
mov @r0,ar3
inc r0
mov @r0,ar4
inc r0
mov @r0,ar5
; tanhf.c 49
; genAssign
mov a,_bp
add a,#0x0d
mov r0,a
mov dptr,#___fsadd_PARM_2
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
; genCall
mov a,_bp
add a,#0x0d
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsadd
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov a,_bp
add a,#0x0d
mov r0,a
mov @r0,ar2
inc r0
mov @r0,ar3
inc r0
mov @r0,ar4
inc r0
mov @r0,ar5
; genIpop
ljmp 00109$
00105$:
; tanhf.c 51
; genAssign
mov dptr,#___fslt_PARM_2
; Peephole 101 removed redundant mov
; Peephole 180 changed mov to clr
clr a
movx @dptr,a
inc dptr
movx @dptr,a
inc dptr
mov a,#0x80
movx @dptr,a
inc dptr
mov a,#0x39
movx @dptr,a
; genCall
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fslt
mov a,dpl
; genIfx
; genIfxJump
; Peephole 110 removed ljmp by inverse jump logic
jz 00102$
00120$:
; genAssign
mov a,_bp
add a,#0x05
mov r0,a
mov a,_bp
add a,#0x0d
mov r1,a
mov a,@r0
mov @r1,a
inc r0
inc r1
mov a,@r0
mov @r1,a
inc r0
inc r1
mov a,@r0
mov @r1,a
inc r0
inc r1
mov a,@r0
mov @r1,a
ljmp 00109$
00102$:
; tanhf.c 54
; genAssign
mov a,_bp
add a,#0x05
mov r0,a
mov dptr,#___fsmul_PARM_2
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
; genCall
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsmul
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov a,_bp
add a,#0x09
mov r0,a
mov @r0,ar2
inc r0
mov @r0,ar3
inc r0
mov @r0,ar4
inc r0
mov @r0,ar5
; tanhf.c 55
; genAssign
mov dptr,#___fsmul_PARM_2
mov a,#0xB2
movx @dptr,a
inc dptr
mov a,#0x11
movx @dptr,a
inc dptr
mov a,#0x7B
movx @dptr,a
inc dptr
mov a,#0xBB
movx @dptr,a
; genCall
mov a,_bp
add a,#0x09
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsmul
mov r4,dpl
mov r5,dph
mov r2,b
mov r3,a
; genAssign
mov dptr,#___fsadd_PARM_2
mov a,#0xC6
movx @dptr,a
inc dptr
mov a,#0xE2
movx @dptr,a
inc dptr
mov a,#0x52
movx @dptr,a
inc dptr
mov a,#0xBF
movx @dptr,a
; genCall
mov dpl,r4
mov dph,r5
mov b,r2
mov a,r3
lcall ___fsadd
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov a,_bp
add a,#0x09
mov r0,a
mov dptr,#___fsmul_PARM_2
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
; genCall
mov dpl,r2
mov dph,r3
mov b,r4
mov a,r5
lcall ___fsmul
push acc
mov a,_bp
add a,#0x11
mov r0,a
pop acc
mov @r0,dpl
inc r0
mov @r0,dph
inc r0
mov @r0,b
inc r0
mov @r0,a
; genAssign
mov dptr,#___fsadd_PARM_2
mov a,#0x1A
movx @dptr,a
inc dptr
mov a,#0x2A
movx @dptr,a
inc dptr
mov a,#0x1E
movx @dptr,a
inc dptr
mov a,#0x40
movx @dptr,a
; genCall
mov a,_bp
add a,#0x09
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsadd
mov r6,dpl
mov r7,dph
mov r2,b
mov r3,a
; genAssign
mov dptr,#___fsdiv_PARM_2
mov a,r6
movx @dptr,a
inc dptr
mov a,r7
movx @dptr,a
inc dptr
mov a,r2
movx @dptr,a
inc dptr
mov a,r3
movx @dptr,a
; genCall
mov a,_bp
add a,#0x11
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsdiv
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov dptr,#___fsmul_PARM_2
mov a,r2
movx @dptr,a
inc dptr
mov a,r3
movx @dptr,a
inc dptr
mov a,r4
movx @dptr,a
inc dptr
mov a,r5
movx @dptr,a
; genCall
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsmul
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov dptr,#___fsadd_PARM_2
mov a,r2
movx @dptr,a
inc dptr
mov a,r3
movx @dptr,a
inc dptr
mov a,r4
movx @dptr,a
inc dptr
mov a,r5
movx @dptr,a
; genCall
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fsadd
mov r2,dpl
mov r3,dph
mov r4,b
mov r5,a
; genAssign
mov a,_bp
add a,#0x0d
mov r0,a
mov @r0,ar2
inc r0
mov @r0,ar3
inc r0
mov @r0,ar4
inc r0
mov @r0,ar5
00109$:
; tanhf.c 57
; genAssign
mov dptr,#___fslt_PARM_2
; Peephole 101 removed redundant mov
; Peephole 180 changed mov to clr
; Peephole 101 removed redundant mov
; Peephole 180 changed mov to clr
; Peephole 226 removed unnecessary clr
clr a
movx @dptr,a
inc dptr
movx @dptr,a
inc dptr
movx @dptr,a
inc dptr
movx @dptr,a
; genCall
; Peephole 212 reduced add sequence to inc
mov r0,_bp
inc r0
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
lcall ___fslt
mov a,dpl
; genIfx
; genIfxJump
; Peephole 110 removed ljmp by inverse jump logic
jz 00111$
00121$:
; genUminus
mov a,_bp
add a,#0x0d
; genUminusFloat
; Peephole 185 changed order of increment (acc incremented also!)
inc a
; Peephole 185 changed order of increment (acc incremented also!)
inc a
; Peephole 185 changed order of increment (acc incremented also!)
inc a
mov r0,a
mov a,@r0
cpl acc.7
mov @r0,a
dec r0
dec r0
dec r0
mov a,@r0
mov @r0,a
inc r0
mov a,@r0
mov @r0,a
inc r0
mov a,@r0
mov @r0,a
00111$:
; tanhf.c 58
; genRet
mov a,_bp
add a,#0x0d
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
inc r0
mov a,@r0
00112$:
mov sp,_bp
pop _bp
ret
.area CSEG (CODE)
.area XINIT (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -