Mikroprozessor / Assembler
Von: , Frage gestellt am Do, 6. Nov 2008
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:
2. Geben Sie die Werte von XREG und DREG vor Beendigung des Hauptprogramms, d.h. vor dem Rücksprung in den Monitor an.
3. Warum muß im Unterprogramm SUB1 der Parameter B mit PULS vom Stack geholt werden ?
4. Was würde passieren, wenn statt PULS B der Befehl LDB 0,S im Unterprogramm SUB1 stünde?
5. Frage: wo kann ich eine lauffähige Anwendung zur Simulation eines solchen Programms herunterladen?
Vielen Dank im Voraus!
allaliji
