Work in progress on ASM

This commit is contained in:
Rémy GIBERT 2015-09-16 22:48:59 +02:00
parent cbfa59e2af
commit 602468b956
9 changed files with 55 additions and 34 deletions

Binary file not shown.

Binary file not shown.

View File

@ -101,12 +101,14 @@ CS.INIT.ARGS >SYSCALL SYS.GetMemPtrA
sec sec
.99 rts .99 rts
*-------------------------------------- *--------------------------------------
CS.RUN lda bCANCEL CS.RUN ldy #bCANCEL
lda (pData),y
beq .1 beq .1
sec sec
rts rts
.1 lda bSTOP .1 ldy #bSTOP
lda (pData),y
beq .2 beq .2
clc clc
rts rts
@ -136,14 +138,19 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
lda (pEvent),y lda (pEvent),y
cmp #$03 Ctrl-C cmp #$03 Ctrl-C
bne .1 bne .1
lda #$FF lda #$FF
sta bCANCEL ldy #bCANCEL
sta (pData),y
bra .8 bra .8
.1 cmp #$13 Ctrl-S .1 cmp #$13 Ctrl-S
bne .8 bne .8
lda bSTOP
ldy #bSTOP
lda (pData),y
eor #$FF eor #$FF
sta bSTOP sta (pData),y
.8 clc .8 clc
rts rts
@ -151,7 +158,7 @@ CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
.9 sec .9 sec
rts rts
*-------------------------------------- *--------------------------------------
CS.QUIT ldy SRC.COUNT CS.QUIT ldy #SRC.COUNT
lda (pData),y lda (pData),y
beq .8 beq .8
@ -169,7 +176,7 @@ CS.QUIT ldy SRC.COUNT
lda (pData),y lda (pData),y
>SYSCALL SYS.FreeMemA >SYSCALL SYS.FreeMemA
ldy SRC.COUNT ldy #SRC.COUNT
lda (pData),y lda (pData),y
dec dec
sta (pData),y sta (pData),y
@ -203,7 +210,7 @@ SRC.OPEN sta hFileName
ldy #SRC.COUNT ldy #SRC.COUNT
lda (pData),y lda (pData),y
clc clc
adc #SRC.hREFNUMS-1 adc #SRC.hREFNUMS
tay tay
pla pla
sta (pData),y sta (pData),y
@ -211,7 +218,7 @@ SRC.OPEN sta hFileName
ldy #SRC.COUNT ldy #SRC.COUNT
lda (pData),y lda (pData),y
clc clc
adc #SRC.hBUFFERS-1 adc #SRC.hBUFFERS
tay tay
txa txa
sta (pData),y sta (pData),y
@ -219,16 +226,19 @@ SRC.OPEN sta hFileName
lda hFileName lda hFileName
>SYSCALL SYS.MLIGetFileInfoA >SYSCALL SYS.MLIGetFileInfoA
bcs .99 bcs .99
>STYA ZPQuickPtr1 >STYA ZPQuickPtr1
ldy #1
lda (ZPQuickPtr1),y
tax
ldy #SRC.COUNT ldy #SRC.COUNT
lda (pData),y lda (pData),y
clc clc
adc #SRC.hFILETYPES-1 adc #SRC.hFILETYPES
tay tay
ldy #1 txa
lda (ZPQuickPtr1),y
sta (pData),y sta (pData),y
cmp #$04 TXT? cmp #$04 TXT?
@ -267,7 +277,7 @@ SRC.ReadLine ldy #SRC.COUNT
*--------------------------------------- *---------------------------------------
SRC.ReadLine.BIN >LDYAI 3 LEN + LINENUM SRC.ReadLine.BIN >LDYAI 3 LEN + LINENUM
jsr SRC.ReadLine.YA jsr SRC.ReadLine.YA
bcs .9 bcs .9
lda READ.BUFFER+1 lda READ.BUFFER+1
sta SRC.LINENUM sta SRC.LINENUM
@ -415,6 +425,7 @@ MSG.HELP2 >CSTRING "Usage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\n
MSG.SRCLINE >CSTRING "%05D-%s\n" MSG.SRCLINE >CSTRING "%05D-%s\n"
hLIBSTR .BS 1 hLIBSTR .BS 1
hFileName .BS 1 hFileName .BS 1
SRC.LINENUM .BS 2
READ.BUFFER .BS 256 READ.BUFFER .BS 256
*-------------------------------------- *--------------------------------------
.DUMMY .DUMMY
@ -422,24 +433,22 @@ READ.BUFFER .BS 256
DS.START DS.START
bSTOP .BS 1 bSTOP .BS 1
bCANCEL .BS 1 bCANCEL .BS 1
SRC.COUNT .BS 1 SRC.COUNT .BS 1
SRC.hREFNUMS .BS SRC.IN.DEPTH.MAX Store ref_num of opened files (Main, .INs & .INBs) SRC.hREFNUMS .BS SRC.IN.DEPTH.MAX Store ref_num of opened files (Main, .INs & .INBs)
SRC.hBUFFERS .BS SRC.IN.DEPTH.MAX Store hMem to allocated buffers SRC.hBUFFERS .BS SRC.IN.DEPTH.MAX Store hMem to allocated buffers
SRC.hFILETYPES .BS SRC.IN.DEPTH.MAX Store file type of opened SRC files SRC.hFILETYPES .BS SRC.IN.DEPTH.MAX Store file type of opened SRC files
SRC.LINENUM .BS 2
ASM.T.hFILENAME .BS 1
ASM.T.hFILE .BS 1 handle to loaded ASM.T.xxxxx
DST.hFILENAME .BS 1 DST.hFILENAME .BS 1
DST.hFILETYPE .BS 1
DST.hREFNUM .BS 1 DST.hREFNUM .BS 1
DST.hBUFFER .BS 1 DST.hBUFFER .BS 1
*---------------------------------------
ASM.T.FILENAME .BS 65 PStr ProDOS Max Path Len +1 ASM.T.hFILENAME .BS 1
TARGET.FILENAME .BS 65 PStr ProDOS Max Path Len +1 ASM.T.hFILE .BS 1 handle to loaded ASM.T.xxxxx
TARGET.FILETYPE .BS 1
*---------------------------------------
ASM.PASS .BS 1 ASM.PASS .BS 1
ASM.ORG .BS 4 32Bits Origin ASM.ORG .BS 4 32Bits Origin
SYM.BLOCKS .BS SYM.BLOCK.MAX SYM.BLOCKS .BS SYM.BLOCK.MAX
DS.END .ED DS.END .ED
*--------------------------------------- *---------------------------------------

