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
- Frage: Was steht nach Ablauf des Programms in den Speicherplätzen DREG bzw. XREG?
Nach den Assemblieren des Programms stehen die folgenden Fragen:
-
Geben Sie die Werte von XREG und DREG vor Beendigung des Hauptprogramms, d.h. vor dem Rücksprung in den Monitor an.
-
Warum muß im Unterprogramm SUB1 der Parameter B mit PULS vom Stack geholt werden ?
-
Was würde passieren, wenn statt PULS B der Befehl LDB 0,S im Unterprogramm SUB1 stünde?
-
Frage: wo kann ich eine lauffähige Anwendung zur Simulation eines solchen Programms herunterladen?
Vielen Dank im Voraus!
allaliji