mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-30 08:51:06 +00:00
113 lines
2.6 KiB
Plaintext
113 lines
2.6 KiB
Plaintext
NEW
|
||
PREFIX
|
||
AUTO 4,1
|
||
.LIST OFF
|
||
*--------------------------------------
|
||
CSH.OPChars .AS "!~+-*/%=&|^&<>"
|
||
CSH.OPChars.Cnt .EQ *-CSH.OPChars
|
||
*--------------------------------------
|
||
* Pre Operators: + - ! ~ ++ --
|
||
*--------------------------------------
|
||
CSH.PREOOPS >PSTR "+"
|
||
>PSTR "-"
|
||
>PSTR "!"
|
||
>PSTR "~"
|
||
*--------------------------------------
|
||
* Post Operators: ++ --
|
||
*--------------------------------------
|
||
CSH.POSTOPS >PSTR "++"
|
||
>PSTR "--"
|
||
.HS 00
|
||
*--------------------------------------
|
||
* Assignment Operators: = += -= *= /= %= <<= >>= &= ^= |=
|
||
*--------------------------------------
|
||
CSH.AOPS >PSTR "="
|
||
>PSTR "+="
|
||
>PSTR "-="
|
||
>PSTR "*="
|
||
>PSTR "/="
|
||
>PSTR "%="
|
||
>PSTR "<<="
|
||
>PSTR ">>="
|
||
>PSTR "&="
|
||
>PSTR "^="
|
||
>PSTR "!="
|
||
.HS 00
|
||
*-- Binary ---- H to L prececence -----
|
||
* Arithmetic Operators: * / %
|
||
* Arithmetic Operators: + -
|
||
* Shift Operators: << >>
|
||
* Relational Operators: < > >= < >= == !=
|
||
* Bitwise Operators: & | ^ ~
|
||
* Logical Operators: && ||
|
||
*--------------------------------------
|
||
CSH.BOPS >PSTR "+"
|
||
>PSTR "-"
|
||
>PSTR "*"
|
||
>PSTR "/"
|
||
>PSTR "%"
|
||
>PSTR "<<"
|
||
>PSTR ">>"
|
||
>PSTR "<"
|
||
>PSTR ">"
|
||
>PSTR "<="
|
||
>PSTR ">="
|
||
>PSTR "=="
|
||
>PSTR "!="
|
||
>PSTR "&"
|
||
>PSTR "|"
|
||
>PSTR "^"
|
||
>PSTR "&&"
|
||
>PSTR "||"
|
||
.HS 00
|
||
*--------------------------------------
|
||
* Reserved Keywords:
|
||
*--------------------------------------
|
||
CSH.KW >PSTR "if"
|
||
>PSTR "while"
|
||
>PSTR "else"
|
||
>PSTR "do"
|
||
>PSTR "for"
|
||
>PSTR "switch"
|
||
>PSTR "case"
|
||
>PSTR "break"
|
||
>PSTR "continue"
|
||
>PSTR "float"
|
||
>PSTR "signed" char,int,long
|
||
>PSTR "unsigned" char,int,long
|
||
CSH.STYPES >PSTR "char"
|
||
>PSTR "int"
|
||
>PSTR "long"
|
||
.HS 00
|
||
CSH.TSIZE .HS 0001020401020405 00,CHAR,INT,LONG,UCHAR,UINT,ULONG,FLOAT....
|
||
*--------------------------------------
|
||
* int printf ( const char * format, ... );
|
||
CSH.FN >PSTR "printf"
|
||
.DA #CSH.T.INT returned value
|
||
.DA #CSH.Q.CONST
|
||
.DA #CSH.T.CHAR
|
||
.DA #CSH.Q.POINTER
|
||
.DA #CSH.T.VARIADIC
|
||
.DA #0
|
||
* int puts ( const char * str );
|
||
>PSTR "puts"
|
||
.DA #CSH.T.INT returned value
|
||
.DA #CSH.Q.CONST
|
||
.DA #CSH.T.CHAR
|
||
.DA #CSH.Q.POINTER
|
||
.DA #0
|
||
* float cos ( float x );
|
||
>PSTR "cos"
|
||
.DA #CSH.T.FLOAT returned value
|
||
.DA #CSH.T.FLOAT
|
||
.DA #0
|
||
* int getchar ( void );
|
||
>PSTR "getchar"
|
||
.DA #CSH.T.INT returned value
|
||
.DA #0
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE USR/SRC/BIN/CSH.I
|
||
LOAD USR/SRC/BIN/CSH.S
|
||
ASM
|