summaryrefslogtreecommitdiff
path: root/device/lib/stm8/_divulonglong.asm
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-23 03:38:32 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-23 03:38:32 +0200
commit2cece67cb5af0339e4ab1f18b0bce2f0b4e6ebdd (patch)
treeb2fbf4e99f194213527304c9189abe65c163ac0b /device/lib/stm8/_divulonglong.asm
parented26eb00026800d1d2ff6289627216c7d1f0d459 (diff)
downloadsdcc-gas-2cece67cb5af0339e4ab1f18b0bce2f0b4e6ebdd.tar.gz
Removed intermediate files
Diffstat (limited to 'device/lib/stm8/_divulonglong.asm')
-rw-r--r--device/lib/stm8/_divulonglong.asm215
1 files changed, 0 insertions, 215 deletions
diff --git a/device/lib/stm8/_divulonglong.asm b/device/lib/stm8/_divulonglong.asm
deleted file mode 100644
index 0a5a6d4..0000000
--- a/device/lib/stm8/_divulonglong.asm
+++ /dev/null
@@ -1,215 +0,0 @@
-;--------------------------------------------------------
-; File Created by SDCC : free open source ANSI-C Compiler
-; Version 3.9.3 #11345 (Linux)
-;--------------------------------------------------------
- .module _divulonglong
- .optsdcc -mstm8
-
-;--------------------------------------------------------
-; Public variables in this module
-;--------------------------------------------------------
- .globl __divulonglong
-;--------------------------------------------------------
-; ram data
-;--------------------------------------------------------
- .area DATA
-;--------------------------------------------------------
-; ram data
-;--------------------------------------------------------
- .area INITIALIZED
-;--------------------------------------------------------
-; absolute external ram data
-;--------------------------------------------------------
- .area DABS (ABS)
-
-; default segment ordering for linker
- .area HOME
- .area GSINIT
- .area GSFINAL
- .area CONST
- .area INITIALIZER
- .area CODE
-
-;--------------------------------------------------------
-; global & static initialisations
-;--------------------------------------------------------
- .area HOME
- .area GSINIT
- .area GSFINAL
- .area GSINIT
-;--------------------------------------------------------
-; Home
-;--------------------------------------------------------
- .area HOME
- .area HOME
-;--------------------------------------------------------
-; code
-;--------------------------------------------------------
- .area CODE
-; ../_divulonglong.c: 39: _divulonglong (unsigned long long x, unsigned long long y)
-; -----------------------------------------
-; function _divulonglong
-; -----------------------------------------
-__divulonglong:
- sub sp, #17
-; ../_divulonglong.c: 41: unsigned long long reste = 0L;
- clrw x
- ldw (0x10, sp), x
- ldw (0x0e, sp), x
- ldw (0x0c, sp), x
- ldw (0x0a, sp), x
-; ../_divulonglong.c: 42: unsigned char count = 64;
- ld a, #0x40
- ld (0x01, sp), a
-; ../_divulonglong.c: 45: do
-00105$:
-; ../_divulonglong.c: 48: c = MSB_SET(x);
- ld a, (0x16, sp)
- sll a
- clr a
- rlc a
-; ../_divulonglong.c: 49: x <<= 1;
- sll (0x1d, sp)
- rlc (0x1c, sp)
- rlc (0x1b, sp)
- rlc (0x1a, sp)
- rlc (0x19, sp)
- rlc (0x18, sp)
- rlc (0x17, sp)
- rlc (0x16, sp)
-; ../_divulonglong.c: 50: reste <<= 1;
- sll (0x11, sp)
- rlc (0x10, sp)
- rlc (0x0f, sp)
- rlc (0x0e, sp)
- rlc (0x0d, sp)
- rlc (0x0c, sp)
- rlc (0x0b, sp)
- rlc (0x0a, sp)
-; ../_divulonglong.c: 51: if (c)
- tnz a
- jreq 00102$
-; ../_divulonglong.c: 52: reste |= 1L;
- ld a, (0x11, sp)
- or a, #0x01
- ld (0x09, sp), a
- ld a, (0x10, sp)
- ld (0x08, sp), a
- ld a, (0x0f, sp)
- ld (0x07, sp), a
- ld a, (0x0e, sp)
- exg a, xl
- ld a, (0x0d, sp)
- exg a, xl
- rlwa x
- ld a, (0x0c, sp)
- rrwa x
- exg a, yl
- ld a, (0x0b, sp)
- exg a, yl
- rlwa y
- ld a, (0x0a, sp)
- rrwa y
- ld (0x0e, sp), a
- ldw (0x0c, sp), x
- ldw (0x0a, sp), y
- ldw y, (0x08, sp)
- ldw (0x10, sp), y
- ld a, (0x07, sp)
- ld (0x0f, sp), a
-00102$:
-; ../_divulonglong.c: 54: if (reste >= y)
- ldw x, (0x10, sp)
- cpw x, (0x24, sp)
- ld a, (0x0f, sp)
- sbc a, (0x23, sp)
- ld a, (0x0e, sp)
- sbc a, (0x22, sp)
- ld a, (0x0d, sp)
- sbc a, (0x21, sp)
- ld a, (0x0c, sp)
- sbc a, (0x20, sp)
- ld a, (0x0b, sp)
- sbc a, (0x1f, sp)
- ld a, (0x0a, sp)
- sbc a, (0x1e, sp)
- jrc 00106$
-; ../_divulonglong.c: 56: reste -= y;
- ldw x, (0x10, sp)
- subw x, (0x24, sp)
- ldw (0x08, sp), x
- ld a, (0x0f, sp)
- sbc a, (0x23, sp)
- ld (0x07, sp), a
- ld a, (0x0e, sp)
- sbc a, (0x22, sp)
- ld (0x06, sp), a
- ld a, (0x0d, sp)
- sbc a, (0x21, sp)
- ld (0x05, sp), a
- ld a, (0x0c, sp)
- sbc a, (0x20, sp)
- ld (0x04, sp), a
- ld a, (0x0b, sp)
- sbc a, (0x1f, sp)
- ld (0x03, sp), a
- ld a, (0x0a, sp)
- sbc a, (0x1e, sp)
- ld (0x02, sp), a
- ldw y, (0x08, sp)
- ldw (0x10, sp), y
- ldw y, (0x06, sp)
- ldw (0x0e, sp), y
- ldw y, (0x04, sp)
- ldw (0x0c, sp), y
- ldw y, (0x02, sp)
- ldw (0x0a, sp), y
-; ../_divulonglong.c: 58: x |= 1L;
- ld a, (0x1d, sp)
- or a, #0x01
- ld (0x09, sp), a
- ld a, (0x1c, sp)
- ld (0x08, sp), a
- ld a, (0x1b, sp)
- ld (0x07, sp), a
- ld a, (0x1a, sp)
- ld (0x06, sp), a
- ld a, (0x19, sp)
- ld (0x05, sp), a
- ld a, (0x18, sp)
- ld (0x04, sp), a
- ld a, (0x17, sp)
- ld (0x03, sp), a
- ld a, (0x16, sp)
- ld (0x02, sp), a
- ldw y, (0x08, sp)
- ldw (0x1c, sp), y
- ldw y, (0x06, sp)
- ldw (0x1a, sp), y
- ldw y, (0x04, sp)
- ldw (0x18, sp), y
- ldw y, (0x02, sp)
- ldw (0x16, sp), y
-00106$:
-; ../_divulonglong.c: 61: while (--count);
- dec (0x01, sp)
- jreq 00132$
- jp 00105$
-00132$:
-; ../_divulonglong.c: 62: return x;
- ldw x, (0x14, sp)
- ldw y, (0x1c, sp)
- ldw (#6, x), y
- ldw y, (0x1a, sp)
- ldw (#4, x), y
- ldw y, (0x18, sp)
- ldw (#2, x), y
- ldw y, (0x16, sp)
- ldw (x), y
-; ../_divulonglong.c: 63: }
- addw sp, #17
- ret
- .area CODE
- .area CONST
- .area INITIALIZER
- .area CABS (ABS)