.file "startup.S" .section .rodata .data argv0: .asciz "\"This-MIPS-program\"" argv: .word argv0 .text .section .start, "ax" .extern _init .align 2 .globl _start _start: .set noreorder # Set stack pointer la $sp, stack_ptr # Set global pointer la $gp, _gp # zero bss la $8, __bss_start la $9, _end $zeroise: sw $0, 0($8) bne $8, $9, $zeroise addiu $8, 4 # Call _init la $k0, _init jalr $k0 nop # Set environment li $a0, 1 la $a1, argv # Call main la $k0, main jalr $k0 nop # Terminate after main returns _terminate: nop la $t0, exit jalr $t0 move $a0, $v0 .set reorder