Wie in EASy68K Hilfe zitiert, die Syntax für einen for-Schleife in 68 K ist wie folgt:
FOR[.size] op1 = op2 TO op3 [BY op4] DO[.extent]
code
ENDF
oder
FOR[.size] op1 = op2 DOWNTO op3 [BY op4] DO[.extent]
code
ENDF
mit anderen Worten:
for.size counter_location = starting_condition to ending_condition step_size
operations to be executed each loop
end of for loop
Die Optionen step_size und .size sind beide optional.
Ein Beispiel in der Praxis.
Der folgende Code übernimmt die folgende Variable 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' Groß DC.B, 0
lea uppercase, a1 ; points a1 at the start of the uppercase variable
lea $002000, a2 ; points a2 at the start of the destination address
for d1 = #1 to #26 do.s
move.b (a1)+, (a2)+
endf
; Memory locations $002000 - $002019 now contain ABCDEFGHIJKLMNOPQRSTUVYWXYZ
Diese Schleife 26 Bytes von der Adresse, die durch a1 deutete auf sich bewegt, um die Adresse von A2 hingewiesen. Der Zähler wird in d1 gespeichert. Die Schleife beginnt bei 1 (# 1 zeigt eine "rohe Zahl" in Dezimalform an), erhöht sich jedes Mal und endet bei 26. Die do.s am Ende der ersten Zeile befasst sich mit der Größe des Vorwärtszweiges zu benutzen. Es ist auch optional, aber löst eine Warnung in EASy68K aus. Daher funktioniert die folgende for-Schleife auch, wenn Sie die Verzweigungsbedingung nicht festlegen müssen.
for d1 = #1 to #26
move.b (a1)+, (a2)+
endf
In Bezug auf ein Tutorial empfehle ich http://mrjester.hapisan.com/04_MC68/. Es behandelt nicht einige der fortgeschritteneren Befehle und Themen, aber es bietet ein gutes Verständnis davon, was auf der Basis-/Zwischenstufe passiert.
Haben Sie einen 68000 Prozessor und einen Compiler (irgendeine Sprache) dafür? –
Ich benutze Easy68k (ein Emulator und Compiler). – Blackbinary