A2osX/TEST.S.txt

245 lines
5.1 KiB
Plaintext
Raw Normal View History

NEW
2018-01-11 16:34:09 +00:00
PREFIX /A2OSX.BUILD
AUTO 4,1
.LIST OFF
.OP 65C02
.OR $2000
2018-01-11 16:34:09 +00:00
.TF /A2OSX.BUILD/ROOT/TEST
*--------------------------------------
.INB /A2OSX.BUILD/INC/MACROS.I
.INB /A2OSX.BUILD/INC/A2OSX.I
2018-02-05 16:25:25 +00:00
.INB /A2OSX.BUILD/INC/LIBPAK.I
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
jmp (.1,x)
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #64 SS
.DA #0 ZP
.DA 0
*--------------------------------------
* Relocation Table
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
2018-02-05 16:25:25 +00:00
L.LIBPAK .DA LIBPAK
L.FLOAT1 .DA FLOAT1
L.FLOAT2 .DA FLOAT2
L.FLOAT3 .DA FLOAT3
L.FLOAT4 .DA FLOAT4
L.FLOAT5 .DA FLOAT5
L.CONST1 .DA CONST1
L.CONST2 .DA CONST2
L.LONG1 .DA LONG1
2017-10-27 14:56:46 +00:00
L.MSG1 .DA MSG1
L.MSG2 .DA MSG2
L.MSG3 .DA MSG3
L.MSG4 .DA MSG4
L.MSG5 .DA MSG5
2018-02-05 16:25:25 +00:00
L.MSG6 .DA MSG6
.DA 0
*--------------------------------------
2018-02-05 16:25:25 +00:00
CS.INIT >LDYA L.LIBPAK
>SYSCALL LoadLib.YA
bcs .9
sta hLIBPAK
clc
.9 rts
*--------------------------------------
CS.RUN ldy #S.PS.ARGC
lda (pPs),y
bne CS.RUN.Pak
jmp CS.RUN.Math
*--------------------------------------
CS.RUN.Pak >PUSHWI 0 Aux type
>PUSHBI 0
>PUSHBI SYS.FOpen.R
lda #1
>SYSCALL GetArg.A
>SYSCALL RealPath.YA
>PUSHYA
txa
>STA.G PAK.hFileName
>SYSCALL LoadFile
bcs .9
>STYA.G PAK.FileSize
txa
>STA.G PAK.hFileBuf
>LDYA.G PAK.FileSize
>SYSCALL GetMem.YA
bcs .9
txa
>STA.G PAK.hOutBuf
>LDA.G PAK.hFileBuf
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHW.G PAK.FileSize
>LDA.G PAK.hOutBuf
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHEA.G PAK.Stat
>LIBCALL hLIBPAK,LIBPAK.Pak
bcc .1
.9 rts
.1 >PUSHW.G PAK.Stat+S.PAKSTAT.STORE
>PUSHW.G PAK.Stat+S.PAKSTAT.S4
>PUSHW.G PAK.Stat+S.PAKSTAT.S3
>PUSHW.G PAK.Stat+S.PAKSTAT.REP
>PUSHW.G PAK.Stat+S.PAKSTAT.BL
2018-02-08 16:39:56 +00:00
>PUSHW.G PAK.Stat+S.PAKSTAT.PASS2
>PUSHW.G PAK.Stat+S.PAKSTAT.PASS1
2018-02-05 16:25:25 +00:00
>PUSHW.G PAK.FileSize
>LDYA L.MSG6
>SYSCALL PrintF.YA
lda #0
sec
rts
*--------------------------------------
2018-02-05 16:25:25 +00:00
CS.RUN.Math >PUSHEA.G ENDPTR
>PUSHW L.CONST2
>PUSHEA.G MYFLOAT2
>SYSCALL StrToF
>PUSHEA.G ENDPTR
>PUSHW L.CONST1
>PUSHEA.G MYFLOAT1
>SYSCALL StrToF
2017-10-27 14:56:46 +00:00
>PUSHEA.G MYFLOAT2
>PUSHEA.G MYFLOAT1
>PUSHW L.FLOAT5
>PUSHW L.FLOAT4
>PUSHW L.FLOAT3
>PUSHW L.FLOAT2
>PUSHW L.FLOAT1
>LDYA L.MSG1
2017-10-27 14:56:46 +00:00
>SYSCALL PrintF.YA
*--------------------------------------
2017-10-27 14:56:46 +00:00
>PUSHEA.G MYFLOAT1
>PUSHEA.G MYFLOAT2
>LEA.G MYFLOAT3
>SYSCALL FDiv
2017-10-27 14:56:46 +00:00
>PUSHEA.G MYFLOAT3
>LDYA L.MSG2
>SYSCALL PrintF.YA
*--------------------------------------
>PUSHEA.G MYFLOAT3
>LEA.G MYFLOAT3
>SYSCALL Cos
>PUSHEA.G MYFLOAT3
>LDYA L.MSG3
>SYSCALL PrintF.YA
*--------------------------------------
>PUSHW L.FLOAT1
>LEA.G MYLONG
>SYSCALL LRIntF
>PUSHEA.G MYLONG
>LDYA L.MSG4
>SYSCALL PrintF.YA
*--------------------------------------
>PUSHW L.LONG1
>LEA.G MYFLOAT1
>SYSCALL Float
>PUSHEA.G MYFLOAT1
>LDYA L.MSG5
>SYSCALL PrintF.YA
lda #0
sec
2017-10-27 14:56:46 +00:00
rts
*--------------------------------------
CS.DOEVENT sec
rts
*--------------------------------------
2018-02-05 16:25:25 +00:00
CS.QUIT >LDA.G PAK.hFileName
beq .1
>SYSCALL FreeMem.A
.1 >LDA.G PAK.hFileBuf
beq .2
>SYSCALL FreeMem.A
.2 >LDA.G PAK.hOutBuf
beq .8
>SYSCALL FreeMem.A
.8 lda hLIBPAK
>SYSCALL UnloadLib.A
clc
rts
*--------------------------------------
CS.END
2018-02-05 16:25:25 +00:00
LIBPAK .AZ "libpak.o"
hLIBPAK .BS 1
MSG1 .AS "PrintF:%e, %e, %e\r\n"
.AS "%e, %e\r\n"
.AZ "StrToF:%e, %e\r\n"
FLOAT1 .HS 9B3EBC1FFD 99,999,999.9
FLOAT2 .HS 9E6E6B27FD 999,999,999
FLOAT3 .HS 9E6E6B2800 1,000,000,000
FLOAT4 .HS 8100000000 1
FLOAT5 .HS 9080000000 -32768
2018-02-01 07:16:35 +00:00
CONST1 .AZ "3.141592653"
CONST2 .AZ "3"
LONG1 .DA >123456789
2018-02-01 07:16:35 +00:00
MSG2 .AZ "PI/3=%e\r\n"
MSG3 .AZ "COS(PI/3)=%e\r\n"
MSG4 .AZ "Long=%L\r\n"
MSG5 .AZ "Float=%e\r\n"
2018-02-05 16:25:25 +00:00
MSG6 .AS "Src Length : %D\r\n"
2018-02-08 16:39:56 +00:00
.AS "Pass #1 : %D\r\n"
.AS "Pass #2 : %D\r\n"
2018-02-05 16:25:25 +00:00
.AS "BL Count : %D\r\n"
.AS "REP Count : %D\r\n"
.AS "S3 Count : %D\r\n"
.AS "S4 Count : %D\r\n"
.AZ "STO Count : %D\r\n"
*--------------------------------------
.DUMMY
.OR 0
DS.START
MYFLOAT1 .BS 5
MYFLOAT2 .BS 5
2017-10-27 14:56:46 +00:00
MYFLOAT3 .BS 5
MYLONG .BS 4
ENDPTR .BS 2
2018-02-05 16:25:25 +00:00
PAK.hFileName .BS 1
PAK.FileSize .BS 2
PAK.hFileBuf .BS 1
PAK.hOutBuf .BS 1
PAK.Stat .BS S.PAKSTAT
DS.END
.ED
*--------------------------------------
MAN
2018-01-11 16:34:09 +00:00
SAVE /A2OSX.BUILD/ROOT/TEST.S
ASM