A2osX/BIN/ASM.S.DIR.txt

239 lines
4.2 KiB
Plaintext
Raw Normal View History

2015-10-04 20:55:51 +00:00
PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
2015-10-06 16:14:48 +00:00
.LIST OFF
2015-10-04 20:55:51 +00:00
*---------------------------------------
DIR.AC clc
rts
*---------------------------------------
DIR.AS clc
rts
*---------------------------------------
DIR.AT clc
rts
*---------------------------------------
DIR.AZ clc
rts
*---------------------------------------
DIR.BS clc
rts
*---------------------------------------
DIR.DA clc
rts
*---------------------------------------
DIR.DO clc
rts
*---------------------------------------
DIR.DU clc
rts
*---------------------------------------
DIR.ED clc
rts
*---------------------------------------
DIR.EL clc
rts
*---------------------------------------
2015-10-28 16:55:12 +00:00
DIR.EM lda #ERR.INVALID.MACRO.DEF
2015-10-06 16:14:48 +00:00
sec
rts
*---------------------------------------
2015-10-04 20:55:51 +00:00
DIR.EN clc
rts
*---------------------------------------
DIR.EP clc
rts
*---------------------------------------
2015-10-30 16:34:59 +00:00
DIR.EQ jsr EXP.Eval
2015-10-28 16:55:12 +00:00
bcs .9
2015-11-20 16:31:14 +00:00
ldx #3
.1 lda SRC.ACC,x
sta SRC.GLabel.Value,x
dex
bpl .1
2015-10-28 16:55:12 +00:00
clc
.9 rts
2015-10-04 20:55:51 +00:00
*---------------------------------------
DIR.FI clc
rts
*---------------------------------------
DIR.HS clc
rts
*---------------------------------------
2015-10-06 16:14:48 +00:00
DIR.IN jsr SRC.GetArg
bcs .9
>LDYA L.SRC.BUFFER
>SYSCALL SYS.NewPStrYA
2015-11-20 16:31:14 +00:00
pha
2015-10-28 16:55:12 +00:00
jsr FIO.OpenFileA
2015-11-20 16:31:14 +00:00
plx
php
pha
txa
>SYSCALL SYS.FreeMemA
pla
plp
2015-10-06 16:14:48 +00:00
rts
.9 lda #ERR.SYNTAX.ERROR
2015-11-20 16:31:14 +00:00
sec
2015-10-06 16:14:48 +00:00
rts
*---------------------------------------
DIR.LI >LDYA L.T.LI
jsr SRC.GetKeyword
bcc .1
lda #ERR.SYNTAX.ERROR
sec
rts
.1 jmp (J.LI,x)
DIR.LI.CON ldy #ASM.LI.CON
sec
bra DIR.LI.APPLY
DIR.LI.COFF ldy #ASM.LI.CON
clc
bra DIR.LI.APPLY
DIR.LI.XON ldy #ASM.LI.XON
sec
bra DIR.LI.APPLY
DIR.LI.XOFF ldy #ASM.LI.XON
clc
bra DIR.LI.APPLY
DIR.LI.ON ldy #ASM.LI.ON
sec
bra DIR.LI.APPLY
DIR.LI.OFF ldy #ASM.LI.ON
clc
DIR.LI.APPLY lsr
2015-11-20 16:31:14 +00:00
lda #$80
2015-10-06 16:14:48 +00:00
sta (pData),y
rts
*---------------------------------------
2015-10-28 16:55:12 +00:00
DIR.MA jsr SRC.GetArg
bcs .9
.1 jsr FIO.ReadLine
bcs .99
lda TmpBuffer256
beq .1
cmp #'*' Comment?
beq .8
cmp #';' Comment?
beq .8
cmp #' ' no label...go scan dir/opcode
beq .3
.2 jsr SRC.GetChar skip label
beq .8
cmp #' '
bne .2
.3 jsr SRC.GetCharNB Scan for an Opcode...
beq .8
cmp #'.'
bne .8
jsr SRC.GetChar
beq .8
cmp #'E'
bne .8
jsr SRC.GetChar
beq .8
cmp #'M'
bne .8
clc
rts
.8 ldy #ASM.PASS If Pass#2, ignore
2015-10-06 16:14:48 +00:00
lda (pData),y
2015-10-28 16:55:12 +00:00
bne .1
2015-10-06 16:14:48 +00:00
2015-10-28 16:55:12 +00:00
bra .1
2015-10-06 16:14:48 +00:00
clc
rts
.9 lda #ERR.INVALID.MACRO.DEF
sec
2015-10-28 16:55:12 +00:00
.99 rts
2015-10-04 20:55:51 +00:00
*---------------------------------------
2015-10-21 16:24:11 +00:00
DIR.OP jsr SRC.GetArg
bcs .9
ldx SRC.Buffer
lda ASM.T.FILENAMELEN
adc SRC.Buffer
sta ASM.T.FILENAME
tay
.1 lda SRC.Buffer,x
sta ASM.T.FILENAME,y
dey
dex
bne .1
jmp LOAD.ASM.T
.9 lda #ERR.SYNTAX.ERROR
sec
2015-10-04 20:55:51 +00:00
rts
*---------------------------------------
2015-10-30 16:34:59 +00:00
DIR.OR jsr EXP.Eval
2015-10-28 16:55:12 +00:00
bcs .9
ldy #ASM.PC
ldx #0
.1 lda SRC.ACC,x
sta (pData),y
inx
iny
cpx #4
bne .1
clc
.9 rts
2015-10-04 20:55:51 +00:00
*---------------------------------------
DIR.PG clc
rts
*---------------------------------------
DIR.PH clc
rts
*---------------------------------------
DIR.SE clc
rts
*---------------------------------------
DIR.TA clc
rts
*---------------------------------------
DIR.TF clc
rts
*---------------------------------------
DIR.TI clc
rts
*---------------------------------------
DIR.US clc
rts
*---------------------------------------
MAN
SAVE BIN/ASM.S.DIR
LOAD BIN/ASM.S
ASM