#include <stdio.h>
int sum (int L, int U) {
if (L == U) return L;
else {
int lower, upper;
int mid = (U+L)/2;
lower = sum (L, mid);
upper = sum(mid+1, U);
return (lower+upper);
}
}
int main(){
int x,y;
scanf("%d %d",&x,&y);
printf("The result is: %d\n",sum(x,y));
}
-1
A
回答
2
我會屈服於諷刺的誘惑和發佈此:
.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的小精靈製作目標,使用以下命令行:
mips-linux-elf-gcc -fomit-frame-pointer -S hello.c
由於您使用的是Windows,你應該谷歌搜索類似mips cross-compiler for windows
。
你究竟想做什麼?
相關問題
- 1. 編譯C代碼到MIPS彙編
- 2. 將C代碼轉換爲MIPS彙編
- 3. 理解MIPS彙編代碼
- 4. 轉換C代碼,以MIPS(彙編源代碼)
- 5. 如何反彙編原始MIPS代碼?
- 6. C++彙編代碼
- 7. C至MIPS彙編語言
- 8. 將C代碼轉換爲MIPS彙編語言與數組
- 9. 需要將VC++ 6.0下的c代碼轉換爲MIPS彙編
- 10. 彙編&C - 翻譯C'S代碼彙編
- 11. 寫彙編代碼的C++
- 12. 從c反彙編代碼#
- 13. C++代碼中的彙編代碼
- 14. 從C#代碼生成彙編代碼?
- 15. 彙編代碼到C代碼
- 16. MIPS彙編語言
- 17. 優化MIPS彙編
- 18. 學習MIPS彙編
- 19. MIPS彙編特點
- 20. MIPS彙編語言
- 21. mips彙編問題
- 22. 將C翻譯成MIPS彙編
- 23. 轉換一個C函數MIPS彙編
- 24. Mips彙編語言轉換C條件
- 25. 將C++轉換爲MIPS彙編
- 26. 彙編代碼
- 27. 反彙編C代替操作代碼
- 28. MIPS Linux的彙編代碼,瞭解有關負載字節
- 29. 翻譯MIPS彙編爲機器代碼:BNE
- 30. 添加位x32 mips彙編
什麼問題? – 2011-03-22 12:12:30
我認爲他希望我們手動將它編譯成MIPS。 :P – 2011-03-22 12:13:30
使用C編譯器,這是他們設計的目的。 – Lindydancer 2011-03-22 12:14:15