Ist das verständlich?
Evtl. hattest Du mit dem Programmfragment mal die Absicht, eine Basen-Konversion (je nach Einsprungpunkt für binär, oktal, dezimal und hexadezimal) zu fahren, die Division als wiederholte Subtraktion ausgeführt.
Allerdings funktioniert der Code oben sicher nicht so, wie geschrieben. Die Subtraktion ist nicht kommutativ. Vermutlich fehlt auch noch ein "sta zp" am Ende, trotzdem würde es nicht funktionieren. Ich stell' mal ganz keck die Frage: ist der Code aus einem bestehenden Programm oder hattest Du dir den grad aus den Fingern gesogen?
das clc von neulich gehört gefälligst _nicht_ an den Anfang, auch wenn es eine hübsche Einrückung erzeugt.
Um irgendeine Einrückung geht's mir da überhaupt nicht.
Ich sehe die zwei Schritte (also: jeweils LDA/ADC/STA) der 16-Bit-Addition als eine Einheit an, die systematisch auch zur 32-Bit-Addition ausgebaut werden könnte. Damit bereitet das CLC den Gesamtprozeß vor und wird vor die gesamte Anordnung gestellt. Daß das alles über den Akku läuft, ist mir fast egal. Der Akku ist für mich da nur Erfüllungsgehilfe. Ich hab' da eher die Sicht der Zeropage als 256 8-Bit-Register, 128 16-Bit-Register oder 64 32-Bit-Register.
Wenn ich also jede Zeile als langes Befehlswort sehe und deine enge Bindung des CLC an das erste ADC honorieren wollte, müßte das wie folgt aussehen:
oder
Und da sag' ich ganz einfach mal: Nö.