Я поддаюсь искушению быть саркастичным и опубликую это:
.file 1 "hello.c"
.section .mdebug.abi32
.previous
.gnu_attribute 4, 1
.text
.align 2
.globl sum
.set nomips16
.ent sum
.type sum, @function
sum:
.frame $sp,40,$31 # vars= 16, regs= 1/0, args= 16, gp= 0
.mask 0x80000000,-4
.fmask 0x00000000,0
.set noreorder
.set nomacro
addiu $sp,$sp,-40
sw $31,36($sp)
sw $4,40($sp)
sw $5,44($sp)
lw $3,40($sp)
lw $2,44($sp)
nop
bne $3,$2,$L2
nop
lw $2,40($sp)
j $L3
nop
$L2:
lw $3,44($sp)
lw $2,40($sp)
nop
addu $2,$3,$2
srl $3,$2,31
addu $2,$3,$2
sra $2,$2,1
sw $2,16($sp)
lw $4,40($sp)
lw $5,16($sp)
jal sum
nop
sw $2,20($sp)
lw $2,16($sp)
nop
addiu $2,$2,1
move $4,$2
lw $5,44($sp)
jal sum
nop
sw $2,24($sp)
lw $3,20($sp)
lw $2,24($sp)
nop
addu $2,$3,$2
$L3:
lw $31,36($sp)
addiu $sp,$sp,40
j $31
nop
.set macro
.set reorder
.end sum
.size sum, .-sum
.rdata
.align 2
$LC0:
.ascii "%d %d\000"
.align 2
$LC1:
.ascii "The result is: %d\012\000"
.text
.align 2
.globl main
.set nomips16
.ent main
.type main, @function
main:
.frame $sp,32,$31 # vars= 8, regs= 2/0, args= 16, gp= 0
.mask 0x80010000,-4
.fmask 0x00000000,0
.set noreorder
.set nomacro
addiu $sp,$sp,-32
sw $31,28($sp)
sw $16,24($sp)
lui $2,%hi($LC0)
addiu $3,$2,%lo($LC0)
addiu $2,$sp,20
move $4,$3
addiu $3,$sp,16
move $5,$3
move $6,$2
jal scanf
nop
lui $2,%hi($LC1)
addiu $16,$2,%lo($LC1)
lw $3,16($sp)
lw $2,20($sp)
move $4,$3
move $5,$2
jal sum
nop
move $4,$16
move $5,$2
jal printf
nop
lw $31,28($sp)
lw $16,24($sp)
addiu $sp,$sp,32
j $31
nop
.set macro
.set reorder
.end main
.size main, .-main
.ident "GCC: (GNU) 4.5.2"
Это было произведено кросс-компилятором GCC, который я только что создал для цели mips-linux-elf, используя следующую командустрока:
mips-linux-elf-gcc -fomit-frame-pointer -S hello.c
Поскольку вы используете Windows, вам, вероятно, следует поискать в Google что-то вроде mips cross-compiler for windows
.
Что именно вы хотите сделать?