把这个汇编分成三部分
0x080014C8 48C2 LDR r0,[pc,#776] ; @0x080017D4
0x080014CA 7801 LDRB r1,[r0,#0x00]
0x080014CC 7800 LDRB r0,[r0,#0x00]
0x080014CE 1C40 ADDS r0,r0,#1
0x080014D0 4AC0 LDR r2,[pc,#768] ; @0x080017D4
0x080014D2 7010 STRB r0,[r2,#0x00]
0x080014D4 48C0 LDR r0,[pc,#768] ; @0x080017D8
0x080014D6 5C41 LDRB r1,[r0,r1]
从0X80017D4取一个8位分别放到R1和R0 , R0的那个加1再写回0X80017D4, 另一个R1加0X80017D8地址里面一个8位数据放到R1
0x080014D8 4610 MOV r0,r2
0x080014DA 7802 LDRB r2,[r0,#0x00]
0x080014DC 7800 LDRB r0,[r0,#0x00]
0x080014DE 1C40 ADDS r0,r0,#1
0x080014E0 4BBC LDR r3,[pc,#752] ; @0x080017D4
0x080014E2 7018 STRB r0,[r3,#0x00]
0x080014E4 48BC LDR r0,[pc,#752] ; @0x080017D8
0x080014E6 5C80 LDRB r0,[r0,r2]
从0X80017D4取出一个8位数据分别放到R2和R0,R0的那个8位加1再写回0X80017D4, 另一个R2加0X80017D8地址里面的8位数据放到R0
0x080014E8 EA412000 ORR r0,r1,r0,LSL #8
0x080014EC 49BB LDR r1,[pc,#748] ; @0x080017DC
0x080014EE 8308 STRH r0,[r1,#0x18]
0x080014F0 E000 B 0x080014F4
R0的8位左移8位变成16位, 原来R0的8位数据放在16位数据的高8位。 前面的R1里面的8位数据放到16位数据的低8位, 然后把这个16位数据放到0X80017DC加0X18的地址里面
|