im Rahmen meiner Ausbildung befasser wir uns mit der Assamber Programmierung ( auf einem MSP 430).
Die Aufgabe bestand darin den Speicher von der Adress 200h bis 300h beginnend bei 100 in einer inkrementen zu füllen.
Mein Code:
;Reset-Vektor setzen ORG 0FFFEh DW main ;Programmstart setzten ORG 0F000h ;Adress 00200h var_a zuweisen var_a EQU 00200h ;Register R4,R5 löschen main CLR R4 CLR R5 ;100 in Adr. 00200h schreiben MOV #100d,var_a ;Register erhöhen ;R4 Adress ;R5 Wert loop ADD #2,R4 ADD #1,R5 ;Wert von Adr. 00200h Adr. 00200h+R2 kopieren MOV var_a,var_a(R4) ;Wert R5 zu Wert in Adr. 00200h+R2 => 200+1; 200+2; .... ADD R5,var_a(R4) ;Vergleichen CMP var_a(R4),00300h ;Schleife nur erfüllt wen CMP true JNE loop done JMP done END
Freue mich über eure Antworten.
Comment