以下是GCC的编译的汇编结果,这样的代码是软件中隐藏祸端的开始。 108: a = 5; +0000012E: E085 LDI R24,0x05 Load immediate +0000012F: 8389 STD Y+1,R24 Store indirect with displacement 109: b = 0; +00000130: 821A STD Y+2,R1 Store indirect with displacement 110: b = (a++) + a; +00000131: 01FE MOVW R30,R28 Copy register pair +00000132: 9631 ADIW R30,0x01 Add immediate to word +00000133: 8180 LDD R24,Z+0 Load indirect with displacement +00000134: 2F28 MOV R18,R24 Copy register +00000135: 8199 LDD R25,Y+1 Load indirect with displacement +00000136: 0F92 ADD R25,R18 Add without carry +00000137: 5F8F SUBI R24,0xFF Subtract immediate +00000138: 8380 STD Z+0,R24 Store indirect with displacement +00000139: 839A STD Y+2,R25 |