나는 최근에 이런 질문들을 많이 들었지만, 어셈블리는 여전히 내게는 꽤 외국 적이라고 느낀다.어셈블리에서 배열의 8 비트 값의 16 비트 합계는 어떻게 계산합니까?
Arduino를 사용하여 컴퓨터 과학 수업을위한 Atmel AVR 어셈블리에 함수를 작성해야합니다.이 클래스는 배열의 8 비트 값의 합을 계산하고이를 16 비트 정수로 반환합니다. 이 함수는 바이트의 배열과 배열의 길이를 인수로 취하고 그 인수가 함수가 호출 될 때 r24와 r22에 각각 저장되는 것으로 가정합니다. 나는 분기 명령 등을 사용할 수있다.
코드는 다음 형식으로되어 있습니다 :
.global sumArray
sumArray:
//magic happens
ret
나는 루프를하고 같은 카운터 사물을 증가하는 방법을 알고,하지만 난 정말 내가 이런 짓을 했을까 방법으로 손실입니다.
나는 이것을 어떻게 할 것인지 확신하지 못한다. 누구든지 Atmel AVR Assembly에서이 기능을 작성하는 방법을 알고 있습니까? 어떤 도움을 많이 주시면 감사하겠습니다!
힌트 : '추가'와 'ADC'를 사용하십시오. – Jester