.set noat .set noreorder .set nomacro .text .align 2 .align 4 .globl cksum .ent cksum $cksum..ng: cksum: .frame $30,0,$26,0 .prologue 0 and $17,3,$2 cmpeq $2,1,$1 mov $31,$0 bne $1,$L9 beq $2,$L6 cmpeq $2,2,$1 bne $1,$L8 cmpeq $2,3,$1 bne $1,$L7 ret $31,($26),1 .align 4 $L7: lda $17,-1($17) ldq_u $1,0($16) extbl $1,$16,$1 lda $16,1($16) insbl $1,2,$1 xor $1,$0,$0 $L8: lda $17,-1($17) ldq_u $1,0($16) extbl $1,$16,$1 lda $16,1($16) sll $1,8,$1 xor $0,$1,$1 addl $31,$1,$0 bis $31,$31,$31 $L9: lda $17,-1($17) ldq_u $1,0($16) extbl $1,$16,$1 lda $16,1($16) xor $0,$1,$1 cpys $f31,$f31,$f31 addl $31,$1,$0 bne $17,$L6 ret $31,($26),1 .align 4 $L6: lda $17,-1($17) ldq_u $1,0($16) extbl $1,$16,$1 lda $16,1($16) sll $1,24,$1 xor $0,$1,$1 addl $31,$1,$0 br $31,$L7 .end cksum .globl testpat .section .rodata .type testpat, @object .size testpat, 46 testpat: .ascii "The quick brown fox jumped over the lazy dog.\0" .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) ldah $16,testpat($29) !gprelhigh lda $16,testpat($16) !gprellow stq $26,0($30) .prologue 1 lda $17,46($31) bsr $26,$cksum..ng ldah $1,14128($31) lda $1,10300($1) cmpeq $0,$1,$0 bne $0,$L14 ldq $27,abort($29) !literal!3 jsr $26,($27),abort !lituse_jsr!3 $L14: mov $31,$16 ldq $27,exit($29) !literal!2 jsr $26,($27),exit !lituse_jsr!2 .end main .ident "GCC: (GNU) 3.3.2"