X80 - source-solutions/HELP GitHub Wiki
X80 instruction set
The X80 is a software floating point unit implemented in SE BASIC.
Opcode Instruction Description
RST28H FWAIT cpu wait
00 FJPT jump true
01 FXCH exchange
02 FDEL delete
03 FSUB subtract
04 FMUL multiply
05 FDIV divide
06 FTOP to power
07 FBOR binary or
08 FBAND binary and
09 FCP .LE compare (less or equal)
0A FCP .GE compare (greater or equal)
0B FCP .NE compare (not equal)
0C FCP .GT compare (greater than)
0D FCP .LT compare (less than)
0E FCP .EQ compare (equal)
0F FADD add
10 FBANDS string binary and
11 FCPS .LE string compare (less or equal)
12 FCPS .GE string compare (greater or equal)
13 FCPS .NE string compare (not equal)
14 FCPS .GT string compare (greater than)
15 FCPS .LT string compare (less than)
16 FCPS .EQ string compare (equal)
17 FCAT string concatenate
18 FVALS VAL$
19 FMULS string by number multiplication
1A FREAD read in
1B FNEG negate
1C FASC character ASCII value
1D FVAL VAL
1E FLEN length of string
1F FSIN sine
20 FCOS cosine
21 FTAN tangent
22 FASIN arcsine
23 FACOS arccosine
24 FATAN arctangent
25 FLOGN natuaral logarithm
26 FEXP exponential
27 FINT integer
28 FSQRT square root
29 FSGN signum
2A FABS absolute magnitude
2B FPEEK PEEK
2C FINP INP
2D FUSR USR
2E FSTRS STR$
2F FCHRS CHR$
30 FNOT not
31 FMOVE move
32 FMOD modulus
33 FJP jump
34 FSTK stack data
35 FDJNZ equivalent to DJNZ
36 FCP .LZ less than zero
37 FCP .GZ greater than zero
38 FCE cpu enable
39 FGET get argument
3A FTRN truncate
3B FSGL single operation
3C FDEEK DEEK
3D FRSTK restack
3E FXOR XOR
3F FQUOT integer quotient
A0 FSTK0 stack zero
A1 FSTK1 stack one
A2 FSTK.5 stack half
A3 FSTKPIX.5 stack pi/2
A4 FSTK10 stack ten
C0 FST 0 store in mem 0
C1 FST 1 store in mem 1
C2 FST 2 store in mem 2
C3 FST 3 store in mem 3
C4 FST 4 store in mem 4
C5 FST 5 store in mem 5
E0 FGT 0 get from mem 0
E1 FGT 1 get from mem 1
E2 FGT 2 get from mem 2
E3 FGT 3 get from mem 3
E4 FGT 4 get from mem 4
E5 FGT 5 get from mem 5