A2osX/BIN/ACOS.S.FN.txt

169 lines
2.2 KiB
Plaintext
Raw Normal View History

2021-04-08 20:30:18 +00:00
NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
FN.BYTE
FN.CLOCK
FN.DATEd
FN.FLAG
FN.CHRd
FN.INSTR
FN.KEY
2021-04-29 11:56:34 +00:00
lda #E.CSYN
sec
rts
*--------------------------------------
2021-06-22 18:59:02 +00:00
FN.LEN jsr CORE.CheckOP
bcs .99
2021-04-29 11:56:34 +00:00
jsr EXP.Eval
bcs .99
2021-06-22 18:59:02 +00:00
2021-04-29 11:56:34 +00:00
lda EXP.TYPE
2021-06-22 18:59:02 +00:00
beq .90
jsr CORE.CheckCP
bcs .99
2021-04-29 11:56:34 +00:00
ldx #0
.1 lda CCODE.LEN,x
jsr CODE.EmitByte
inx
cpx #CCODE.LEN.LEN
bne .1
stz EXP.TYPE
clc
rts
2021-06-22 18:59:02 +00:00
.90 lda #E.TMISMATCH
2021-04-29 11:56:34 +00:00
sec
2021-06-22 18:59:02 +00:00
.99 rts
2021-04-29 11:56:34 +00:00
*--------------------------------------
2021-06-22 18:59:02 +00:00
FN.LEFTd jsr CORE.CheckOP
bcs .99
2021-04-29 11:56:34 +00:00
jsr EXP.Eval
bcs .99
2021-06-22 18:59:02 +00:00
2021-04-29 11:56:34 +00:00
lda EXP.TYPE
2021-06-22 18:59:02 +00:00
beq .90
2021-04-29 11:56:34 +00:00
2021-06-22 18:59:02 +00:00
jsr CORE.CheckComma
bcs .99
2021-04-29 11:56:34 +00:00
jsr EXP.Eval
bcs .99
2021-06-22 18:59:02 +00:00
lda EXP.TYPE
2021-04-29 11:56:34 +00:00
bne .90
2021-06-22 18:59:02 +00:00
jsr CORE.CheckCP
bcs .99
2021-04-29 11:56:34 +00:00
ldx #0
.1 lda CCODE.LEFT,x
jsr CODE.EmitByte
inx
cpx #CCODE.LEFT.LEN
bne .1
lda #'$'
sta EXP.TYPE
clc
rts
2021-06-22 18:59:02 +00:00
.90 lda #E.TMISMATCH
2021-04-29 11:56:34 +00:00
sec
2021-06-22 18:59:02 +00:00
.99 rts
2021-04-29 11:56:34 +00:00
*--------------------------------------
2021-04-08 20:30:18 +00:00
FN.MIDd
FN.PDL
FN.PEEK
FN.RANDOM
FN.RIGHTd
FN.RNDd
2021-06-22 18:59:02 +00:00
lda #E.CSYN
sec
rts
*--------------------------------------
FN.STRd jsr CORE.CheckOP
bcs .99
jsr EXP.Eval
bcs .99
lda EXP.TYPE
bne .90
jsr CORE.CheckCP
bcs .99
ldx #0
.1 lda CCODE.STR,x
jsr CODE.EmitByte
inx
cpx #CCODE.STR.LEN
bne .1
lda #'$'
sta EXP.TYPE
clc
rts
.90 lda #E.TMISMATCH
sec
.99 rts
*--------------------------------------
2021-04-08 20:30:18 +00:00
FN.TIMEd
2021-06-22 18:59:02 +00:00
lda #E.CSYN
sec
rts
*--------------------------------------
FN.VAL jsr CORE.CheckOP
bcs .99
jsr EXP.Eval
bcs .99
lda EXP.TYPE
beq .90
jsr CORE.CheckCP
bcs .99
ldx #0
.1 lda CCODE.VAL,x
jsr CODE.EmitByte
inx
cpx #CCODE.VAL.LEN
bne .1
stz EXP.TYPE
clc
rts
.90 lda #E.TMISMATCH
sec
.99 rts
*--------------------------------------
2021-04-08 20:30:18 +00:00
FN.WHENd
2021-06-22 18:59:02 +00:00
*--------------------------------------
2021-04-08 20:30:18 +00:00
FN.WIDTH
2021-04-29 11:56:34 +00:00
lda #E.CSYN
sec
2021-04-08 20:30:18 +00:00
rts
*--------------------------------------
MAN
SAVE usr/src/bin/acos.s.fn
LOAD usr/src/bin/acos.s
ASM