매우 간단 : 모든 숫자가 추가 된 후, 마지막으로 추가처럼, 나중에 캐리 비트에 반영되고 평가 될 수 다시 오버 플로우가 가능하게 numberrange의 오버 플로우에 반응하는 원인이 될 수 조작. 첫 번째 작업에 추가 사용 및 추가로 휴대가 이후 추가
# Number 1
LDI R16 0x…
LDI R17 0x…
LDI R18 0x…
LDI R19 0x…
# Number 2
LDI R20 0x…
LDI R21 0x…
LDI R22 0x…
LDI R23 0x…
# Add LSB of 1 and 2, result will be in R20
ADD R20,R16
# Add remaining bytes using the add-with-carry operation
ADC R21,R17
ADC R22,R18
ADC R23,R19 # MSB
결과에 대한 R20의 값을 덮어 쓰게됩니다 : R23합니다.
예제로 레지스터에 상수를로드하는 것만 알았지 만, subi 및 sbci opcode를 사용하여 상수를 추가 할 수 있다는 것을 잊지 마십시오. R19 : 예를 들어, R18 5를 추가
SUBI R18,-5
SBCI R19,-1 # This isn't intuitive, but needs to be -1, not zero
는 R18에서 5를 빼려면 : R19 :
SUBI R18,5
SBCI R19,0
을 [당신이 구글을 시도 했습니까?] (HTTP : // AVR-ASM-튜토리얼. net/avr_en/beginner/CALC.html # AddAdc) 그렇지 않다면 StackOverflow가 아직 물어볼 적절한 장소가 아닙니다. (표준 방법이 작동하지 않으면 이것을 표시해야합니다.) – huon
Google을 사용해 보았습니다. 그러나 레지스를 많이 추가 한 경우 캐리를받지 마십시오. -이게 뭐야? 'ADD R20, R16 .... ADC R21, R17 ....' 등등? – Droidik
네, 그 방법은 다음과 같습니다. – JimmyB