.file "xorn.c" .text .align 2 .globl xorn .type xorn, @function xorn: link.w %a6,#0 move.l 12(%a6),%d0 not.l %d0 move.l 8(%a6),%d1 eor.l %d1,%d0 unlk %a6 rts .size xorn, .-xorn .align 2 .globl not .type not, @function not: link.w %a6,#0 move.l 8(%a6),%d0 not.l %d0 unlk %a6 rts .size not, .-not .align 2 .globl xor .type xor, @function xor: link.w %a6,#0 move.l 8(%a6),%d0 move.l 12(%a6),%d1 eor.l %d1,%d0 unlk %a6 rts .size xor, .-xor .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "%d op %d = %d = %d?\n" .text .align 2 .globl main .type main, @function main: link.w %a6,#0 movm.l #0x303c,-(%sp) clr.l %d3 lea xorn,%a5 lea not,%a4 lea xor,%a3 lea printf,%a2 .align 2 .L14: clr.l %d2 .L13: move.l %d2,-(%sp) move.l %d3,-(%sp) jbsr (%a5) addq.l #8,%sp moveq.l #1,%d1 and.l %d0,%d1 move.l %d1,-(%sp) move.l %d2,-(%sp) jbsr (%a4) move.l %d0,(%sp) move.l %d3,-(%sp) jbsr (%a3) addq.l #8,%sp moveq.l #1,%d1 and.l %d0,%d1 move.l %d1,-(%sp) move.l %d2,-(%sp) move.l %d3,-(%sp) pea .LC0 jbsr (%a2) lea (20,%sp),%sp addq.l #1,%d2 moveq.l #1,%d0 cmp.l %d2,%d0 jbge .L13 addq.l #1,%d3 cmp.l %d3,%d0 jbge .L14 movm.l -24(%a6),#0x3c0c unlk %a6 rts .size main, .-main .ident "GCC: (GNU) 3.3.2"