A2osX/BIN/CSH.S.EXEC.txt

160 lines
2.8 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
*--------------------------------------
* Y = Type, A = OP
*--------------------------------------
CSH.BOP.EXEC cpy #CSH.T.UINT
bcs .1
.1 clc
adc CSH.Type2FPU-3,y
tax
jsr A2osX.FPUCALL
clc
rts
*--------------------------------------
CSH.BOPS.MUL clc
rts
*--------------------------------------
CSH.BOPS.DIV clc
rts
*--------------------------------------
CSH.BOPS.MOD clc
rts
*--------------------------------------
CSH.BOPS.ADD
CSH.BOPS.ADDi8
CSH.BOPS.ADDu8 clc
>PULLA
adc (pStack)
sta (pStack)
clc
rts
*--------------------------------------
CSH.BOPS.SUB
CSH.BOPS.SUBi8
CSH.BOPS.SUBu8 sec
ldy #1
lda (pStack),y
sbc (pStack)
sta (pStack),y
inc pStack
clc
rts
*--------------------------------------
CSH.BOPS.SHL
CSH.BOPS.SHL8 lda (pStack)
tax
beq .8
ldy #1
lda (pStack),y
.1 asl
dex
bne .1
sta (pStack),y
.8 inc pStack
clc
rts
*--------------------------------------
CSH.BOPS.SHR
CSH.BOPS.L
CSH.BOPS.G
CSH.BOPS.LE
CSH.BOPS.GE
CSH.BOPS.EQ
CSH.BOPS.NE
CSH.BOPS.AND
CSH.BOPS.OR
CSH.BOPS.EOR
CSH.BOPS.LAND
CSH.BOPS.LOR
clc
rts
*--------------------------------------
EXEC.log >FPU LOG
clc
rts
*--------------------------------------
EXEC.sqr >FPU SQR
clc
rts
*--------------------------------------
EXEC.exp >FPU EXP
clc
rts
*--------------------------------------
EXEC.cos >FPU COS
clc
rts
*--------------------------------------
EXEC.sin >FPU SIN
clc
rts
*--------------------------------------
EXEC.tan >FPU TAN
clc
rts
*--------------------------------------
EXEC.atan >FPU ATAN
clc
rts
*--------------------------------------
EXEC.getchar >SYSCALL GetChar
>PUSHA
rts
*--------------------------------------
EXEC.puts >PULLYA
>SYSCALL PutS
>PUSHYA
rts
*--------------------------------------
EXEC.printf
>SYSCALL PrintF
>PUSHYA
rts
*--------------------------------------
EXEC.execl >SYSCALL ExecL
>PUSHYA
rts
*--------------------------------------
EXEC.putenv >SYSCALL PutEnv
>PUSHYA
rts
*--------------------------------------
EXEC.setenv >SYSCALL SetEnv
>PUSHYA
rts
*--------------------------------------
EXEC.getenv >SYSCALL GetEnv
>PUSHYA
rts
*--------------------------------------
EXEC.unsetenv >SYSCALL UnsetEnv
>PUSHYA
rts
*--------------------------------------
EXEC.MD5 >SYSCALL MD5
rts
*--------------------------------------
EXEC.malloc >PULLYA
>SYSCALL GetMem
>PUSHYA
rts
*--------------------------------------
MAN
SAVE usr/src/bin/csh.s.exec
LOAD usr/src/bin/csh.s
ASM