.define .inn .sect .text .sect .rom .sect .data .sect .bss ! d0 : set size in bytes ! d1 : bitnumber .sect .text .inn: move.l (sp)+,d2 ! return address move.w (sp)+,d1 move.l sp,a1 add d0,a1 move.l sp,a0 move.l d2,-(sp) move d1,d2 asr #3,d2 bchg #0,d2 cmp d0,d2 bcc 1f add d2,a0 btst d1,(a0) beq 1f move.l #1,d0 bra 2f 1: clr d0 2: move.l (sp)+,a0 move.l a1,sp jmp (a0)