.set noat .set noreorder .set nomacro .globl level .globl level .section .sbss,"aw" .type level, @object .size level, 8 .align 3 level: .zero 8 .text .align 2 .align 4 .globl main .ent main main: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!1 lda $29,0($29) !gpdisp!1 $main..ng: lda $30,-16($30) ldq $27,foo($29) !literal!4 stq $26,0($30) .prologue 1 jsr $26,($27),foo !lituse_jsr!4 ldah $29,0($26) !gpdisp!5 lda $0,42($0) lda $29,0($29) !gpdisp!5 bne $0,$L2 mov $31,$16 ldq $27,exit($29) !literal!3 jsr $26,($27),exit !lituse_jsr!3 $L2: ldq $27,abort($29) !literal!2 jsr $26,($27),abort !lituse_jsr!2 .end main .align 2 .align 4 .globl foo .ent foo foo: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!6 lda $29,0($29) !gpdisp!6 $foo..ng: lda $30,-16($30) ldah $1,level($29) !gprelhigh ldq $27,bar($29) !literal!7 stq $9,8($30) ldq $9,level($1) !gprellow stq $26,0($30) .prologue 1 lda $9,1($9) stq $9,level($1) !gprellow jsr $26,($27),bar !lituse_jsr!7 ldah $29,0($26) !gpdisp!8 addq $0,$9,$0 ldq $26,0($30) lda $29,0($29) !gpdisp!8 ldq $9,8($30) lda $30,16($30) ret $31,($26),1 .end foo .align 2 .align 4 .globl bar .ent bar bar: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!9 lda $29,0($29) !gpdisp!9 $bar..ng: lda $30,-16($30) ldah $1,level($29) !gprelhigh stq $9,8($30) ldq $9,level($1) !gprellow lda $1,-42($31) stq $26,0($30) .prologue 1 lda $2,-499($9) cpys $f31,$f31,$f31 subq $1,$9,$0 ble $2,$L7 $L6: ldq $26,0($30) ldq $9,8($30) lda $30,16($30) ret $31,($26),1 .align 4 $L7: bis $31,$31,$31 bsr $26,$foo..ng subq $0,$9,$0 br $31,$L6 .end bar .ident "GCC: (GNU) 3.3.2"