Hallo,
	ich komme auch nicht darauf, dass n^2 in Hauptspeicheradresse n gespeichert wird, sondern auf die Speicherung von 2n in Adresse n. Ich habe es mir so überlegt:
	 
	Annahme: n=2, also R8 = n = 2
	 
	-lade Registerinhalt R8 in Akkumulator, also R8 = n = 2
	 
	outerloop
	R8 = n = 2 ≠ 0, also springe nicht zur Marke „fertig“
	R1 = R8 = n = 2 , also in R1 befindet sich jetzt ebenfalls der Inhalt aus R8, nämlich 2
	R2 = R8 = n = 2 , also in R2 befindet sich jetzt ebenfalls der Inhalt aus R8, nämlich 2
	R3 = 0 , also speichere in R3 die Konstante 0
	 
	innerloop 1. Durchgang
	R2 + R3 = R3
	n    + 0   = R3 
	2    + 0   = R3 , also neues R3: R3 = n = 2
	 
	
		R1 - 1 = R1
	
		n   - 1  = R1 
	
		2    -1  = R1 , also neues R1: R1 = (n-1) = (2-1) = 1
 
	 
	-lade Registerinhalt R1 in Akkumulator, also R1 = (n-1) = (2-1) = 1
	R1 = (n-1) = (2-1) = 1 ≠ 0 also springe nicht zu Marke „store“
	 
	innerloop 2. Durchgang
	
		R2 + R3 = R3
	
		n    + n   = R3 
	
		2    + 2   = R3 , also neues R3: R3 = 2n = 4
	
		 
	
		
			R1      - 1  = R1
		
			(n-1)   - 1  = R1 
		
			1         -1   = R1 , also neues R1: R1 = (n-2) = (2-2) = 0
	 
	
		 
	
		-lade Registerinhalt R1 in Akkumulator, also R1 = (n-2) = (2-2) = 0
	
		R1 = (n-2) = (2-2) = 0 also springe zu Marke „store“
 
	 
	store
	speichere den Wert aus R3, also R3 = 2n an Stelle im Hauptspeicher, die durch R2 gegeben ist, also R2 =n
	R8 - 1 = R8
	n   -  1 = R8
	2   -  1 = R8, also neues R8: R8 = (n-1) = (2-1) = 1
	-lade Registerinhalt R8 in Akkumulator, also R8 = (n-1) = (2-1) = 1
	springe zu Marke „outerloop“
	 
	Also wäre der erste Durchgang von „outerloop“ jetzt beendet.
	Wo liegt der Fehler?