1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 3.9.3 #11345 (Linux) 4 ;-------------------------------------------------------- 5 .module _fseq 6 .optsdcc -mstm8 7 8 ;-------------------------------------------------------- 9 ; Public variables in this module 10 ;-------------------------------------------------------- 11 .globl ___fseq 12 ;-------------------------------------------------------- 13 ; ram data 14 ;-------------------------------------------------------- 15 .area DATA 16 ;-------------------------------------------------------- 17 ; ram data 18 ;-------------------------------------------------------- 19 .area INITIALIZED 20 ;-------------------------------------------------------- 21 ; absolute external ram data 22 ;-------------------------------------------------------- 23 .area DABS (ABS) 24 25 ; default segment ordering for linker 26 .area HOME 27 .area GSINIT 28 .area GSFINAL 29 .area CONST 30 .area INITIALIZER 31 .area CODE 32 33 ;-------------------------------------------------------- 34 ; global & static initialisations 35 ;-------------------------------------------------------- 36 .area HOME 37 .area GSINIT 38 .area GSFINAL 39 .area GSINIT 40 ;-------------------------------------------------------- 41 ; Home 42 ;-------------------------------------------------------- 43 .area HOME 44 .area HOME 45 ;-------------------------------------------------------- 46 ; code 47 ;-------------------------------------------------------- 48 .area CODE 49 ; ../_fseq.c: 83: __fseq (float a1, float a2) 50 ; ----------------------------------------- 51 ; function __fseq 52 ; ----------------------------------------- 000000 53 ___fseq: 000000 52 10 [ 2] 54 sub sp, #16 55 ; ../_fseq.c: 87: fl1.f = a1; 000002 16 16 [ 2] 56 ldw y, (0x16, sp) 000004 17 03 [ 2] 57 ldw (0x03, sp), y 000006 16 14 [ 2] 58 ldw y, (0x14, sp) 000008 17 01 [ 2] 59 ldw (0x01, sp), y 60 ; ../_fseq.c: 88: fl2.f = a2; 00000A 16 1A [ 2] 61 ldw y, (0x1a, sp) 00000C 17 07 [ 2] 62 ldw (0x07, sp), y 00000E 16 18 [ 2] 63 ldw y, (0x18, sp) 000010 17 05 [ 2] 64 ldw (0x05, sp), y 65 ; ../_fseq.c: 90: if (fl1.l == fl2.l) 000012 16 03 [ 2] 66 ldw y, (0x03, sp) 000014 17 0B [ 2] 67 ldw (0x0b, sp), y 000016 16 01 [ 2] 68 ldw y, (0x01, sp) 000018 17 09 [ 2] 69 ldw (0x09, sp), y 00001A 16 07 [ 2] 70 ldw y, (0x07, sp) 00001C 17 0F [ 2] 71 ldw (0x0f, sp), y 00001E 16 05 [ 2] 72 ldw y, (0x05, sp) 000020 1E 0B [ 2] 73 ldw x, (0x0b, sp) 000022 13 0F [ 2] 74 cpw x, (0x0f, sp) 000024 26 09 [ 1] 75 jrne 00102$ 000026 93 [ 1] 76 ldw x, y 000027 13 09 [ 2] 77 cpw x, (0x09, sp) 000029 26 04 [ 1] 78 jrne 00102$ 79 ; ../_fseq.c: 91: return (1); 00002B A6 01 [ 1] 80 ld a, #0x01 00002D 20 2A [ 2] 81 jra 00105$ 00002F 82 00102$: 83 ; ../_fseq.c: 92: if (((fl1.l | fl2.l) & 0x7FFFFFFF) == 0) 00002F 16 03 [ 2] 84 ldw y, (0x03, sp) 000031 17 0F [ 2] 85 ldw (0x0f, sp), y 000033 16 01 [ 2] 86 ldw y, (0x01, sp) 000035 17 0D [ 2] 87 ldw (0x0d, sp), y 000037 1E 07 [ 2] 88 ldw x, (0x07, sp) 000039 16 05 [ 2] 89 ldw y, (0x05, sp) 00003B 9F [ 1] 90 ld a, xl 00003C 1A 10 [ 1] 91 or a, (0x10, sp) 00003E 02 [ 1] 92 rlwa x 00003F 1A 0F [ 1] 93 or a, (0x0f, sp) 000041 95 [ 1] 94 ld xh, a 000042 90 9F [ 1] 95 ld a, yl 000044 1A 0E [ 1] 96 or a, (0x0e, sp) 000046 90 02 [ 1] 97 rlwa y 000048 1A 0D [ 1] 98 or a, (0x0d, sp) 00004A A4 7F [ 1] 99 and a, #0x7f 00004C 90 95 [ 1] 100 ld yh, a 00004E 5D [ 2] 101 tnzw x 00004F 26 07 [ 1] 102 jrne 00104$ 000051 90 5D [ 2] 103 tnzw y 000053 26 03 [ 1] 104 jrne 00104$ 105 ; ../_fseq.c: 93: return (1); 000055 A6 01 [ 1] 106 ld a, #0x01 107 ; ../_fseq.c: 94: return (0); 000057 21 108 .byte 0x21 000058 109 00104$: 000058 4F [ 1] 110 clr a 000059 111 00105$: 112 ; ../_fseq.c: 95: } 000059 5B 10 [ 2] 113 addw sp, #16 00005B 87 [ 5] 114 retf 115 .area CODE 116 .area CONST 117 .area INITIALIZER 118 .area CABS (ABS)