% beispiel-STT.mms LOC Data_Segment GREG @ % Ziel: wir wollen die Zahlen von der 2.-4. Stelle addieren % und das Ergebnis an die erste Stelle speichern. a TETRA 0,10,20,30 LOC #100 tmpAdr IS $0 % zum Zwischenspeichern der Lade-Adresse no IS $1 % entählt die geladene Zahl sum IS $2 % Summe aller geladener Zahlen Main LDA tmpAdr,a % Adresse von a holen % wir überspringen die erste Zahl, denn da soll das Ergebnis hin LDT no,tmpAdr,4 % wir gehen 4 Byte weiter und laden 10 in no ($1) SET sum,no % initialisiere die Summe mit der aktuellen Nummer LDT no,tmpAdr,8 % die 3.Zahl ist bereits 8 Byte entfernt -> lade 20 in no ($1) ADD sum,sum,no % addiere die Zahl zur Summe LDT no,tmpAdr,12 % die letzte Zahl ist 12 Byte entfernt -> lade 30 in no ($1) ADD sum,sum,no % addiere die Zahl zur Summe STT sum,a % speichere das Ergebnis an die erste Stelle bei a % Alternative: STT sum,tmpAdr % speichert das Ergebnis an die Adresse tmpAdr TRAP 0,Halt,0