1
我需要使用指令add和adc添加兩個16位數字。我使用的微控制器是一種具有8位使用8位寄存器(彙編)添加兩個16位數字
的最大寄存器大小的ATmega32的這是我試過到目前爲止,例如,我加入了數字5438 + 6098
.include "m32def.inc"
.org 0x0000
init:
ldi r16,54
ldi r17,38
ldi r18,60
ldi r19,98
start:
add r17,r19
adc r16,r18
rjmp init
如果我添加低位字節38和98 = 136這是一個8位數字,所以它存儲它完全沒有進位,但我希望它繼續,以便我可以添加54和60與進位得到115.我不知道,也許我在做錯事
您應該檢查包含更高位的寄存器溢出,除非您確定這些數字不會超過2^16個無符號和2^15個符號。 –