📄 12-huge.s
字号:
ld [%fp-32], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: u ld [%fp-52], %l0 sub %l1, %l0, %l2 ! Preparing parameter -> sp%+offset: st %l2, [%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.End29:.End27: mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg32), %g1 or %g1, %lo(.CalloutArg32), %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 parameter identifier: no need to load a ! Loading parameter <- Ri: ! Load instruction for the parameter identifier: no need to load b ! Loading parameter <- Ri: sub %i0, %i1, %l0 ! Load instruction for the parameter identifier: no need to load d ! Loading parameter <- Ri: add %l0, %i3, %l1 ! Load instruction for the parameter identifier: no need to load e ! Loading parameter <- Ri: add %l1, %i4, %l0 ! Load instruction for the parameter identifier: no need to load f ! Loading parameter <- Ri: add %l0, %i5, %l1 ! Load instruction for the parameter identifier: no need to load h ! Loading parameter <- fp%+offset: ld [%fp+96], %l0 add %l1, %l0, %l2 ! Load instruction for the location identifier: i ld [%fp-4], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: j ld [%fp-8], %l0 add %l1, %l0, %l2 ! Load instruction for the location identifier: k ld [%fp-12], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: l ld [%fp-16], %l0 add %l1, %l0, %l2 ! Load instruction for the location identifier: m ld [%fp-20], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: n ld [%fp-24], %l0 sub %l1, %l0, %l2 ! Load instruction for the location identifier: o ld [%fp-28], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: p ld [%fp-32], %l0 sub %l1, %l0, %l2 ! Load instruction for the location identifier: q ld [%fp-36], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: r ld [%fp-40], %l0 sub %l1, %l0, %l2 ! Load instruction for the location identifier: s ld [%fp-44], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: t ld [%fp-48], %l0 sub %l1, %l0, %l2 ! Load instruction for the location identifier: u ld [%fp-52], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: v ld [%fp-56], %l0 sub %l1, %l0, %l2 ! Load instruction for the location identifier: w ld [%fp-60], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: x ld [%fp-64], %l0 sub %l1, %l0, %l2 ! Load instruction for the location identifier: y ld [%fp-68], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: z ld [%fp-72], %l0 sub %l1, %l0, %l2 ! Load instruction for the location identifier: a1 ld [%fp-76], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: a2 ld [%fp-80], %l0 add %l1, %l0, %l2 ! Load instruction for the location identifier: a3 ld [%fp-84], %l0 add %l2, %l0, %l1 ! Load instruction for the location identifier: a4 ld [%fp-88], %l0 sub %l1, %l0, %l2 mov %l2, %i0 !Return statement for method: ret restore !Run time error: Control falling off detected and reported here: sethi %hi(.CONTROL_FALLING_OFF), %o0 or %o0, %lo(.CONTROL_FALLING_OFF), %o0 sethi %hi(.MDNAME_gurp_LINE_NO), %o1 or %o1, %lo(.MDNAME_gurp_LINE_NO), %o1 sethi %hi(.MDNAME_gurp), %o2 or %o2, %lo(.MDNAME_gurp), %o2 call printf,0 nop call exit,0 nop .globl mainmain: sethi %hi(.GLOBALFIELD), %g2 or %g2, %lo(.GLOBALFIELD), %g2 save %sp, -120, %sp st %g0, [%fp-4] st %g0, [%fp-8] st %g0, [%fp-12] st %g0, [%fp-16] st %g0, [%fp-20] st %g0, [%fp-24] st %g0, [%fp-28] st %g0, [%fp-32] st %g0, [%fp-36] st %g0, [%fp-40] st %g0, [%fp-44] st %g0, [%fp-48] st %g0, [%fp-52] st %g0, [%fp-56] st %g0, [%fp-60] st %g0, [%fp-64] st %g0, [%fp-68] st %g0, [%fp-72] st %g0, [%fp-76] st %g0, [%fp-80] st %g0, [%fp-84] st %g0, [%fp-88] st %g0, [%fp-92] st %g0, [%fp-96] st %g0, [%fp-100] st %g0, [%fp-104] st %g0, [%fp-108] st %g0, [%fp-112] st %g0, [%fp-116] st %g0, [%fp-120] ! Move instruction for the int literal: 3 mov 3, %l0 !Location id store instruction for stmt location: x = expression st %l0, [%fp-4].WhileCondition33: ! Load instruction for the location identifier: x ld [%fp-4], %l0 ! Move instruction for the int literal: 2 mov 2, %l1 smul %l0, %l1, %l2 ! Move instruction for the int literal: 9 mov 9, %l0 cmp %l2, %l0 bl .True34 nop mov 0, %l1 b .End34 nop.True34: mov 1, %l1.End34: cmp %g0, %l1 be .End33 nop mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg35), %g1 or %g1, %lo(.CalloutArg35), %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: 1 mov 1, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 add %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+100] ! Load instruction for the location identifier: x ld [%fp-4], %l0 ! ExpUminus encountered: subtract 0 from the expression value: sub %g0, %l0, %l1 ! Preparing parameter -> %sp + offset: st %l1, [%sp+104] mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+108] ! Move instruction for the int literal: 3 mov 3, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+112] ! Move instruction for the int literal: 2 mov 2, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 add %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+116] ! Move instruction for the int literal: 1 mov 1, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 sub %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+120] mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+92] ! Move instruction for the int literal: 4 mov 4, %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: z = expression st %l0, [%fp-12] mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg36), %g1 or %g1, %lo(.CalloutArg36), %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(.CalloutArg37), %g1 or %g1, %lo(.CalloutArg37), %g1 ! Preparing parameter -> sp% + offset: st %g1, [%sp+92] ! Load instruction for the location identifier: x ld [%fp-4], %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(.CalloutArg38), %g1 or %g1, %lo(.CalloutArg38), %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: 1 mov 1, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 add %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+100] ! Load instruction for the location identifier: x ld [%fp-4], %l0 ! ExpUminus encountered: subtract 0 from the expression value: sub %g0, %l0, %l1 ! Preparing parameter -> %sp + offset: st %l1, [%sp+104] mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+108] ! Move instruction for the int literal: 3 mov 3, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+112] ! Move instruction for the int literal: 2 mov 2, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 add %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+116] ! 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 ! Preparing parameter -> %sp + offset: st %l2, [%sp+120] mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+92] ! Move instruction for the int literal: 0 mov 0, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%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: z = expression st %l0, [%fp-12] mov 8, %g3 sub %sp, %g3, %sp sethi %hi(.CalloutArg39), %g1 or %g1, %lo(.CalloutArg39), %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 ! 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: -8 mov -8, %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] ! Move instruction for the int literal: 12 mov 12, %l0 ! Move instruction for the int literal: 3 mov 3, %l1 ! Load instruction for the location identifier: x ld [%fp-4], %l2 smul %l1, %l2, %l3 sub %l0, %l3, %l1 ! Preparing parameter -> %sp + offset: st %l1, [%sp+112] ! Move instruction for the int literal: 16 mov 16, %l0 ! Load instruction for the location identifier: x ld [%fp-4], %l1 add %l0, %l1, %l2 ! Preparing parameter -> %sp + offset: st %l2, [%sp+116] ! Move instruction for the int literal: 1 mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+120] mov 1, %l0 ! Preparing parameter -> %sp + offset: st %l0, [%sp+92] ! Move instruction for the int literal: 8 mov 8, %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: y = expression st %l0, [%fp-8]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -