sample.s
来自「用Java实现的编译器。把源代码编译成SPARC汇编程序」· S 代码 · 共 81 行
S
81 行
! SPARC assembly: ! Automatically generated by ASM.SPARCGenerator .file "any_file_name".section ".rodata" .align 8.Scanf_label: .asciz "%d" .align 8.Printf_label1: .asciz "fib_rec(%d) = %d\n" .align 8.Printf_label2: .asciz "fib_loop(%d) = %d\n".section ".text" .align 4 .global main .globl mainmain: save %sp, -120, %sp add %fp, -20, %o1 sethi %hi(.Scanf_label), %o2 or %o2, %lo(.Scanf_label), %o0 call scanf,0 nop ld [%fp-20], %o0 call fib_rec,0 nop mov %o0, %o2 sethi %hi(.Printf_label1), %o1 or %o1, %lo(.Printf_label1), %o0 ld [%fp-20], %o1 call printf,0 nop ret restorefib_rec: save %sp, -112, %sp st %i0, [%fp+68] ld [%fp+68], %o0 cmp %o0, 1 bne .LL4 nop mov 1, %i0 b .LL3 nop b .LL5 nop.LL4: ld [%fp+68], %o0 cmp %o0, 0 bne .LL6 nop mov 0, %i0 b .LL3 nop b .LL5 nop.LL6: ld [%fp+68], %o0 add %o0, -1, %o1 mov %o1, %o0 call fib_rec,0 nop mov %o0, %l0 ld [%fp+68], %o0 add %o0, -2, %o1 mov %o1, %o0 call fib_rec,0 nop mov %o0, %o1 add %l0, %o1, %o0 mov %o0, %i0 b .LL3 nop.LL7:.LL5:.LL3: ret restore
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?