Assembler Programm

  • 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!!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!