/* * Print tabs to indent the following character by indent_level */ void indent(void) { int i; for (i = 0; i < indent_level; i++) putchar('\t'); }
indent: pushl %ebp movl %esp,%ebp pushl %ebx xorl %ebx,%ebx cmpl indent_level,%ebx jge .L18 .p2align 4,,7 .L20: pushl stdout pushl $9 call _IO_putc addl $8,%esp incl %ebx cmpl indent_level,%ebx jl .L20 .L18: movl -4(%ebp),%ebx leave ret
_indent: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, current_function_anonymous_args = 0 mov ip, sp stmfd sp!, {r4, r5, r6, r7, fp, ip, lr, pc} ldr r6, L199 ldr r3, [r6, #0] sub fp, ip, #4 mov r4, #0 cmp r4, r3 ldmgeea fp, {r4, r5, r6, r7, fp, sp, pc} mov r7, #9 ldr r5, L199+4 L9: ldr r3, [r5, #8] sub r2, r3, #1 str r2, [r5, #8] cmp r2, #0 bge L10 ldr r3, [r5, #24] cmp r2, r3 blt L11 L10: ldr r3, [r5, #0] strb r7, [r3], #1 str r3, [r5, #0] b L8 L11: mov r0, #9 mov r1, r5 bl ___swbuf L8: ldr r3, [r6, #0] add r4, r4, #1 cmp r4, r3 blt L9 ldmea fp, {r4, r5, r6, r7, fp, sp, pc} L200: .align 0 L199: .word _indent_level .word ___sF+88 Lfe3: .size _indent,Lfe3-_indent .align 0
indent__Fv: .LLFB4: !#PROLOGUE# 0 save %sp, -112, %sp .LLCFI3: !#PROLOGUE# 1 sethi %hi(indent_level), %o0 ld [%o0+%lo(indent_level)], %o1 mov 0, %l0 cmp %l0, %o1 bge .LL10 mov %o0, %l4 sethi %hi(__iob+16), %l2 or %l2, %lo(__iob+16), %l1 mov 9, %l3 ld [%l2+%lo(__iob+16)], %o0 .LL171: add %o0, -1, %o0 cmp %o0, 0 bge .LL7 st %o0, [%l2+%lo(__iob+16)] mov 9, %o0 call __flsbuf, 0 mov %l1, %o1 b .LL170 ld [%l4+%lo(indent_level)], %o0 .LL7: ld [%l1+4], %o0 stb %l3, [%o0] add %o0, 1, %o0 st %o0, [%l1+4] ld [%l4+%lo(indent_level)], %o0 .LL170: add %l0, 1, %l0 cmp %l0, %o0 bl .LL171 ld [%l2+%lo(__iob+16)], %o0 .LL10: ret restore