.file "prime.p" .local I .common I,4,4 .local J .common J,4,4 .local N .common N,1999999996,4 .local Io .common Io,16712,8 .section ".rodata" .align 8 .LLC0: .asciz "List the prime numbers up to " .section ".text" .align 4 .global pascal_main_program .type pascal_main_program,#function .proc 020 pascal_main_program: !#PROLOGUE# 0 save %sp, -136, %sp !#PROLOGUE# 1 nop mov 3, %o0 st %o0, [%sp+92] sethi %hi(499999744), %o0 or %o0, 256, %o0 st %o0, [%sp+96] mov 22, %o0 st %o0, [%sp+100] sethi %hi(_p_Output), %o0 or %o0, %lo(_p_Output), %o0 mov 784, %o1 mov 3, %o2 mov 17, %o3 sethi %hi(.LLC0), %o4 or %o4, %lo(.LLC0), %o4 mov 29, %o5 call _p_Internal_Write, 0 nop sethi %hi(_p_InOutRes), %o0 or %o0, %lo(_p_InOutRes), %o0 ld [%o0], %o0 cmp %o0, 0 be .LL2 nop call _p_CheckInOutRes, 0 nop .LL2: nop sethi %hi(I), %o0 or %o0, %lo(I), %o1 mov 2, %o0 st %o0, [%o1] stb %g0, [%fp-17] .LL5: ldub [%fp-17], %o0 and %o0, 0xff, %o0 cmp %o0, 0 be .LL7 nop sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o1 sethi %hi(499999744), %o0 or %o0, 256, %o0 cmp %o1, %o0 bne .LL8 nop b .LL4 nop .LL8: sethi %hi(I), %o0 or %o0, %lo(I), %o1 sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o0 add %o0, 1, %o0 st %o0, [%o1] .LL7: mov 1, %o0 stb %o0, [%fp-17] sethi %hi(N), %o0 or %o0, %lo(N), %o1 sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o0 sll %o0, 2, %o0 add %o0, %o1, %o1 mov 1, %o0 st %o0, [%o1-8] b .LL5 nop .LL4: nop sethi %hi(I), %o0 or %o0, %lo(I), %o1 mov 2, %o0 st %o0, [%o1] stb %g0, [%fp-18] .LL10: ldub [%fp-18], %o0 and %o0, 0xff, %o0 cmp %o0, 0 be .LL12 nop sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o1 sethi %hi(499999744), %o0 or %o0, 256, %o0 cmp %o1, %o0 bne .LL13 nop b .LL1 nop .LL13: sethi %hi(I), %o0 or %o0, %lo(I), %o1 sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o0 add %o0, 1, %o0 st %o0, [%o1] .LL12: mov 1, %o0 stb %o0, [%fp-18] sethi %hi(N), %o0 or %o0, %lo(N), %o1 sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o0 sll %o0, 2, %o0 add %o0, %o1, %o0 ld [%o0-8], %o0 cmp %o0, 1 bne .LL10 nop sethi %hi(J), %o0 or %o0, %lo(J), %o1 sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o0 st %o0, [%o1] sethi %hi(J), %o0 or %o0, %lo(J), %o4 mov 22, %o0 st %o0, [%sp+92] sethi %hi(_p_Output), %o0 or %o0, %lo(_p_Output), %o0 mov 784, %o1 mov 2, %o2 mov 35, %o3 ld [%o4], %o4 mov 10, %o5 call _p_Internal_Write, 0 nop sethi %hi(_p_InOutRes), %o0 or %o0, %lo(_p_InOutRes), %o0 ld [%o0], %o0 cmp %o0, 0 be .LL15 nop call _p_CheckInOutRes, 0 nop .LL15: nop .LL17: sethi %hi(N), %o0 or %o0, %lo(N), %o1 sethi %hi(J), %o0 or %o0, %lo(J), %o0 ld [%o0], %o0 sll %o0, 2, %o0 add %o0, %o1, %o1 sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o0], %o0 st %o0, [%o1-8] sethi %hi(J), %o0 or %o0, %lo(J), %o2 sethi %hi(J), %o0 or %o0, %lo(J), %o1 sethi %hi(I), %o0 or %o0, %lo(I), %o0 ld [%o1], %o1 ld [%o0], %o0 add %o1, %o0, %o0 st %o0, [%o2] sethi %hi(J), %o0 or %o0, %lo(J), %o0 ld [%o0], %o1 sethi %hi(499999744), %o0 or %o0, 256, %o0 cmp %o1, %o0 ble .LL17 nop b .LL10 nop .LL1: nop ret restore .LLfe1: .size pascal_main_program,.LLfe1-pascal_main_program .section ".data" .type ctor_run_condition_2.0,#object .size ctor_run_condition_2.0,1 ctor_run_condition_2.0: .byte 0 .section ".rodata" .align 8 .LLC1: .asciz "io" .skip 198 .section ".text" .align 4 .global init_pascal_main_program .type init_pascal_main_program,#function .proc 020 init_pascal_main_program: !#PROLOGUE# 0 save %sp, -112, %sp !#PROLOGUE# 1 sethi %hi(ctor_run_condition_2.0), %o0 or %o0, %lo(ctor_run_condition_2.0), %o0 ldub [%o0], %o0 and %o0, 0xff, %o0 cmp %o0, 0 bne .LL21 nop sethi %hi(ctor_run_condition_2.0), %o0 or %o0, %lo(ctor_run_condition_2.0), %o1 mov 1, %o0 stb %o0, [%o1] sethi %hi(Io), %o0 or %o0, %lo(Io), %o0 sethi %hi(.LLC1), %o1 or %o1, %lo(.LLC1), %o1 mov 1, %o2 mov 129, %o3 call _p_InitFDR, 0 nop call _p_DoInitProc, 0 nop .LL21: nop ret restore .LLfe2: .size init_pascal_main_program,.LLfe2-init_pascal_main_program .align 4 .global main .type main,#function .proc 04 main: !#PROLOGUE# 0 save %sp, -112, %sp !#PROLOGUE# 1 st %i0, [%fp+68] st %i1, [%fp+72] st %i2, [%fp+76] sethi %hi(__GPC_RTS_VERSION_20030507__), %o0 or %o0, %lo(__GPC_RTS_VERSION_20030507__), %o0 ld [%o0], %o0 ld [%fp+68], %o0 ld [%fp+72], %o1 ld [%fp+76], %o2 call _p_initialize, 0 nop call init_pascal_main_program, 0 nop call pascal_main_program, 0 nop call _p_finalize, 0 nop mov 0, %o0 mov %o0, %i0 nop ret restore .LLfe3: .size main,.LLfe3-main .ident "GCC: (GNU) 3.2.1"