MSP430的*.TXT反编译成*.ASM又用手工反编译成*.C
我把MSP430的*.TXT反编译成*.ASM又用手工反编译成*.C已经完成98%只这几句如何用C编这是源程序
0016F0 425E 0018 MOV.B &P3IN,R14
0016F4 F07E 0010 AND.B #0X10,R14
0016F8 9382 021C TST.W &J10
0016FC 2808 JNC 0X170E
0016FE 2004 JNE 0X1708
001700 90B2 03E8 021A CMP.W #0X3E8,&JD020A
001706 2803 JNC 0X170E
001708 43D2 0227 MOV.B #0X1,&0X227
00170C 4130 RET
00170E 934E TST.B R14
001710 27EF JEQ 0X16F0
以下是我写的C
jd024A = 1;
do{
j14 = P3IN;
j14 &= 0x10;
if(jd021C > 0)
if(jd021C == 0 )
{
if(jd021A > 999)
{
jd0227 = 1;
asm("RET");
}
}
else {jd0227 = 1;asm("RET");}
}while(j14 ==0);
以下是我编译
00E65A 425E 0018 mov.b &P3IN,R14
00E65E 4E4E mov.b R14,R14
00E660 F03E 0010 and.w #0x10,R14
00E664 9382 021C tst.w &jd021C
00E668 240E jeq 0xE686
00E66A 9382 021C tst.w &jd021C
00E66E 2008 jne 0xE680
00E670 90B2 03E8 021A cmp.w #0x3E8,&jd021A
00E676 2807 jnc 0xE686
00E678 43D2 0227 mov.b #0x1,&jd0227
00E67C 4130 ret
00E67E 3C03 jmp 0xE686
00E680 43D2 0227 mov.b #0x1,&jd0227
00E684 4130 ret
00E686 930E tst.w R14
00E688 27E8 jeq 0xE65A asm("RET");
----------------------------
我彻底无语 牛人c语言中写asm("RET");
第一次见 把苹果变屎,有编译器帮助下,很容易。但,想从屎变出苹果来,没这本事。 0016F8 9382 021C TST.W &J10
0016FC 2808 JNC 0X170E
0016FE 2004 JNE 0X1708
我指的这几句如何用C编请高手指教
回复【3楼】cock
-----------------------------------------------------------------------
页:
[1]