1#include "asm-m68k.h" 2 .text 3 .even 4FUNBEGIN(callback_receiver) 5 link $a6,#-32 6 moveml #0x3030,$sp@- 7 clrl $a6@(-32) 8 lea $a6@(8),$a2 9 movel $a2,$a6@(-20) 10 clrl $a6@(-16) 11 clrl $a6@(-12) 12 movel $a1,$a6@(-4) 13 pea $a6@(-32) 14 movel $a0@(4),$sp@- 15 movel $a0@,$a2 16 jsr $a2@ 17 addql #8,$sp 18 movel $a6@(-12),$a3 19 tstl $a3 20 jeq L(1) 21 moveq #1,$d2 22 cmpl $a3,$d2 23 jeq L(46) 24 moveq #2,$d3 25 cmpl $a3,$d3 26 jeq L(46) 27 moveq #3,$d2 28 cmpl $a3,$d2 29 jeq L(47) 30 moveq #4,$d3 31 cmpl $a3,$d3 32 jeq L(48) 33 moveq #5,$d2 34 cmpl $a3,$d2 35 jeq L(49) 36 moveq #6,$d3 37 cmpl $a3,$d3 38 jeq L(45) 39 moveq #7,$d2 40 cmpl $a3,$d2 41 jeq L(45) 42 moveq #8,$d3 43 cmpl $a3,$d3 44 jeq L(45) 45 moveq #9,$d2 46 cmpl $a3,$d2 47 jeq L(45) 48 lea $a3@(-10),$a2 49 moveq #1,$d3 50 cmpl $a2,$d3 51 jcs L(22) 52 movel $a6@(-28),$d0 53 movel $a6@(-24),$d1 54 jra L(1) 55 .even 56L(22): 57 moveq #12,$d2 58 cmpl $a3,$d2 59 jeq L(50) 60 moveq #13,$d2 61 cmpl $a3,$d2 62 jeq L(51) 63 moveq #14,$d3 64 cmpl $a3,$d3 65 jeq L(52) 66 moveq #15,$d2 67 cmpl $a3,$d2 68 jne L(1) 69 btst #2,$a6@(-30) 70 jeq L(1) 71 movel $a6@(-8),$d2 72 moveq #1,$d3 73 cmpl $d2,$d3 74 jeq L(53) 75 moveq #2,$d3 76 cmpl $d2,$d3 77 jeq L(54) 78 moveq #4,$d3 79 cmpl $d2,$d3 80 jeq L(55) 81 moveq #8,$d3 82 cmpl $d2,$d3 83 jne L(1) 84 movel $a6@(-16),$a2 85 movel $a2@,$d0 86 movel $a2@(4),$d1 87 jra L(1) 88 .even 89L(55): 90 movel $a6@(-16),$a2 91 movel $a2@,$d0 92 jra L(1) 93 .even 94L(54): 95 movel $a6@(-16),$a2 96 clrl $d0 97 movew $a2@,$d0 98 jra L(1) 99 .even 100L(53): 101 movel $a6@(-16),$a2 102 clrl $d0 103 moveb $a2@,$d0 104 jra L(1) 105 .even 106L(52): 107 movel $a6@(-28),$d0 108 movel $d0,$a0 109 jra L(1) 110 .even 111L(51): 112 btst #6,$a6@(-29) 113 jeq L(31) 114 fmoved $a6@(-28),$fp0 115 jra L(1) 116 .even 117L(31): 118 movel $a6@(-28),$d0 119 movel $a6@(-24),$d1 120 jra L(1) 121 .even 122L(50): 123 movel $a6@(-32),$d2 124 btst #6,$d2 125 jeq L(25) 126 fmoves $a6@(-28),$fp0 127 jra L(1) 128 .even 129L(25): 130 btst #5,$d2 131 jeq L(27) 132 fmoves $a6@(-28),$fp1 133 fmoved $fp1,$sp@- 134 movel $sp@+,$d0 135 movel $sp@+,$d1 136 jra L(1) 137 .even 138L(27): 139 movel $a6@(-28),$d0 140 jra L(1) 141 .even 142L(45): 143 movel $a6@(-28),$d0 144 jra L(1) 145 .even 146L(49): 147 clrl $d0 148 movew $a6@(-28),$d0 149 jra L(1) 150 .even 151L(48): 152 movew $a6@(-28),$d0 153 extl $d0 154 jra L(1) 155 .even 156L(47): 157 clrl $d0 158 moveb $a6@(-28),$d0 159 jra L(1) 160 .even 161L(46): 162 moveb $a6@(-28),$d0 163 extbl $d0 164L(1): 165 moveml $a6@(-48),#0xc0c 166 unlk $a6 167 rts 168 .even 169 .globl C(callback_get_receiver) 170 DECLARE_FUNCTION(callback_get_receiver) 171FUNBEGIN(callback_get_receiver) 172 link $a6,#0 173 movel $a5,$sp@- 174 movel #C(_GLOBAL_OFFSET_TABLE_), $a5 175 lea $pc@(0,$a5:l),$a5 176 movel $a5@(C(callback_receiver):l),$d0 177 movel $sp@+,$a5 178 unlk $a6 179 rts 180FUNEND(callback_get_receiver) 181#if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__ 182 .section .note.GNU-stack,"",@progbits 183#endif 184