0
我正在尋找代碼或幫助AVR這個功能。或者如果沒有代碼,我可以得到一些線索如何做到這一點?AVR函數計算
R20 = (4 * R16 + 3 * R17 - R18)/8
現在我有這樣的事情:
.org 0x0000
start:
.DEF ANSL = R0
.DEF ANSH = R1
.DEF A = R19
.DEF B = R21
.DEF C = R22
.DEF D = R20
ldi A, 4
ldi B, 3
ldi C, 8
ldi R16, 5
ldi R17, 10
ldi R18, 58
MUL A,R16 (4 * R16)
MUL B,R17 (3 * R17)
add A,B (4 * R16 + 3*R17)
sub A, R18 (4 * R16+3*R17 - R18)
我不知道,如果它的代碼是正確的。
最好的方法,看看你的代碼是正確的是對它進行測試。 –
您可能想要儘可能早地重寫公式以儘快完成除法操作,以避免寄存器溢出:2 * R16 +(3 * R17)/ 8 - R18/8(無論如何都會在您的代碼中丟失分區) – tofro