View File

@ -1,9 +1,9 @@
PR#3 PR#3
PREFIX /DATA/A2OS PREFIX /A2OSX.SRC
NEW NEW
INC 1 INC 1
AUTO 6 AUTO 6
.TF /DATA/A2OS/BIN/ASM.T.6502 .TF /A2OSX.BOOT/BIN/ASM.T.6502
.OR $2000 .OR $2000
*--------------------------------------- *---------------------------------------
.MA AMS AMSID,"Syntax",0,"Operand",0,"Range",0 .MA AMS AMSID,"Syntax",0,"Operand",0,"Range",0
@ -260,5 +260,5 @@ T.OPCODES .AS "ADC"
*--------------------------------------- *---------------------------------------
.HS 0 .HS 0
MAN MAN
SAVE /DATA/A2OS/BIN/ASM.T.6502.S SAVE BIN/ASM.T.6502.S
ASM ASM

View File

@ -1,7 +1,9 @@
PR#3 PR#3
PREFIX /A2OSX.SRC
NEW NEW
INC 1
AUTO 6 AUTO 6
.TF /DATA/A2OS/BIN/ASM.T.65C02 .TF /A2OSX.BOOT/BIN/ASM.T.65C02
.OR $2000 .OR $2000
*--------------------------------------- *---------------------------------------
.MA AMS AMSID,"Syntax",0,"Operand",0,"Rule",0 .MA AMS AMSID,"Syntax",0,"Operand",0,"Rule",0
@ -95,6 +97,6 @@ T.OPCODES .AS "ADC"
*--------------------------------------- *---------------------------------------
.HS 0 .HS 0
MAN MAN
SAVE /DATA/A2OS/BIN/ASM.T.65C02.S SAVE BIN/ASM.T.65C02.S
ASM ASM

View File

@ -1,7 +1,9 @@
PR#3 PR#3
PREFIX /A2OSX.SRC
NEW NEW
INC 1
AUTO 6 AUTO 6
.TF /DATA/A2OS/BIN/ASM.T.Z80 .TF /A2OSX.BOOT/BIN/ASM.T.Z80
.OR $2000 .OR $2000
*--------------------------------------- *---------------------------------------
.MA AMS AMSID,"Syntax",0,"Operand",0,"Rule",0 .MA AMS AMSID,"Syntax",0,"Operand",0,"Rule",0
@ -31,6 +33,6 @@ T.OPCODES .AS "ADC"
*--------------------------------------- *---------------------------------------
.HS 0 .HS 0
MAN MAN
SAVE /DATA/A2OS/BIN/ASM.T.Z80.S SAVE BIN/ASM.T.Z80.S
ASM ASM

View File

@ -89,6 +89,15 @@ DNS.REQUEST jsr NEW.UDP.FRAME
lda #UDP.PORT.DNS lda #UDP.PORT.DNS
sta (ZPFrameBase1),y sta (ZPFrameBase1),y
ldy #S.DNS.ID
lda A2osX.RANDOM16
sta (ZPFrameBase1),y
sta MESSAGE.ID
iny
lda A2osX.RANDOM16+1
sta (ZPFrameBase1),y
sta MESSAGE.ID+1
ldy #S.DNS.F ldy #S.DNS.F
lda /S.DNS.F.RD lda /S.DNS.F.RD
sta (ZPFrameBase1),y sta (ZPFrameBase1),y

View File

@ -466,7 +466,8 @@ CS.END
*-------------------------------------- *--------------------------------------
bFirstLoad .DA #0 bFirstLoad .DA #0
Status .BS 1 Status .BS 1
HOST.TTL .BS 2 for DNS Cache functions MESSAGE.ID .BS 2 for DNS functions
HOST.TTL .BS 4 for DNS functions
IP.CHECKSUM .BS 4 IP.CHECKSUM .BS 4
IPCFG .BS S.IPCFG IPCFG .BS S.IPCFG
ARP.CACHE .BS K.ARPCACHE.SIZE*S.ARPCACHE ARP.CACHE .BS K.ARPCACHE.SIZE*S.ARPCACHE

View File

@ -429,10 +429,8 @@ DNSListener ldy #S.DNS.F+1
bne .4 bne .4
.5 inx X=length of NAME .5 inx X=length of NAME
txa
f ply get back offset in frame
sdf
sdf
>STYA ZPQuickPtr1 >STYA ZPQuickPtr1
clc clc