Mikroprozessor / Assembler

Hallo!
Ich habe hier eine Fragestellung und bitte um Hilfe:

Es geht um den 8-Bit Mikroprozessor MC6809

Ein Programm lautet:

ORG $4000 * Begin Program U P T E S T

MON EQU $F02D

MAIN LDX #$0000

---- LDD #$FFFF

---- JSR SUB1

---- STD DREG

---- STX XREG

---- JMP MON

DREG RMB 2

XREG RMB 2

ORG $4100 * Begin Subroutine S U B 1

SUB1 CLRA

---- PSHS B

---- JSR SUB2

---- PULS B

---- RTS * End Subroutine S U B 1

ORG $4200 *Begin Subroutine S U B 2

SUB2 LDB 2,S

---- JSR SUB3

---- STB 2,S

---- RTS * End Subroutine S U B 2

ORG $4300 * Begin Subroutine S U B 3

SUB3 CLRB

LDX #$FFFF

---- RTS * End Subroutine S U B 3

---- END * End Program U P T E S T

  1. Frage: Was steht nach Ablauf des Programms in den Speicherplätzen DREG bzw. XREG?

Nach den Assemblieren des Programms stehen die folgenden Fragen:

  1. Geben Sie die Werte von XREG und DREG vor Beendigung des Hauptprogramms, d.h. vor dem Rücksprung in den Monitor an.

  2. Warum muß im Unterprogramm SUB1 der Parameter B mit PULS vom Stack geholt werden ?

  3. Was würde passieren, wenn statt PULS B der Befehl LDB 0,S im Unterprogramm SUB1 stünde?

  4. Frage: wo kann ich eine lauffähige Anwendung zur Simulation eines solchen Programms herunterladen?

Vielen Dank im Voraus!

allaliji

Hallo allaliji,

Deine Hausafgaben darfst du selber machen.

Hier wäre eine kleine Hilfe:
http://ironbark.bendigo.latrobe.edu.au/staff/mal/680…

Deine letzte Frage wird übrigens hier beantowrtet:

http://de.wikipedia.org/wiki/Motorola_6809
Musst halt genau hinsehen !

MfG Peter(TOO)
P.S. schau die mal das pre-Tag an.