bytes.h 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. /* bytes.h Copyright (C) Codemist 1993-96 */
  2. /* Signature: 3be7b755 29-Mar-1999 */
  3. /*
  4. * Bytecode interpreter support.
  5. */
  6. #ifndef header_bytes_h
  7. #define header_bytes_h 1
  8. #define OP_LOADLOC 0x00
  9. #define OP_LOADLOC0 0x01
  10. #define OP_LOADLOC1 0x02
  11. #define OP_LOADLOC2 0x03
  12. #define OP_LOADLOC3 0x04
  13. #define OP_LOADLOC4 0x05
  14. #define OP_LOADLOC5 0x06
  15. #define OP_LOADLOC6 0x07
  16. #define OP_LOADLOC7 0x08
  17. #define OP_LOADLOC8 0x09
  18. #define OP_LOADLOC9 0x0a
  19. #define OP_LOADLOC10 0x0b
  20. #define OP_LOADLOC11 0x0c
  21. #define OP_LOC0LOC1 0x0d
  22. #define OP_LOC1LOC2 0x0e
  23. #define OP_LOC2LOC3 0x0f
  24. #define OP_LOC1LOC0 0x10
  25. #define OP_LOC2LOC1 0x11
  26. #define OP_LOC3LOC2 0x12
  27. #define OP_VNIL 0x13
  28. #define OP_LOADLIT 0x14
  29. #define OP_LOADLIT1 0x15
  30. #define OP_LOADLIT2 0x16
  31. #define OP_LOADLIT3 0x17
  32. #define OP_LOADLIT4 0x18
  33. #define OP_LOADLIT5 0x19
  34. #define OP_LOADLIT6 0x1a
  35. #define OP_LOADLIT7 0x1b
  36. #define OP_LOADFREE 0x1c
  37. #define OP_LOADFREE1 0x1d
  38. #define OP_LOADFREE2 0x1e
  39. #define OP_LOADFREE3 0x1f
  40. #define OP_LOADFREE4 0x20
  41. #define OP_STORELOC 0x21
  42. #define OP_STORELOC0 0x22
  43. #define OP_STORELOC1 0x23
  44. #define OP_STORELOC2 0x24
  45. #define OP_STORELOC3 0x25
  46. #define OP_STORELOC4 0x26
  47. #define OP_STORELOC5 0x27
  48. #define OP_STORELOC6 0x28
  49. #define OP_STORELOC7 0x29
  50. #define OP_STOREFREE 0x2a
  51. #define OP_STOREFREE1 0x2b
  52. #define OP_STOREFREE2 0x2c
  53. #define OP_STOREFREE3 0x2d
  54. #define OP_LOADLEX 0x2e
  55. #define OP_STORELEX 0x2f
  56. #define OP_CLOSURE 0x30
  57. #define OP_CARLOC0 0x31
  58. #define OP_CARLOC1 0x32
  59. #define OP_CARLOC2 0x33
  60. #define OP_CARLOC3 0x34
  61. #define OP_CARLOC4 0x35
  62. #define OP_CARLOC5 0x36
  63. #define OP_CARLOC6 0x37
  64. #define OP_CARLOC7 0x38
  65. #define OP_CARLOC8 0x39
  66. #define OP_CARLOC9 0x3a
  67. #define OP_CARLOC10 0x3b
  68. #define OP_CARLOC11 0x3c
  69. #define OP_CDRLOC0 0x3d
  70. #define OP_CDRLOC1 0x3e
  71. #define OP_CDRLOC2 0x3f
  72. #define OP_CDRLOC3 0x40
  73. #define OP_CDRLOC4 0x41
  74. #define OP_CDRLOC5 0x42
  75. #define OP_CAARLOC0 0x43
  76. #define OP_CAARLOC1 0x44
  77. #define OP_CAARLOC2 0x45
  78. #define OP_CAARLOC3 0x46
  79. #define OP_CALL0 0x47
  80. #define OP_CALL1 0x48
  81. #define OP_CALL2 0x49
  82. #define OP_CALL2R 0x4a
  83. #define OP_CALL3 0x4b
  84. #define OP_CALLN 0x4c
  85. #define OP_CALL0_0 0x4d
  86. #define OP_CALL0_1 0x4e
  87. #define OP_CALL0_2 0x4f
  88. #define OP_CALL0_3 0x50
  89. #define OP_CALL1_0 0x51
  90. #define OP_CALL1_1 0x52
  91. #define OP_CALL1_2 0x53
  92. #define OP_CALL1_3 0x54
  93. #define OP_CALL1_4 0x55
  94. #define OP_CALL1_5 0x56
  95. #define OP_CALL2_0 0x57
  96. #define OP_CALL2_1 0x58
  97. #define OP_CALL2_2 0x59
  98. #define OP_CALL2_3 0x5a
  99. #define OP_CALL2_4 0x5b
  100. #define OP_BUILTIN0 0x5c
  101. #define OP_BUILTIN1 0x5d
  102. #define OP_BUILTIN2 0x5e
  103. #define OP_BUILTIN2R 0x5f
  104. #define OP_BUILTIN3 0x60
  105. #define OP_APPLY1 0x61
  106. #define OP_APPLY2 0x62
  107. #define OP_APPLY3 0x63
  108. #define OP_APPLY4 0x64
  109. #define OP_JCALL 0x65
  110. #define OP_JCALLN 0x66
  111. #define OP_JUMP 0x67
  112. #define OP_JUMP_B 0x68
  113. #define OP_JUMP_L 0x69
  114. #define OP_JUMP_BL 0x6a
  115. #define OP_JUMPNIL 0x6b
  116. #define OP_JUMPNIL_B 0x6c
  117. #define OP_JUMPNIL_L 0x6d
  118. #define OP_JUMPNIL_BL 0x6e
  119. #define OP_JUMPT 0x6f
  120. #define OP_JUMPT_B 0x70
  121. #define OP_JUMPT_L 0x71
  122. #define OP_JUMPT_BL 0x72
  123. #define OP_JUMPATOM 0x73
  124. #define OP_JUMPATOM_B 0x74
  125. #define OP_JUMPATOM_L 0x75
  126. #define OP_JUMPATOM_BL 0x76
  127. #define OP_JUMPNATOM 0x77
  128. #define OP_JUMPNATOM_B 0x78
  129. #define OP_JUMPNATOM_L 0x79
  130. #define OP_JUMPNATOM_BL 0x7a
  131. #define OP_JUMPEQ 0x7b
  132. #define OP_JUMPEQ_B 0x7c
  133. #define OP_JUMPEQ_L 0x7d
  134. #define OP_JUMPEQ_BL 0x7e
  135. #define OP_JUMPNE 0x7f
  136. #define OP_JUMPNE_B 0x80
  137. #define OP_JUMPNE_L 0x81
  138. #define OP_JUMPNE_BL 0x82
  139. #define OP_JUMPEQUAL 0x83
  140. #define OP_JUMPEQUAL_B 0x84
  141. #define OP_JUMPEQUAL_L 0x85
  142. #define OP_JUMPEQUAL_BL 0x86
  143. #define OP_JUMPNEQUAL 0x87
  144. #define OP_JUMPNEQUAL_B 0x88
  145. #define OP_JUMPNEQUAL_L 0x89
  146. #define OP_JUMPNEQUAL_BL 0x8a
  147. #define OP_JUMPL0NIL 0x8b
  148. #define OP_JUMPL0T 0x8c
  149. #define OP_JUMPL1NIL 0x8d
  150. #define OP_JUMPL1T 0x8e
  151. #define OP_JUMPL2NIL 0x8f
  152. #define OP_JUMPL2T 0x90
  153. #define OP_JUMPL3NIL 0x91
  154. #define OP_JUMPL3T 0x92
  155. #define OP_JUMPL4NIL 0x93
  156. #define OP_JUMPL4T 0x94
  157. #define OP_JUMPST0NIL 0x95
  158. #define OP_JUMPST0T 0x96
  159. #define OP_JUMPST1NIL 0x97
  160. #define OP_JUMPST1T 0x98
  161. #define OP_JUMPST2NIL 0x99
  162. #define OP_JUMPST2T 0x9a
  163. #define OP_JUMPL0ATOM 0x9b
  164. #define OP_JUMPL0NATOM 0x9c
  165. #define OP_JUMPL1ATOM 0x9d
  166. #define OP_JUMPL1NATOM 0x9e
  167. #define OP_JUMPL2ATOM 0x9f
  168. #define OP_JUMPL2NATOM 0xa0
  169. #define OP_JUMPL3ATOM 0xa1
  170. #define OP_JUMPL3NATOM 0xa2
  171. #define OP_JUMPFREE1NIL 0xa3
  172. #define OP_JUMPFREE1T 0xa4
  173. #define OP_JUMPFREE2NIL 0xa5
  174. #define OP_JUMPFREE2T 0xa6
  175. #define OP_JUMPFREE3NIL 0xa7
  176. #define OP_JUMPFREE3T 0xa8
  177. #define OP_JUMPFREE4NIL 0xa9
  178. #define OP_JUMPFREE4T 0xaa
  179. #define OP_JUMPFREENIL 0xab
  180. #define OP_JUMPFREET 0xac
  181. #define OP_JUMPLIT1EQ 0xad
  182. #define OP_JUMPLIT1NE 0xae
  183. #define OP_JUMPLIT2EQ 0xaf
  184. #define OP_JUMPLIT2NE 0xb0
  185. #define OP_JUMPLIT3EQ 0xb1
  186. #define OP_JUMPLIT3NE 0xb2
  187. #define OP_JUMPLIT4EQ 0xb3
  188. #define OP_JUMPLIT4NE 0xb4
  189. #define OP_JUMPLITEQ 0xb5
  190. #define OP_JUMPLITNE 0xb6
  191. #define OP_JUMPB1NIL 0xb7
  192. #define OP_JUMPB1T 0xb8
  193. #define OP_JUMPB2NIL 0xb9
  194. #define OP_JUMPB2T 0xba
  195. #define OP_JUMPFLAGP 0xbb
  196. #define OP_JUMPNFLAGP 0xbc
  197. #define OP_JUMPEQCAR 0xbd
  198. #define OP_JUMPNEQCAR 0xbe
  199. #define OP_CATCH 0xbf
  200. #define OP_CATCH_B 0xc0
  201. #define OP_CATCH_L 0xc1
  202. #define OP_CATCH_BL 0xc2
  203. #define OP_UNCATCH 0xc3
  204. #define OP_THROW 0xc4
  205. #define OP_PROTECT 0xc5
  206. #define OP_UNPROTECT 0xc6
  207. #define OP_PVBIND 0xc7
  208. #define OP_PVRESTORE 0xc8
  209. #define OP_FREEBIND 0xc9
  210. #define OP_FREERSTR 0xca
  211. #define OP_EXIT 0xcb
  212. #define OP_NILEXIT 0xcc
  213. #define OP_LOC0EXIT 0xcd
  214. #define OP_LOC1EXIT 0xce
  215. #define OP_LOC2EXIT 0xcf
  216. #define OP_PUSH 0xd0
  217. #define OP_PUSHNIL 0xd1
  218. #define OP_PUSHNIL2 0xd2
  219. #define OP_PUSHNIL3 0xd3
  220. #define OP_PUSHNILS 0xd4
  221. #define OP_POP 0xd5
  222. #define OP_LOSE 0xd6
  223. #define OP_LOSE2 0xd7
  224. #define OP_LOSE3 0xd8
  225. #define OP_LOSES 0xd9
  226. #define OP_SWOP 0xda
  227. #define OP_EQ 0xdb
  228. #define OP_EQCAR 0xdc
  229. #define OP_EQUAL 0xdd
  230. #define OP_NUMBERP 0xde
  231. #define OP_CAR 0xdf
  232. #define OP_CDR 0xe0
  233. #define OP_CAAR 0xe1
  234. #define OP_CADR 0xe2
  235. #define OP_CDAR 0xe3
  236. #define OP_CDDR 0xe4
  237. #define OP_CONS 0xe5
  238. #define OP_NCONS 0xe6
  239. #define OP_XCONS 0xe7
  240. #define OP_ACONS 0xe8
  241. #define OP_LENGTH 0xe9
  242. #define OP_LIST2 0xea
  243. #define OP_LIST2STAR 0xeb
  244. #define OP_LIST3 0xec
  245. #define OP_PLUS2 0xed
  246. #define OP_ADD1 0xee
  247. #define OP_DIFFERENCE 0xef
  248. #define OP_SUB1 0xf0
  249. #define OP_TIMES2 0xf1
  250. #define OP_GREATERP 0xf2
  251. #define OP_LESSP 0xf3
  252. #define OP_FLAGP 0xf4
  253. #define OP_GET 0xf5
  254. #define OP_LITGET 0xf6
  255. #define OP_GETV 0xf7
  256. #define OP_QGETV 0xf8
  257. #define OP_QGETVN 0xf9
  258. #define OP_BIGSTACK 0xfa
  259. #define OP_BIGCALL 0xfb
  260. #define OP_ICASE 0xfc
  261. #define OP_FASTGET 0xfd
  262. #define OP_SPARE1 0xfe
  263. #define OP_SPARE2 0xff
  264. #endif /* header_bytes_h */
  265. /* end of bytes.h */