|
arm-linux-objdump反汇编内容是这样的
if(0x1 == rGPFDAT & 0x03) {
300011a0: e3a03456 mov r3, #1442840576 ; 0x56000000
300011a4: e2833054 add r3, r3, #84 ; 0x54
300011a8: e5933000 ldr r3, [r3]
300011ac: e3530001 cmp r3, #1 ; 0x1
300011b0: 1a000003 bne 300011c4
Uart_SendByte('1');
300011b4: e3a00031 mov r0, #49 ; 0x31
300011b8: ebffff21 bl 30000e44
Uart_SendByte('\n');
300011bc: e3a0000a mov r0, #10 ; 0xa
300011c0: ebffff1f bl 30000e44
}
if(0x1 == (rGPFDAT & 0x03)) {
300011c4: e3a03456 mov r3, #1442840576 ; 0x56000000
300011c8: e2833054 add r3, r3, #84 ; 0x54
300011cc: e5933000 ldr r3, [r3]
300011d0: e2033003 and r3, r3, #3 ; 0x3
300011d4: e3530001 cmp r3, #1 ; 0x1
300011d8: 1a000003 bne 300011ec
Uart_SendByte('2');
300011dc: e3a00032 mov r0, #50 ; 0x32
300011e0: ebffff17 bl 30000e44
Uart_SendByte('\n');
300011e4: e3a0000a mov r0, #10 ; 0xa
300011e8: ebffff15 bl 30000e44
}
if(rGPFDAT & 0x03 == 0x1) {
300011ec: e3a03456 mov r3, #1442840576 ; 0x56000000
300011f0: e2833054 add r3, r3, #84 ; 0x54
300011f4: e5933000 ldr r3, [r3]
Uart_SendByte('3'); ;这些就不被编译进去
Uart_SendByte('\n');
}
if((rGPFDAT & 0x03) == 0x1) {
300011f8: e3a03456 mov r3, #1442840576 ; 0x56000000
300011fc: e2833054 add r3, r3, #84 ; 0x54
30001200: e5933000 ldr r3, [r3]
30001204: e2033003 and r3, r3, #3 ; 0x3
30001208: e3530001 cmp r3, #1 ; 0x1
3000120c: 1a000003 bne 30001220
Uart_SendByte('4');
30001210: e3a00034 mov r0, #52 ; 0x34
30001214: ebffff0a bl 30000e44
Uart_SendByte('\n');
30001218: e3a0000a mov r0, #10 ; 0xa
3000121c: ebffff08 bl 30000e44
}
|
|