123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- /* bytes.h Copyright (C) Codemist 1993-2002 */
- /*
- * This code may be used and modified, and redistributed in binary
- * or source form, subject to the "CCL Public License", which should
- * accompany it. This license is a variant on the BSD license, and thus
- * permits use of code derived from this in either open and commercial
- * projects: but it does require that updates to this code be made
- * available back to the originators of the package.
- * Before merging other code in with this or linking this code
- * with other packages or libraries please check that the license terms
- * of the other material are compatible with those of this.
- */
- /* Signature: 314b22cb 08-Apr-2002 */
- /*
- * Bytecode interpreter support.
- */
- #ifndef header_bytes_h
- #define header_bytes_h 1
- #define JUMP_BACK 0x01 /* select direction of jump */
- #define JUMP_LONG 0x02 /* select 16 vs 8 bit offset */
- #define OP_LOADLOC 0x00
- #define OP_LOADLOC0 0x01
- #define OP_LOADLOC1 0x02
- #define OP_LOADLOC2 0x03
- #define OP_LOADLOC3 0x04
- #define OP_LOADLOC4 0x05
- #define OP_LOADLOC5 0x06
- #define OP_LOADLOC6 0x07
- #define OP_LOADLOC7 0x08
- #define OP_LOADLOC8 0x09
- #define OP_LOADLOC9 0x0a
- #define OP_LOADLOC10 0x0b
- #define OP_LOADLOC11 0x0c
- #define OP_LOC0LOC1 0x0d
- #define OP_LOC1LOC2 0x0e
- #define OP_LOC2LOC3 0x0f
- #define OP_LOC1LOC0 0x10
- #define OP_LOC2LOC1 0x11
- #define OP_LOC3LOC2 0x12
- #define OP_VNIL 0x13
- #define OP_LOADLIT 0x14
- #define OP_LOADLIT1 0x15
- #define OP_LOADLIT2 0x16
- #define OP_LOADLIT3 0x17
- #define OP_LOADLIT4 0x18
- #define OP_LOADLIT5 0x19
- #define OP_LOADLIT6 0x1a
- #define OP_LOADLIT7 0x1b
- #define OP_LOADFREE 0x1c
- #define OP_LOADFREE1 0x1d
- #define OP_LOADFREE2 0x1e
- #define OP_LOADFREE3 0x1f
- #define OP_LOADFREE4 0x20
- #define OP_STORELOC 0x21
- #define OP_STORELOC0 0x22
- #define OP_STORELOC1 0x23
- #define OP_STORELOC2 0x24
- #define OP_STORELOC3 0x25
- #define OP_STORELOC4 0x26
- #define OP_STORELOC5 0x27
- #define OP_STORELOC6 0x28
- #define OP_STORELOC7 0x29
- #define OP_STOREFREE 0x2a
- #define OP_STOREFREE1 0x2b
- #define OP_STOREFREE2 0x2c
- #define OP_STOREFREE3 0x2d
- #define OP_LOADLEX 0x2e
- #define OP_STORELEX 0x2f
- #define OP_CLOSURE 0x30
- #define OP_CARLOC0 0x31
- #define OP_CARLOC1 0x32
- #define OP_CARLOC2 0x33
- #define OP_CARLOC3 0x34
- #define OP_CARLOC4 0x35
- #define OP_CARLOC5 0x36
- #define OP_CARLOC6 0x37
- #define OP_CARLOC7 0x38
- #define OP_CARLOC8 0x39
- #define OP_CARLOC9 0x3a
- #define OP_CARLOC10 0x3b
- #define OP_CARLOC11 0x3c
- #define OP_CDRLOC0 0x3d
- #define OP_CDRLOC1 0x3e
- #define OP_CDRLOC2 0x3f
- #define OP_CDRLOC3 0x40
- #define OP_CDRLOC4 0x41
- #define OP_CDRLOC5 0x42
- #define OP_CAARLOC0 0x43
- #define OP_CAARLOC1 0x44
- #define OP_CAARLOC2 0x45
- #define OP_CAARLOC3 0x46
- #define OP_CALL0 0x47
- #define OP_CALL1 0x48
- #define OP_CALL2 0x49
- #define OP_CALL2R 0x4a
- #define OP_CALL3 0x4b
- #define OP_CALLN 0x4c
- #define OP_CALL0_0 0x4d
- #define OP_CALL0_1 0x4e
- #define OP_CALL0_2 0x4f
- #define OP_CALL0_3 0x50
- #define OP_CALL1_0 0x51
- #define OP_CALL1_1 0x52
- #define OP_CALL1_2 0x53
- #define OP_CALL1_3 0x54
- #define OP_CALL1_4 0x55
- #define OP_CALL1_5 0x56
- #define OP_CALL2_0 0x57
- #define OP_CALL2_1 0x58
- #define OP_CALL2_2 0x59
- #define OP_CALL2_3 0x5a
- #define OP_CALL2_4 0x5b
- #define OP_BUILTIN0 0x5c
- #define OP_BUILTIN1 0x5d
- #define OP_BUILTIN2 0x5e
- #define OP_BUILTIN2R 0x5f
- #define OP_BUILTIN3 0x60
- #define OP_APPLY1 0x61
- #define OP_APPLY2 0x62
- #define OP_APPLY3 0x63
- #define OP_APPLY4 0x64
- #define OP_JCALL 0x65
- #define OP_JCALLN 0x66
- #define OP_JUMP 0x67
- #define OP_JUMP_B 0x68
- #define OP_JUMP_L 0x69
- #define OP_JUMP_BL 0x6a
- #define OP_JUMPNIL 0x6b
- #define OP_JUMPNIL_B 0x6c
- #define OP_JUMPNIL_L 0x6d
- #define OP_JUMPNIL_BL 0x6e
- #define OP_JUMPT 0x6f
- #define OP_JUMPT_B 0x70
- #define OP_JUMPT_L 0x71
- #define OP_JUMPT_BL 0x72
- #define OP_JUMPATOM 0x73
- #define OP_JUMPATOM_B 0x74
- #define OP_JUMPATOM_L 0x75
- #define OP_JUMPATOM_BL 0x76
- #define OP_JUMPNATOM 0x77
- #define OP_JUMPNATOM_B 0x78
- #define OP_JUMPNATOM_L 0x79
- #define OP_JUMPNATOM_BL 0x7a
- #define OP_JUMPEQ 0x7b
- #define OP_JUMPEQ_B 0x7c
- #define OP_JUMPEQ_L 0x7d
- #define OP_JUMPEQ_BL 0x7e
- #define OP_JUMPNE 0x7f
- #define OP_JUMPNE_B 0x80
- #define OP_JUMPNE_L 0x81
- #define OP_JUMPNE_BL 0x82
- #define OP_JUMPEQUAL 0x83
- #define OP_JUMPEQUAL_B 0x84
- #define OP_JUMPEQUAL_L 0x85
- #define OP_JUMPEQUAL_BL 0x86
- #define OP_JUMPNEQUAL 0x87
- #define OP_JUMPNEQUAL_B 0x88
- #define OP_JUMPNEQUAL_L 0x89
- #define OP_JUMPNEQUAL_BL 0x8a
- #define OP_JUMPL0NIL 0x8b
- #define OP_JUMPL0T 0x8c
- #define OP_JUMPL1NIL 0x8d
- #define OP_JUMPL1T 0x8e
- #define OP_JUMPL2NIL 0x8f
- #define OP_JUMPL2T 0x90
- #define OP_JUMPL3NIL 0x91
- #define OP_JUMPL3T 0x92
- #define OP_JUMPL4NIL 0x93
- #define OP_JUMPL4T 0x94
- #define OP_JUMPST0NIL 0x95
- #define OP_JUMPST0T 0x96
- #define OP_JUMPST1NIL 0x97
- #define OP_JUMPST1T 0x98
- #define OP_JUMPST2NIL 0x99
- #define OP_JUMPST2T 0x9a
- #define OP_JUMPL0ATOM 0x9b
- #define OP_JUMPL0NATOM 0x9c
- #define OP_JUMPL1ATOM 0x9d
- #define OP_JUMPL1NATOM 0x9e
- #define OP_JUMPL2ATOM 0x9f
- #define OP_JUMPL2NATOM 0xa0
- #define OP_JUMPL3ATOM 0xa1
- #define OP_JUMPL3NATOM 0xa2
- #define OP_JUMPFREE1NIL 0xa3
- #define OP_JUMPFREE1T 0xa4
- #define OP_JUMPFREE2NIL 0xa5
- #define OP_JUMPFREE2T 0xa6
- #define OP_JUMPFREE3NIL 0xa7
- #define OP_JUMPFREE3T 0xa8
- #define OP_JUMPFREE4NIL 0xa9
- #define OP_JUMPFREE4T 0xaa
- #define OP_JUMPFREENIL 0xab
- #define OP_JUMPFREET 0xac
- #define OP_JUMPLIT1EQ 0xad
- #define OP_JUMPLIT1NE 0xae
- #define OP_JUMPLIT2EQ 0xaf
- #define OP_JUMPLIT2NE 0xb0
- #define OP_JUMPLIT3EQ 0xb1
- #define OP_JUMPLIT3NE 0xb2
- #define OP_JUMPLIT4EQ 0xb3
- #define OP_JUMPLIT4NE 0xb4
- #define OP_JUMPLITEQ 0xb5
- #define OP_JUMPLITNE 0xb6
- #define OP_JUMPB1NIL 0xb7
- #define OP_JUMPB1T 0xb8
- #define OP_JUMPB2NIL 0xb9
- #define OP_JUMPB2T 0xba
- #define OP_JUMPFLAGP 0xbb
- #define OP_JUMPNFLAGP 0xbc
- #define OP_JUMPEQCAR 0xbd
- #define OP_JUMPNEQCAR 0xbe
- #define OP_CATCH 0xbf
- #define OP_CATCH_B 0xc0
- #define OP_CATCH_L 0xc1
- #define OP_CATCH_BL 0xc2
- #define OP_UNCATCH 0xc3
- #define OP_THROW 0xc4
- #define OP_PROTECT 0xc5
- #define OP_UNPROTECT 0xc6
- #define OP_PVBIND 0xc7
- #define OP_PVRESTORE 0xc8
- #define OP_FREEBIND 0xc9
- #define OP_FREERSTR 0xca
- #define OP_EXIT 0xcb
- #define OP_NILEXIT 0xcc
- #define OP_LOC0EXIT 0xcd
- #define OP_LOC1EXIT 0xce
- #define OP_LOC2EXIT 0xcf
- #define OP_PUSH 0xd0
- #define OP_PUSHNIL 0xd1
- #define OP_PUSHNIL2 0xd2
- #define OP_PUSHNIL3 0xd3
- #define OP_PUSHNILS 0xd4
- #define OP_POP 0xd5
- #define OP_LOSE 0xd6
- #define OP_LOSE2 0xd7
- #define OP_LOSE3 0xd8
- #define OP_LOSES 0xd9
- #define OP_SWOP 0xda
- #define OP_EQ 0xdb
- #define OP_EQCAR 0xdc
- #define OP_EQUAL 0xdd
- #define OP_NUMBERP 0xde
- #define OP_CAR 0xdf
- #define OP_CDR 0xe0
- #define OP_CAAR 0xe1
- #define OP_CADR 0xe2
- #define OP_CDAR 0xe3
- #define OP_CDDR 0xe4
- #define OP_CONS 0xe5
- #define OP_NCONS 0xe6
- #define OP_XCONS 0xe7
- #define OP_ACONS 0xe8
- #define OP_LENGTH 0xe9
- #define OP_LIST2 0xea
- #define OP_LIST2STAR 0xeb
- #define OP_LIST3 0xec
- #define OP_PLUS2 0xed
- #define OP_ADD1 0xee
- #define OP_DIFFERENCE 0xef
- #define OP_SUB1 0xf0
- #define OP_TIMES2 0xf1
- #define OP_GREATERP 0xf2
- #define OP_LESSP 0xf3
- #define OP_FLAGP 0xf4
- #define OP_GET 0xf5
- #define OP_LITGET 0xf6
- #define OP_GETV 0xf7
- #define OP_QGETV 0xf8
- #define OP_QGETVN 0xf9
- #define OP_BIGSTACK 0xfa
- #define OP_BIGCALL 0xfb
- #define OP_ICASE 0xfc
- #define OP_FASTGET 0xfd
- #define OP_SPARE1 0xfe
- #define OP_SPARE2 0xff
- #endif /* header_bytes_h */
- /* end of bytes.h */
|