|
楼主 |
发表于 2011-10-10 21:34:54
|
显示全部楼层
回复 3# jm2000
你好:
我上面贴出来的是gcc mips 交叉编译工具链把c语言反汇编出来的汇编代码。
454 4007f0: 8fbf0018 lw ra,24(sp)
455 4007f4: 03200008 jr t9
456 4007f8: 27bd0020 addiu sp,sp,32
457 4007fc: 8fbf0018 lw ra,24(sp)
458 400800: 00000000 nop
459 400804: 03e00008 jr ra
460 400808: 27bd0020 addiu sp,sp,32
461 40080c: 00000000 nop
462
463 00400810 <main>:
464 400810: 3c1c0005 lui gp,0x5
465 400814: 279c8cd0 addiu gp,gp,-29488
466 400818: 0399e021 addu gp,gp,t9
467 40081c: 27bdff50 addiu sp,sp,-176
468 400820: afbf00a4 sw ra,164(sp)
469 400824: afbe00a0 sw s8,160(sp)
470 400828: e7b400a8 swc1 $f20,168(sp)
471 40082c: e7b500ac swc1 $f21,172(sp)
472 400830: 03a0f021 move s8,sp
473 400834: afbc0010 sw gp,16(sp)
474 400838: 24020005 li v0,5
我们现在用的gcc mips交叉编译工具是r3000的。现在的主要问题用这个编译器的时候,通用寄存器中的一部分寄存器是需要初始化的(gp,sp,t9)。我们没能找到初始化的数据是什么。 mips代码一般是从start开始的吗??
我qq是286194066。能不能加下我qq。我想qq向你请教下关于编译器的问题。谢谢 |
|