A2osX/BIN/ACOS.S.RT.txt
2021-07-07 16:29:10 +02:00

167 lines
2.7 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
RT.StrSet >PUSHB hStrings
* >PUSHW id
* >PUSHW str
>SYSCALL StrVSet
rts
*--------------------------------------
RT.StrGet >PUSHB hStrings
txa
>PUSHA
tya
>PUSHA
>PUSHW ZPStrBuf
>SYSCALL StrVGet
>PUSHW ZPStrBuf
rts
*--------------------------------------
RT.StrOut ldy #S.PS.hStdOut
lda (pPS),y
>PUSHA
ldy #2
lda (pStack),y
>PUSHA
lda (pStack),y
>PUSHA
>SYSCALL fputs
inc pStack
inc pStack
rts
*--------------------------------------
RT.IntSet
*--------------------------------------
RT.IntGet sty ZPADDR
stx ZPADDR+1
ldy #1
lda (ZPADDR),y
>PUSHA
lda (ZPADDR)
>PUSHA
rts
*--------------------------------------
RT.IntOut >PUSHW L.MSG.INT16
ldy #3
lda (pStack),y
>PUSHA
lda (pStack),y
>PUSHA
>PUSHBI 2
>SYSCALL PrintF
inc pStack
inc pStack
rts
*--------------------------------------
RT.DATEd ldx #0
bra RT.TIMEd.1
RT.TIMEd ldx #2
RT.TIMEd.1 >PUSHW ZPStrBuf
>PUSHW L.FMT.DATE,x
>PUSHEA.G TimeBuf
>PUSHEA.G TimeBuf
>SYSCALL Time
>SYSCALL StrFTime
>PUSHW ZPStrBuf
rts
*--------------------------------------
RT.INPUT lda #0
sta (ZPStrBuf)
stz ZPPtr1
.1 >SYSCALL GetChar
bcs .9
ldy ZPPtr1
cmp #C.SPACE
bcs .7
cmp #C.CR
beq .8
cmp #C.BS
bne .1
cpy #0
beq .1
>SYSCALL PutChar
lda #C.SPACE
>SYSCALL PutChar
lda #C.BS
>SYSCALL PutChar
dec ZPPtr1
bra .1
.7 sta (ZPStrBuf),y
>SYSCALL PutChar
inc ZPPtr1
bne .1
.8 lda #0
sta (ZPStrBuf),y
>PUSHW ZPStrBuf
clc
.9 rts
*--------------------------------------
RT.LEFTd >PULLW ZPPtr2 cnt
lda (pStack)
sta ZPPtr1
ldy #1
lda (pStack),y
sta ZPPtr1+1
ldy #0
.1 lda (ZPPtr1),y
beq .8
iny
cpy ZPPtr2
bne .1
lda #0
sta (ZPPtr1),y
.8 rts
*--------------------------------------
RT.LEN >PULLYA str
>SYSCALL strlen
>PUSHYA
rts
*--------------------------------------
RT.STRd >PULLYA int
pha
>PUSHW ZPStrBuf
>PUSHW L.MSG.INT16
pla
>PUSHYA
>PUSHBI 2
>SYSCALL sprintf
>PUSHW ZPStrBuf
rts
*--------------------------------------
RT.VAL >PULLYA str
>SYSCALL atoi
>PUSHYA
rts
*--------------------------------------
MAN
SAVE usr/src/bin/acos.s.rt
LOAD usr/src/bin/acos.s
ASM