300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > bcs转10 c语言 ARM汇编转C语言 - ARM技术论坛-ARM嵌入式论坛-人气最火爆ARM学习论

bcs转10 c语言 ARM汇编转C语言 - ARM技术论坛-ARM嵌入式论坛-人气最火爆ARM学习论

时间:2020-12-27 17:49:21

相关推荐

bcs转10 c语言 ARM汇编转C语言 - ARM技术论坛-ARM嵌入式论坛-人气最火爆ARM学习论

本帖最后由 wglzp123456 于 -6-15 19:21 编辑

//ARM汇编代码

0894 B570 PUSH {R4-R6,LR}

0896 4938 LDR R1,D00000978;[PC,#224] R1=0x20000FA8

0898 2200 MOVS R2,#0x0

089A 2404 MOVS R4,#0x4

089C F891 5041 LDRB.W R5,[R1,#0x41]

08A0 2301 MOVS R3,#0x1

08A2 2D05 CMP R5,#5

08A4 D262 BCS Q0000096C

08A6 E8DF F005 TBB [PC,R5]

08AA DB03

DB25

08AC DB3B

DB44

DB59

DB00

//0---------------------------------------------------

08B0 F5A0 42AA SUB.W R2,R0,#0x5500

08B4 3AAA SUBS R2,#0xAA

08B6 D00F BEQ Q000008D8

08B8 3A11 SUBS R2,#0x11

08BA D11A BNE Q000008F2

08BC F891 2086 LDRB.W R2,[R1,#0x86]

08C0 2A00 CMP R2,#0

08C2 D116 BNE Q000008F2

08C4 F881 408A STRB.W R4,[R1,#0x8A]

08C8 F8A1 0066 STRH.W R0,[R1,#0x66]

08CC F881 3087 STRB.W R3,[R1,#0x87]

08D0 F8A1 0088 STRH.W R0,[R1,#0x88]

08D4 MOVS R0,#0x3

08D6 E01D B Q00000914

08D8 F891 2062 LDRB.W R2,[R1,#0x62]

08DC 2A00 CMP R2,#0

08DE D108 BNE Q000008F2

08E0 F881 408A STRB.W R4,[R1,#0x8A]

08E4 F821 0F42 STRH.W R0,[R1,#0x42]!

08E8 F881 3021 STRB.W R3,[R1,#0x21]

08EC 8448 STRH R0,[R1,#0x22]

08EE F801 3C01 STRB.W R3,[R1,#-0x1]

08F2 BD70 POP {R4-R6,PC}

//1--------------------------------------------------

08F4 F891 2063 LDRB.W R2,[R1,#0x63]

08F8 EB01 0342 ADD.W R3, R1,R2,LSL #1

08FC 1C52 ADDS R2,R2,#1

08FE F8A3 0042 STRH.W R0,[R3,#0x42]

0902 F8B1 3064 LDRH R3,[R1,#0x64]

0906 B2D2 UXTB R2,R2

0908 4418 ADD R0,R3

090A F8A1 0064 STRH.W R0,[R1,#0x64]

090E 2A0F CMP R2,#15

0910 D303 BCC Q0000091A

0912 2002 MOVS R0,#0x2

0914 F881 0041 STRB.W R0,[R1,#0x41]

0918 BD70 POP {R4-R6,PC}

091A F881 2063 STRB.W R2,[R1,#0x63]

091E BD70 POP {R4-R6,PC}

//2---------------------------------------------------

0920 F8B1 4064 LDRH R4,[R1,#0x64]

0924 4284 CMP R4,R0

0926 D121 BNE Q0000096C

0928 F8A1 0060 STRH.W R0,[R1,#0x60]

092C F881 3062 STRB.W R3,[R1,#0x62]

0930 E01C B Q0000096C

//3----------------------------------------------------

0932 F891 2087 LDRB.W R2,[R1,#0x87]

0936 EB01 0342 ADD.W R3, R1,R2,LSL #1

093A 1C52 ADDS R2,R2,#1

093C F8A3 0066 STRH.W R0,[R3,#0x66]

0940 F8B1 3088 LDRH R3,[R1,#0x88]

0944 B2D2 UXTB R2,R2

0946 4418 ADD R0,R3

0948 F8A1 0088 STRH.W R0,[R1,#0x88]

094C 2A0F CMP R2,#15

094E D302 BCC Q00000956

0950 F881 4041 STRB.W R4,[R1,#0x41]

0954 BD70 POP {R4-R6,PC}

//---------------------------------------------------

0956 F881 2087 STRB.W R2,[R1,#0x87]

095A BD70 POP {R4-R6,PC}

//4-----------------------------------------------------

095C F8B1 4088 LDRH R4,[R1,#0x88]

0960 4284 CMP R4,R0

0962 D103 BNE Q0000096C

0964 F8A1 0084 STRH.W R0,[R1,#0x84]

0968 F881 3086 STRB.W R3,[R1,#0x86]

096C F881 208A STRB.W R2,[R1,#0x8A]

0970 F881 2041 STRB.W R2,[R1,#0x41]

0974 BD70 POP {R4-R6,PC}

//-----------------------------------------------------------------

对应的C语言如下

u16 x2,x3,x4;

u8x5;

x2=0;

x4=4;

x5=uxD0FA8.u841;

x3=1;

switch(x5){

case 0:

if(u16a==0x55AA){

if(uxD0FA8.u886==0){

uxD0FA8.u88A=x4;

uxD0FA8.u1666[0]=u16a;

uxD0FA8.u887=x3;

uxD0FA8.u1688=u16a;

uxD0FA8.u841=3;

}

}else if(u16a==0x55BB){

if(uxD0FA8.u862==0){

uxD0FA8.u88A=x4;

uxD0FA8.u1642[0]=u16a;

uxD0FA8.u863=x3;

uxD0FA8.u1664=u16a;

uxD0FA8.u841=x3;

}

}

break;

case 1:

x2=uxD0FA8.u863;

uxD0FA8.u1642[x2++]=u16a;

uxD0FA8.u1664+=u16a;

if(x2>=15){

uxD0FA8.u841=2;

}else{

uxD0FA8.u863=x2;

}

break;

case 2:

if(uxD0FA8.u1664==u16a){

uxD0FA8.u1642[15]=u16a;

uxD0FA8.u862=x3;

}

uxD0FA8.u88A=x2;

uxD0FA8.u841=x2;

break;

case 3:

x2=uxD0FA8.u887;

uxD0FA8.u1666[x2++]=u16a;

uxD0FA8.u1688+=u16a;

if(x2>=15){

uxD0FA8.u841=x4;

}else{

uxD0FA8.u887=x2;

}

break;

case 4:

x4=uxD0FA8.u1688;

if(x4==u16a){

uxD0FA8.u1666[15]=u16a;

uxD0FA8.u886=x3;

}else{

uxD0FA8.u88A=x2;

uxD0FA8.u841=x2;

}

break;

default:

break;

}

bcs转10 c语言 ARM汇编转C语言 - ARM技术论坛-ARM嵌入式论坛-人气最火爆ARM学习论坛 - 21ic电子技术开发论坛...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。