mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-20 11:29:29 +00:00
Kernel 0.93++
This commit is contained in:
parent
3a75661c7c
commit
251cdd0f39
Binary file not shown.
|
@ -96,26 +96,73 @@ CSH.STYPES >PSTR "char"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.TYPESIZE .HS 0001020401020405 VOID,CHAR,INT,LONG,UCHAR,UINT,ULONG,FLOAT....
|
CSH.TYPESIZE .HS 0001020401020405 VOID,CHAR,INT,LONG,UCHAR,UINT,ULONG,FLOAT....
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* int printf ( const char * format, ... );
|
CSH.FN
|
||||||
CSH.FN >PSTR "printf"
|
|
||||||
.DA #CSH.T.INT returned value
|
|
||||||
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
|
||||||
.DA #CSH.T.VARIADIC
|
|
||||||
.DA #0
|
|
||||||
* int puts ( const char * str );
|
|
||||||
>PSTR "puts"
|
|
||||||
.DA #CSH.T.INT returned value
|
|
||||||
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
|
||||||
.DA #0
|
|
||||||
* float cos ( float x );
|
* float cos ( float x );
|
||||||
|
>PSTR "log"
|
||||||
|
.DA #CSH.T.FLOAT returned value
|
||||||
|
.DA #CSH.T.FLOAT
|
||||||
|
.DA #0
|
||||||
|
>PSTR "sqr"
|
||||||
|
.DA #CSH.T.FLOAT returned value
|
||||||
|
.DA #CSH.T.FLOAT
|
||||||
|
.DA #0
|
||||||
|
>PSTR "exp"
|
||||||
|
.DA #CSH.T.FLOAT returned value
|
||||||
|
.DA #CSH.T.FLOAT
|
||||||
|
.DA #0
|
||||||
>PSTR "cos"
|
>PSTR "cos"
|
||||||
.DA #CSH.T.FLOAT returned value
|
.DA #CSH.T.FLOAT returned value
|
||||||
.DA #CSH.T.FLOAT
|
.DA #CSH.T.FLOAT
|
||||||
.DA #0
|
.DA #0
|
||||||
|
>PSTR "sin"
|
||||||
|
.DA #CSH.T.FLOAT returned value
|
||||||
|
.DA #CSH.T.FLOAT
|
||||||
|
.DA #0
|
||||||
|
>PSTR "tan"
|
||||||
|
.DA #CSH.T.FLOAT returned value
|
||||||
|
.DA #CSH.T.FLOAT
|
||||||
|
.DA #0
|
||||||
|
>PSTR "atan"
|
||||||
|
.DA #CSH.T.FLOAT returned value
|
||||||
|
.DA #CSH.T.FLOAT
|
||||||
|
.DA #0
|
||||||
* char getchar ( void );
|
* char getchar ( void );
|
||||||
>PSTR "getchar"
|
>PSTR "getchar"
|
||||||
.DA #CSH.T.CHAR returned value
|
.DA #CSH.T.CHAR returned value
|
||||||
.DA #0
|
.DA #0
|
||||||
|
* int puts ( const char * str );
|
||||||
|
>PSTR "puts"
|
||||||
|
.DA #CSH.T.INT returned value
|
||||||
|
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #0
|
||||||
|
* int printf ( const char * format, ... );
|
||||||
|
>PSTR "printf"
|
||||||
|
.DA #CSH.T.INT returned value
|
||||||
|
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #CSH.T.VARIADIC
|
||||||
|
.DA #0
|
||||||
|
* int putenv(const char *string);
|
||||||
|
>PSTR "putenv"
|
||||||
|
.DA #CSH.T.INT returned value
|
||||||
|
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #0
|
||||||
|
* int setenv(const char *name, const char *value);
|
||||||
|
>PSTR "setenv"
|
||||||
|
.DA #CSH.T.INT returned value
|
||||||
|
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #0
|
||||||
|
* char *getenv(const char *name, char *value);
|
||||||
|
>PSTR "getenv"
|
||||||
|
.DA #CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #0
|
||||||
|
* int unsetenv(const char *name);
|
||||||
|
>PSTR "unsetenv"
|
||||||
|
.DA #CSH.T.INT returned value
|
||||||
|
.DA #CSH.Q.CONST+CSH.Q.POINTER+CSH.T.CHAR
|
||||||
|
.DA #0
|
||||||
* void * malloc ( int size );
|
* void * malloc ( int size );
|
||||||
>PSTR "malloc"
|
>PSTR "malloc"
|
||||||
.DA #CSH.Q.POINTER+CSH.T.VOID returned value
|
.DA #CSH.Q.POINTER+CSH.T.VOID returned value
|
||||||
|
|
|
@ -64,10 +64,20 @@ J.CSH.UTYPES .DA CSH.UCHAR
|
||||||
J.CSH.KW.END .DA CSH.IF.END
|
J.CSH.KW.END .DA CSH.IF.END
|
||||||
.DA CSH.WHILE.END
|
.DA CSH.WHILE.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
J.CSH.EXEC .DA EXEC.printf
|
J.CSH.EXEC .DA EXEC.log
|
||||||
.DA EXEC.puts
|
.DA EXEC.sqr
|
||||||
|
.DA EXEC.exp
|
||||||
.DA EXEC.cos
|
.DA EXEC.cos
|
||||||
|
.DA EXEC.sin
|
||||||
|
.DA EXEC.tan
|
||||||
|
.DA EXEC.atan
|
||||||
.DA EXEC.getchar
|
.DA EXEC.getchar
|
||||||
|
.DA EXEC.puts
|
||||||
|
.DA EXEC.printf
|
||||||
|
.DA EXEC.putenv
|
||||||
|
.DA EXEC.setenv
|
||||||
|
.DA EXEC.getenv
|
||||||
|
.DA EXEC.unsetenv
|
||||||
.DA EXEC.malloc
|
.DA EXEC.malloc
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -1150,26 +1150,67 @@ CSH.SIZEOF txa
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* EXEC
|
* EXEC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXEC.printf >SYSCALL printf2
|
EXEC.log >FPU LOG
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXEC.puts >PULLYA
|
EXEC.sqr >FPU SQR
|
||||||
>SYSCALL puts
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.exp >FPU EXP
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXEC.cos >FPU COS
|
EXEC.cos >FPU COS
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
EXEC.sin >FPU SIN
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.tan >FPU TAN
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.atan >FPU ATAN
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
EXEC.getchar >SYSCALL getchar
|
EXEC.getchar >SYSCALL getchar
|
||||||
>PUSHA
|
>PUSHA
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
EXEC.puts >PULLYA
|
||||||
|
>SYSCALL puts
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.printf >SYSCALL printf2
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.putenv >SYSCALL getenv
|
||||||
|
>PUSHYA
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.setenv >SYSCALL getenv
|
||||||
|
>PUSHYA
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.getenv >SYSCALL getenv
|
||||||
|
>PUSHYA
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
EXEC.unsetenv >SYSCALL getenv
|
||||||
|
>PUSHYA
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
EXEC.malloc >PULLYA
|
EXEC.malloc >PULLYA
|
||||||
>SYSCALL getmem
|
>SYSCALL getmem
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/CSH.S.CORE
|
SAVE USR/SRC/BIN/CSH.S.CORE
|
||||||
LOAD USR/SRC/BIN/CSH.S
|
LOAD USR/SRC/BIN/CSH.S
|
||||||
|
|
|
@ -544,19 +544,23 @@ K.Kill.PID .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.Kill cmp #0
|
K.Kill cmp #0
|
||||||
beq .99 CS
|
beq .99 CS
|
||||||
|
|
||||||
sta K.Kill.PID
|
sta K.Kill.PID
|
||||||
jsr CORE.GetPSByID
|
jsr CORE.GetPSByID
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
>PULLA
|
>PULLA
|
||||||
cmp #2+1
|
cmp #2+1
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
jmp (.1,x)
|
jmp (.1,x)
|
||||||
.1 .DA K.Kill.0
|
.1 .DA K.Kill.0
|
||||||
.DA K.Kill.1
|
.DA K.Kill.1
|
||||||
.DA K.Kill.2
|
.DA K.Kill.2
|
||||||
|
|
||||||
.9 lda #E.SYN
|
.9 lda #E.SYN
|
||||||
* sec
|
* sec
|
||||||
rts
|
rts
|
||||||
|
@ -565,8 +569,10 @@ K.Kill cmp #0
|
||||||
K.Kill.1 ldy #S.PS.S
|
K.Kill.1 ldy #S.PS.S
|
||||||
lda #S.PS.S.QUIT
|
lda #S.PS.S.QUIT
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
K.Kill.0 clc
|
K.Kill.0 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
K.Kill.2 ldy #S.PS.hSID
|
K.Kill.2 ldy #S.PS.hSID
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
tax
|
tax
|
||||||
|
@ -582,10 +588,9 @@ K.Kill.2 ldy #S.PS.hSID
|
||||||
jsr K.Freemem
|
jsr K.Freemem
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
|
|
||||||
ldx #4
|
ldx #4
|
||||||
.11 ldy .10,x
|
|
||||||
|
|
||||||
|
.11 ldy .10,x
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
beq .12
|
beq .12
|
||||||
|
|
||||||
|
|
|
@ -339,7 +339,12 @@ PrintF2.SS ldy #$00 PSTR
|
||||||
PrintF2.HH jsr PrintF2.LocalGetByte
|
PrintF2.HH jsr PrintF2.LocalGetByte
|
||||||
bcs PrintF2.COut.RTS
|
bcs PrintF2.COut.RTS
|
||||||
pha LO byte
|
pha LO byte
|
||||||
jsr PrintF2.H
|
jsr PrintF2.LocalGetByte
|
||||||
|
plx
|
||||||
|
bcs PrintF2.COut.RTS
|
||||||
|
pha
|
||||||
|
txa
|
||||||
|
jsr PrintF2.H.1
|
||||||
plx
|
plx
|
||||||
bcs PrintF2.COut.RTS
|
bcs PrintF2.COut.RTS
|
||||||
txa
|
txa
|
||||||
|
|
Loading…
Reference in New Issue
Block a user