📄 12-huge.s
字号:
mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg40), %g1 or %g1, %lo(.CalloutArg40), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 32, %g3 sub %sp, %g3, %sp ! Move instruction for the int literal: 2 mov 2, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 sub %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+100] ! Move instruction for the int literal: 6 mov 6, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 add %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+104] mov 0, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+108] ! Load instruction for the location identifier: x ld [%fp-4], %l0 ! Move instruction for the int literal: -3 mov -3, %l1 smul %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+112] ! Move instruction for the int literal: 1 mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+116] ! Move instruction for the int literal: 3 mov 3, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 ! Move instruction for the int literal: 2 mov 2, %l2 smul %l1, %l2, %l3 sub %l0, %l3, %l1 ! Preparing parameter -> %sp + offset: st %l1, [%sp+120] mov 0, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+92] ! Move instruction for the int literal: 5 mov 5, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 sub %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+96] ! Preparing parameter -> Ro: ld [%sp+100], %o0 ! Preparing parameter -> Ro: ld [%sp+104], %o1 ! Preparing parameter -> Ro: ld [%sp+108], %o2 ! Preparing parameter -> Ro: ld [%sp+112], %o3 ! Preparing parameter -> Ro: ld [%sp+116], %o4 ! Preparing parameter -> Ro: ld [%sp+120], %o5 call gurp,0 nop mov %o0, %l0 mov 32, %g3 add %sp, %g3, %sp !Location id store instruction for stmt location: a = expression st %l0, [%fp-16] mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg41), %g1 or %g1, %lo(.CalloutArg41), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 32, %g3 sub %sp, %g3, %sp ! Move instruction for the int literal: -3 mov -3, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+100] ! Move instruction for the int literal: 8 mov 8, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+104] mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+108] ! Move instruction for the int literal: 7 mov 7, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 sub %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+112] ! Load instruction for the location identifier: x ld [%fp-4], %l0 ! Move instruction for the int literal: 4 mov 4, %l1 sub %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+116] ! Move instruction for the int literal: 2 mov 2, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+120] mov 0, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+92] ! Move instruction for the int literal: 6 mov 6, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 ! Move instruction for the int literal: 9 mov 9, %l2 smul %l1, %l2, %l3 sub %l0, %l3, %l1 ! Preparing parameter -> %sp + offset: st %l1, [%sp+96] ! Preparing parameter -> Ro: ld [%sp+100], %o0 ! Preparing parameter -> Ro: ld [%sp+104], %o1 ! Preparing parameter -> Ro: ld [%sp+108], %o2 ! Preparing parameter -> Ro: ld [%sp+112], %o3 ! Preparing parameter -> Ro: ld [%sp+116], %o4 ! Preparing parameter -> Ro: ld [%sp+120], %o5 call gurp,0 nop mov %o0, %l0 mov 32, %g3 add %sp, %g3, %sp !Location id store instruction for stmt location: b = expression st %l0, [%fp-20] mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg42), %g1 or %g1, %lo(.CalloutArg42), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg43), %g1 or %g1, %lo(.CalloutArg43), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg44), %g1 or %g1, %lo(.CalloutArg44), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Load instruction for the location identifier: y ld [%fp-8], %l0 ! Preparing parameter -> sp%+offset: st %l0, [%sp+96] ! Preparing parameter -> Ro: ld [%sp+92], %o0 ! Preparing parameter -> Ro: ld [%sp+96], %o1 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg45), %g1 or %g1, %lo(.CalloutArg45), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg46), %g1 or %g1, %lo(.CalloutArg46), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Load instruction for the location identifier: z ld [%fp-12], %l0 ! Preparing parameter -> sp%+offset: st %l0, [%sp+96] ! Preparing parameter -> Ro: ld [%sp+92], %o0 ! Preparing parameter -> Ro: ld [%sp+96], %o1 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg47), %g1 or %g1, %lo(.CalloutArg47), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg48), %g1 or %g1, %lo(.CalloutArg48), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Load instruction for the location identifier: a ld [%fp-16], %l0 ! Preparing parameter -> sp%+offset: st %l0, [%sp+96] ! Preparing parameter -> Ro: ld [%sp+92], %o0 ! Preparing parameter -> Ro: ld [%sp+96], %o1 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg49), %g1 or %g1, %lo(.CalloutArg49), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg50), %g1 or %g1, %lo(.CalloutArg50), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Load instruction for the location identifier: b ld [%fp-20], %l0 ! Preparing parameter -> sp%+offset: st %l0, [%sp+96] ! Preparing parameter -> Ro: ld [%sp+92], %o0 ! Preparing parameter -> Ro: ld [%sp+96], %o1 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg51), %g1 or %g1, %lo(.CalloutArg51), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Preparing parameter -> Ro: ld [%sp+92], %o0 call printf,0 nop mov %o0, %l0 mov 8, %g3 add %sp, %g3, %sp ! Load instruction for the location identifier: x ld [%fp-4], %l0 ! Move instruction for the int literal: 1 mov 1, %l1 add %l0, %l1, %l2 !Location id store instruction for stmt location: x = expression st %l2, [%fp-4] b .WhileCondition33 nop.End33: !Return statement for method: ret restore !Datasection.CalloutArg1: .asciz "top of gurp\n" .align 8.CalloutArg2: .asciz "done j\n" .align 8.CalloutArg3: .asciz "done i\n" .align 8.CalloutArg4: .asciz "done j\n" .align 8.CalloutArg5: .asciz "done k\n" .align 8.CalloutArg6: .asciz "done k\n" .align 8.CalloutArg7: .asciz "done m\n%d %d\n" .align 8.CalloutArg8: .asciz "after n\n" .align 8.CalloutArg15: .asciz "after first if\n" .align 8.CalloutArg17: .asciz "after second if\n" .align 8.CalloutArg20: .asciz "after third if\n" .align 8.CalloutArg21: .asciz "%d" .align 8.CalloutArg22: .asciz " " .align 8.CalloutArg23: .asciz "%d" .align 8.CalloutArg24: .asciz " " .align 8.CalloutArg25: .asciz "%d" .align 8.CalloutArg26: .asciz " " .align 8.CalloutArg28: .asciz "%d" .align 8.CalloutArg30: .asciz "%d" .align 8.CalloutArg31: .asciz "%d" .align 8.CalloutArg32: .asciz "after fourth if\n" .align 8.MDNAME_gurp: .asciz "'gurp( )'" .align 8.MDNAME_gurp_LINE_NO: .asciz "112" .align 8.CalloutArg35: .asciz "Top of loop\n" .align 8.CalloutArg36: .asciz "done z gurp\n" .align 8.CalloutArg37: .asciz "%d" .align 8.CalloutArg38: .asciz "\n" .align 8.CalloutArg39: .asciz "done 0z gurp\n" .align 8.CalloutArg40: .asciz "done y gurp\n" .align 8.CalloutArg41: .asciz "done a gurp\n" .align 8.CalloutArg42: .asciz "done b gurp\n" .align 8.CalloutArg43: .asciz "After gurps\n" .align 8.CalloutArg44: .asciz "%d" .align 8.CalloutArg45: .asciz " " .align 8.CalloutArg46: .asciz "%d" .align 8.CalloutArg47: .asciz " " .align 8.CalloutArg48: .asciz "%d" .align 8.CalloutArg49: .asciz " " .align 8.CalloutArg50: .asciz "%d" .align 8.CalloutArg51: .asciz "\n" .align 8.MDNAME_main: .asciz "'main( )'" .align 8.MDNAME_main_LINE_NO: .asciz "142" .align 8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -