How to resolve the algorithm Averages/Arithmetic mean step by step in the 6502 Assembly programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Averages/Arithmetic mean step by step in the 6502 Assembly programming language

Table of Contents

Problem Statement

Write a program to find the mean (arithmetic average) of a numeric vector. In case of a zero-length input, since the mean of an empty set of numbers is ill-defined, the program may choose to behave in any way it deems appropriate, though if the programming language has an established convention for conveying math errors or undefined values, it's preferable to follow it.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Averages/Arithmetic mean step by step in the 6502 Assembly programming language

Source code in the 6502 programming language

ArithmeticMean:		PHA
			TYA
			PHA		;push accumulator and Y register onto stack


			LDA #0
			STA Temp
			STA Temp+1	;temporary 16-bit storage for total

			LDY NumberInts	
			BEQ Done	;if NumberInts = 0 then return an average of zero

			DEY		;start with NumberInts-1
AddLoop:		LDA (ArrayPtr),Y
			CLC
			ADC Temp
			STA Temp
			LDA Temp+1
			ADC #0
			STA Temp+1
			DEY
			CPY #255
			BNE AddLoop

			LDY #-1
DivideLoop:		LDA Temp
			SEC
			SBC NumberInts
			STA Temp
			LDA Temp+1
			SBC #0
			STA Temp+1
			INY
			BCS DivideLoop
			
Done:			STY ArithMean	;store result here
			PLA		;restore accumulator and Y register from stack
			TAY
			PLA
			RTS		;return from routine

  

You may also check:How to resolve the algorithm Wieferich primes step by step in the C programming language
You may also check:How to resolve the algorithm Sort three variables step by step in the R programming language
You may also check:How to resolve the algorithm Classes step by step in the NetRexx programming language
You may also check:How to resolve the algorithm Law of cosines - triples step by step in the JavaScript programming language
You may also check:How to resolve the algorithm Palindrome dates step by step in the Swift programming language