mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-28 10:52:33 +00:00
104 lines
2.3 KiB
Plaintext
104 lines
2.3 KiB
Plaintext
|
NEW
|
|||
|
AUTO 3,1
|
|||
|
*--------------------------------------
|
|||
|
TABLE1 .EQ $BE00-48
|
|||
|
TABLE2 .EQ $BE00-32
|
|||
|
TABLE3 .EQ $BE00-16
|
|||
|
*--------------------------------
|
|||
|
DIR.AC
|
|||
|
JSR GNNB GET NEXT NON-BLANK FOR DELIMITER
|
|||
|
BCS .8 ...ERROR
|
|||
|
STA DLIM IN CASE IT IS A DELIMITER
|
|||
|
EOR #'0'
|
|||
|
BEQ .9 ...INITIAL STRING
|
|||
|
CMP #4
|
|||
|
BCC .10
|
|||
|
*---GET NEXT CHAR OF STRING------
|
|||
|
.2 JSR GNC GET NEXT CHAR TO ENCODE
|
|||
|
BCS .8 ...ERROR
|
|||
|
CMP DLIM
|
|||
|
BEQ .7 ...END OF STRING
|
|||
|
*---SEARCH TABLE 1---------------
|
|||
|
LDY #15
|
|||
|
.3 CMP TABLE1,Y
|
|||
|
BEQ .6 ...FOUND IT
|
|||
|
DEY
|
|||
|
BNE .3
|
|||
|
*---SEARCH TABLE 2---------------
|
|||
|
JSR OUTPUT.NYBBLE.Y
|
|||
|
LDY #15
|
|||
|
.4 CMP TABLE2,Y
|
|||
|
BEQ .6 ...FOUND IT
|
|||
|
DEY
|
|||
|
BNE .4
|
|||
|
*---SEARCH TABLE 3---------------
|
|||
|
JSR OUTPUT.NYBBLE.Y
|
|||
|
LDY #15
|
|||
|
.5 CMP TABLE3,Y
|
|||
|
BEQ .6 ...FOUND IT
|
|||
|
DEY
|
|||
|
BNE .5
|
|||
|
*---NOT IN ANY TABLE-------------
|
|||
|
JSR OUTPUT.NYBBLE.Y
|
|||
|
PHA
|
|||
|
LSR
|
|||
|
LSR
|
|||
|
LSR
|
|||
|
LSR
|
|||
|
TAY
|
|||
|
JSR OUTPUT.NYBBLE.Y
|
|||
|
PLA
|
|||
|
AND #$0F
|
|||
|
TAY
|
|||
|
*---OUTPUT TABLE INDEX-----------
|
|||
|
.6 JSR OUTPUT.NYBBLE.Y
|
|||
|
*---NEXT CHAR--------------------
|
|||
|
JMP .2
|
|||
|
*---END OF STRING----------------
|
|||
|
.9 STA NYBBLE.FLAG
|
|||
|
.7 RTS
|
|||
|
*---ERROR------------------------
|
|||
|
.8 JMP ERBA
|
|||
|
*---READ NEW CODING TABLES-------
|
|||
|
.10 SBC #0 CHANGE TO 0,1,2
|
|||
|
ASL *16
|
|||
|
ASL
|
|||
|
ASL
|
|||
|
ASL
|
|||
|
TAX
|
|||
|
JSR GNC
|
|||
|
BCS .7 ...NO STRING
|
|||
|
STA DLIM
|
|||
|
.11 JSR GNC ...ALLOW LOWER CASE
|
|||
|
BCS .8 ...ERROR
|
|||
|
CMP DLIM
|
|||
|
BEQ .7 ...END OF STRING
|
|||
|
INX
|
|||
|
CPX #48
|
|||
|
BCS .8 ...GONE TOO FAR
|
|||
|
STA TABLE1,X
|
|||
|
BCC .11 ...ALWAYS
|
|||
|
*--------------------------------
|
|||
|
OUTPUT.NYBBLE.Y
|
|||
|
PHA SAVE A-REG
|
|||
|
TYA
|
|||
|
LSR NYBBLE.FLAG
|
|||
|
BCS .1 ...IT WAS = $01
|
|||
|
ASL ...IT WAS = $00
|
|||
|
ASL
|
|||
|
ASL
|
|||
|
ASL
|
|||
|
STA BYTE
|
|||
|
INC NYBBLE.FLAG
|
|||
|
PLA
|
|||
|
RTS
|
|||
|
.1 ORA BYTE
|
|||
|
JSR EMIT
|
|||
|
PLA
|
|||
|
RTS
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE usr/src/scmasm.30/scmasm.s.acdir
|
|||
|
LOAD usr/src/scmasm.30/scmasm.s
|
|||
|
ASM
|