AS0 組譯與手動組譯對照
AS0 組譯結果 手動組譯結果
0000 LD R1, SUM 001F0028 001F0028
0004 LD R2, I 002F0024 002F0020
// 錯誤 1,因為 I (0028) - (0004+4) = 0028-0008 = 0020,忘了將 0004 + 4 了,因為 PC 已經進到下一個指令了
0008 LDI R3, 10 0830000A 0830000A
000C LDI R4, 1 08400001 08400001
0010 FOR: CMP R2, R3 10230000 10230000
0014 JGT EXIT 2300000C 2300000C
0018 ADD R1, R2, R1 13121000 13121000
001C ADD R2, R4, R2 13242000 13242000
0020 JMP FOR 26FFFFEC 26FFFFEC
0024 EXIT: RET 2C000000 2C000000
0028 I: RESW 1 00000001 00000000
// 錯誤 2,原因是 RESW 1 是保留一個位元組,不是將初值設定為 1
002C SUM: WORD 0 00000000 00000000
page revision: 0, last edited: 21 Mar 2012 07:21
Post preview:
Close preview