Hallo Leute,
ich habe eine Aufgabe mit einer Lösung vor mir und mir ist bei der Lösung etwas nicht klar. Und zwar lautet sie:
Schreiben Sie Programme in MC68000-Assembler, die die folgenden Algorithmen ausführen.
Do-While-Schleife:
Initialisiere Variable P mit Hexadezimal $10000
Wiederhole
Lösche die Speicherstelle auf die P zeigt
Solange P < $11000
Als Lösung habe ich:
1. START ORG $1000
2. P DC.L $10000
3. MOVE.L P,A0
4. LOOP CLR (A0)+
5. CMP.L #$11000,A0
6. BNE LOOP
7. TRAP #15
8. END START
Hier jetzt meine Kommentare
1. Die Basisadresse von der das Programm im RAM beginnen soll
2. Initialisiert P mit $10000
3. Schreibt den Wert von P in A0
4. Löscht den Wert auf den A0 zeigt
5. vergleicht den Wert von A0 mit $11000
6. Wenn gleich dann zum nächsten Befehl, sonst zurück zu LOOP
7. Stopt die Simulation
Sind die Kommentare richtig?
Und dann warum in der 7 Zeile trap #15 ?? Kann mir jemand den Befehl erklären und warum #15 ?? Im Internet finde ich nichts.
Spielt es eine Rolle ab welcher Basisadresse das Programm im Ram beginnt?
Gibt es auch eine andere Möglichkeit als trap #15 das Programm zu beenden?
Und warum wird der Wert zuerst in P und dann in A0 geladen?
Danke!!