Last active
September 13, 2017 13:40
-
-
Save VelkyVenik/c92b363f5060f1d49fa93d394c9f5b8f to your computer and use it in GitHub Desktop.
asm80.com - spatne adresy navesti v bloku, test.a65.lst skok na adrese F003 ma byt na F00D a je na F00E
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ----------------------------------- | |
; --- 6850 Serial Line Functions ---- | |
; ----------------------------------- | |
.block | |
ACIA = $A000 | |
ACIACONTROL = ACIA+0 | |
ACIASTATUS = ACIA+0 | |
ACIADATA = ACIA+1 | |
SERIAL_DATA = $9 | |
@SERIAL_INIT: | |
; ACIA init | |
LDA #$15 | |
STA ACIAControl | |
RTS | |
; ---- Send one byte from serial_data to serial line | |
@SERIAL_OUT: ; | |
PHA ; save A | |
SO_WAIT: | |
LDA ACIAStatus | |
AND #2 | |
BEQ so_wait ; Wait for serial line | |
LDA serial_data | |
STA ACIAData ; Send one byte | |
PLA ; restore A | |
RTS | |
; ---- wait for and read one byte from serial line to serial_data | |
@SERIAL_IN: | |
PHA ; save A | |
SI_WAIT: | |
LDA ACIAStatus | |
AND #1 | |
BEQ si_wait ; Wait for serial input | |
LDA ACIAData ; Read one byte | |
STA serial_data | |
PLA ; restore A | |
RTS | |
.endblock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.ORG $F000 ; ROM | |
.ENT $ ; ASM80.COM - emulator start | |
; Stack | |
LDX #$FF | |
TXS | |
JSR serial_init | |
LDA #$41 | |
STA serial_data | |
JSR serial_out | |
.include serial.a65 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
F000 .ORG $F000 ; ROM | |
F000 .ENT $ ; ASM80.COM - emulator start | |
F000 ; Stack | |
F000 A2 FF LDX #$FF | |
F002 9A TXS | |
F003 20 0E F0 JSR serial_init | |
F006 A9 41 LDA #$41 | |
F008 85 00 STA serial_data | |
F00A 20 14 F0 JSR serial_out | |
F00D ; ----------------------------------- | |
F00D ; --- 6850 Serial Line Functions ---- | |
F00D ; ----------------------------------- | |
F00D .BLOCK | |
F00D ACIA: = $A000 | |
F00D ACIACONTROL: = ACIA+0 | |
F00D ACIASTATUS: = ACIA+0 | |
F00D ACIADATA: = ACIA+1 | |
F00D SERIAL_DATA: = $9 | |
F00D SERIAL_INIT: | |
F00D ; ACIA init | |
F00D A9 15 LDA #$15 | |
F00F 8D 0D F0 STA ACIAControl | |
F012 60 RTS | |
F013 ; ---- Send one byte from serial_data to serial line | |
F013 SERIAL_OUT: ; | |
F013 48 PHA ; save A | |
F014 SO_WAIT: | |
F014 AD 0D F0 LDA ACIAStatus | |
F017 29 02 AND #2 | |
F019 F0 F9 BEQ so_wait ; Wait for serial line | |
F01B A5 0D LDA serial_data | |
F01D 8D 0D F0 STA ACIAData ; Send one byte | |
F020 68 PLA ; restore A | |
F021 60 RTS | |
F022 ; ---- wait for and read one byte from serial line to serial_data | |
F022 SERIAL_IN: | |
F022 48 PHA ; save A | |
F023 SI_WAIT: | |
F023 AD 0D F0 LDA ACIAStatus | |
F026 29 01 AND #1 | |
F028 F0 F9 BEQ si_wait ; Wait for serial input | |
F02A AD 0D F0 LDA ACIAData ; Read one byte | |
F02D 85 0D STA serial_data | |
F02F 68 PLA ; restore A | |
F030 60 RTS | |
F031 .ENDBLOCK | |
_PC F031 | |
SERIAL_INIT F00E | |
SERIAL_OUT F014 | |
SERIAL_IN F023 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment