aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source/c_cmd_bytecodes.h
diff options
context:
space:
mode:
authorjhansen2010-04-26 21:49:44 +0000
committerNicolas Schodet2011-07-04 00:36:36 +0200
commit6c5075bc99ba07f46562f7f10db14e153d7a93ec (patch)
treeb2371af4ec52f91eb471fe8b6f2a65b26d94afdd /AT91SAM7S256/Source/c_cmd_bytecodes.h
parent495cc1df494505378977995eeb76b05f20f0b235 (diff)
git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@6 c9361245-7fe8-9947-84e8-057757c4e366
Diffstat (limited to 'AT91SAM7S256/Source/c_cmd_bytecodes.h')
-rw-r--r--AT91SAM7S256/Source/c_cmd_bytecodes.h76
1 files changed, 68 insertions, 8 deletions
diff --git a/AT91SAM7S256/Source/c_cmd_bytecodes.h b/AT91SAM7S256/Source/c_cmd_bytecodes.h
index 5cd9dfd..36a9084 100644
--- a/AT91SAM7S256/Source/c_cmd_bytecodes.h
+++ b/AT91SAM7S256/Source/c_cmd_bytecodes.h
@@ -4,7 +4,7 @@
// opcode definitions
// symbol, bits, arg format
//
-#define OPCODE_COUNT 0x38
+#define OPCODE_COUNT 0x51
//Family: Math
#define OP_ADD 0x00 // dest, src1, src2
@@ -21,13 +21,13 @@
#define OP_NOT 0x09 // dest, src
//Family: Bit manipulation
-#define OP_CMNT 0x0A // dest, src
-#define OP_LSL 0x0B // dest, src
-#define OP_LSR 0x0C // dest, src
-#define OP_ASL 0x0D // dest, src
-#define OP_ASR 0x0E // dest, src
-#define OP_ROTL 0x0F // dest, src
-#define OP_ROTR 0x10 // dest, src
+#define OP_CMNT 0x0A // dest, src
+#define OP_LSL 0x0B // dest, src, bits
+#define OP_LSR 0x0C // dest, src, bits
+#define OP_ASL 0x0D // dest, src, bits
+#define OP_ASR 0x0E // dest, src, bits
+#define OP_ROTL 0x0F // dest, src, bits
+#define OP_ROTR 0x10 // dest, src, bits
//Family: Comparison
#define OP_CMP 0x11 // dest, src1, src2
@@ -86,6 +86,66 @@
#define OP_SQRT 0x36 // dest, src
#define OP_ABS 0x37 // dest, src
+// JCH ADDS
+#define OP_WAITI 0x64 // immed
+#define OP_WAITV 0x65 // var
+#define OP_SIGN 0x66 // dest, src
+#define OP_STOPCLUMPIMMED 0x67 // clumpID
+#define OP_STARTCLUMPIMMED 0x68 // clumpID
+#define OP_PRIORITY 0x69 // clumpID, pri
+#define OP_FMTNUM 0x6a // dest, fmt, src1
+#define OP_ARROP 0x6b // cmd, dest, src, idx, len
+
+// math ops (float)
+#define OP_ACOS 0x6c // dest, src
+#define OP_ASIN 0x6d // dest, src
+#define OP_ATAN 0x6e // dest, src
+#define OP_CEIL 0x6f // dest, src
+#define OP_EXP 0x70 // dest, src
+#define OP_FLOOR 0x71 // dest, src
+#define OP_TAN 0x72 // dest, src
+#define OP_COS 0x74 // dest, src
+#define OP_LOG 0x76 // dest, src
+#define OP_LOG10 0x77 // dest, src
+#define OP_SIN 0x78 // dest, src
+#define OP_TRUNC 0x7a // dest, src
+#define OP_FRAC 0x7b // dest, src
+
+#define OP_ATAN2 0x7c // dest, src1, src2
+#define OP_POW 0x7d // dest, src1, src2
+
+#define OP_MULDIV 0x7e // dest, src1, src2, src3
+
+// transcendental opcodes that use degrees instead of radians
+#define OP_ACOSD 0x7f // dest, src
+#define OP_ASIND 0x80 // dest, src
+#define OP_ATAND 0x81 // dest, src
+#define OP_TAND 0x82 // dest, src
+#define OP_COSD 0x84 // dest, src
+#define OP_SIND 0x86 // dest, src
+#define OP_ATAN2D 0x88 // dest, src1, src2
+
+
+// hyperbolic transcendental functions
+#define OP_TANH 0x73 // dest, src
+#define OP_COSH 0x75 // dest, src
+#define OP_SINH 0x79 // dest, src
+#define OP_TANHD 0x83 // dest, src
+#define OP_COSHD 0x85 // dest, src
+#define OP_SINHD 0x87 // dest, src
+
+// additional string opcodes
+
+
+// array operation definitions
+#define OPARR_SUM 0x00
+#define OPARR_MEAN 0x01
+#define OPARR_SUMSQR 0x02
+#define OPARR_STD 0x03
+#define OPARR_MIN 0x04
+#define OPARR_MAX 0x05
+#define OPARR_SORT 0x06
+
// condition code definitions
#define OPCC1_LT 0x00
#define OPCC1_GT 0x01