keywords.c 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  1. /* keywords.c - keyword tables for assembler */
  2. #include "syshead.h"
  3. #include "const.h"
  4. #include "type.h"
  5. #include "globvar.h"
  6. #include "opcode.h"
  7. /* --- start of keywords --- */
  8. /* registers */
  9. /* the register code (internal to assembler) is given in 1 byte */
  10. /* the "opcode" field is not used */
  11. PUBLIC char regs[] =
  12. {
  13. #ifdef I80386
  14. 2, 'B', 'P', BPREG, 0,
  15. 2, 'B', 'X', BXREG, 0,
  16. 2, 'D', 'I', DIREG, 0,
  17. 2, 'S', 'I', SIREG, 0,
  18. 3, 'E', 'A', 'X', EAXREG, 0,
  19. 3, 'E', 'B', 'P', EBPREG, 0,
  20. 3, 'E', 'B', 'X', EBXREG, 0,
  21. 3, 'E', 'C', 'X', ECXREG, 0,
  22. 3, 'E', 'D', 'I', EDIREG, 0,
  23. 3, 'E', 'D', 'X', EDXREG, 0,
  24. 3, 'E', 'S', 'I', ESIREG, 0,
  25. 3, 'E', 'S', 'P', ESPREG, 0,
  26. 2, 'A', 'X', AXREG, 0,
  27. 2, 'C', 'X', CXREG, 0,
  28. 2, 'D', 'X', DXREG, 0,
  29. 2, 'S', 'P', SPREG, 0,
  30. 2, 'A', 'H', AHREG, 0,
  31. 2, 'A', 'L', ALREG, 0,
  32. 2, 'B', 'H', BHREG, 0,
  33. 2, 'B', 'L', BLREG, 0,
  34. 2, 'C', 'H', CHREG, 0,
  35. 2, 'C', 'L', CLREG, 0,
  36. 2, 'D', 'H', DHREG, 0,
  37. 2, 'D', 'L', DLREG, 0,
  38. 2, 'C', 'S', CSREG, 0,
  39. 2, 'D', 'S', DSREG, 0,
  40. 2, 'E', 'S', ESREG, 0,
  41. 2, 'F', 'S', FSREG, 0,
  42. 2, 'G', 'S', GSREG, 0,
  43. 2, 'S', 'S', SSREG, 0,
  44. 3, 'C', 'R', '0', CR0REG, 0,
  45. 3, 'C', 'R', '2', CR2REG, 0,
  46. 3, 'C', 'R', '3', CR3REG, 0,
  47. 3, 'D', 'R', '0', DR0REG, 0,
  48. 3, 'D', 'R', '1', DR1REG, 0,
  49. 3, 'D', 'R', '2', DR2REG, 0,
  50. 3, 'D', 'R', '3', DR3REG, 0,
  51. 3, 'D', 'R', '6', DR6REG, 0,
  52. 3, 'D', 'R', '7', DR7REG, 0,
  53. 3, 'T', 'R', '3', TR3REG, 0,
  54. 3, 'T', 'R', '4', TR4REG, 0,
  55. 3, 'T', 'R', '5', TR5REG, 0,
  56. 3, 'T', 'R', '6', TR6REG, 0,
  57. 3, 'T', 'R', '7', TR7REG, 0,
  58. 2, 'S', 'T', ST0REG, 0,
  59. #endif /* I80386 */
  60. #ifdef MC6809
  61. 1, 'A', AREG, 0,
  62. 1, 'B', BREG, 0,
  63. 2, 'C', 'C', CCREG, 0,
  64. 1, 'D', DREG, 0,
  65. 2, 'D', 'P', DPREG, 0,
  66. 2, 'P', 'C', PCREG, 0,
  67. 3, 'P', 'C', 'R', PCREG, 0,
  68. 1, 'S', SREG, 0,
  69. 1, 'U', UREG, 0,
  70. 1, 'X', XREG, 0,
  71. 1, 'Y', YREG, 0,
  72. #endif
  73. 0 /* end of register list */
  74. };
  75. #ifdef I80386
  76. /* type sizes */
  77. /* the "opcode" field gives the type size */
  78. PUBLIC char typesizes[] =
  79. {
  80. 4, 'B', 'Y', 'T', 'E', BYTEOP, 1,
  81. 5, 'D', 'W', 'O', 'R', 'D', DWORDOP, 4,
  82. 5, 'F', 'W', 'O', 'R', 'D', FWORDOP, 6,
  83. 3, 'F', 'A', 'R', FAROP, 0,
  84. 4, 'N', 'E', 'A', 'R', WORDOP, 2,
  85. 3, 'P', 'T', 'R', PTROP, 0,
  86. 5, 'P', 'W', 'O', 'R', 'D', PWORDOP, 6,
  87. 5, 'Q', 'W', 'O', 'R', 'D', QWORDOP, 8,
  88. 5, 'T', 'B', 'Y', 'T', 'E', TBYTEOP, 10,
  89. 4, 'W', 'O', 'R', 'D', WORDOP, 2,
  90. 0 /* end of typesize list */
  91. };
  92. #endif
  93. /* ops */
  94. /* the routine number is given in 1 byte */
  95. /* the opcode is given in 1 byte (it is not used for pseudo-ops) */
  96. PUBLIC char ops[] =
  97. {
  98. /* pseudo-ops. The "opcode" field is unused and padded with a null byte */
  99. /* conditionals - must be first */
  100. 4, 'E', 'L', 'S', 'E', ELSEOP, 0,
  101. 6, 'E', 'L', 'S', 'E', 'I', 'F', ELSEIFOP, 0,
  102. 7, 'E', 'L', 'S', 'E', 'I', 'F', 'C', ELSEIFCOP, 0,
  103. 5, 'E', 'N', 'D', 'I', 'F', ENDIFOP, 0,
  104. 2, 'I', 'F', IFOP, 0,
  105. 3, 'I', 'F', 'C', IFCOP, 0,
  106. /* unconditionals */
  107. 6, '.', 'A', 'L', 'I', 'G', 'N', ALIGNOP, 0,
  108. 6, '.', 'A', 'S', 'C', 'I', 'I', FCCOP, 0,
  109. 6, '.', 'A', 'S', 'C', 'I', 'Z', ASCIZOP, 0,
  110. 5, '.', 'B', 'L', 'K', 'B', RMBOP, 0,
  111. 5, '.', 'B', 'L', 'K', 'W', BLKWOP, 0,
  112. 5, 'B', 'L', 'O', 'C', 'K', BLOCKOP, 0,
  113. 4, '.', 'B', 'S', 'S', BSSOP, 0,
  114. 5, '.', 'B', 'Y', 'T', 'E', FCBOP, 0,
  115. 4, 'C', 'O', 'M', 'M', COMMOP, 0,
  116. 5, '.', 'C', 'O', 'M', 'M', COMMOP1, 0,
  117. 5, '.', 'D', 'A', 'T', 'A', DATAOP, 0,
  118. 6, '.', 'D', 'A', 'T', 'A', '1', FCBOP, 0,
  119. 6, '.', 'D', 'A', 'T', 'A', '2', FDBOP, 0,
  120. #if SIZEOF_OFFSET_T > 2
  121. 6, '.', 'D', 'A', 'T', 'A', '4', FQBOP, 0,
  122. #endif
  123. 2, 'D', 'B', FCBOP, 0,
  124. #if SIZEOF_OFFSET_T > 2
  125. 2, 'D', 'D', FQBOP, 0,
  126. #endif
  127. 7, '.', 'D', 'E', 'F', 'I', 'N', 'E', EXPORTOP, 0,
  128. 2, 'D', 'W', FDBOP, 0,
  129. 3, 'E', 'N', 'D', PROCEOFOP, 0,
  130. 4, 'E', 'N', 'D', 'B', ENDBOP, 0,
  131. 6, '.', 'E', 'N', 'T', 'E', 'R', ENTEROP, 0,
  132. 5, 'E', 'N', 'T', 'R', 'Y', ENTRYOP, 0,
  133. 3, 'E', 'Q', 'U', EQUOP, 0,
  134. 5, '.', 'E', 'V', 'E', 'N', EVENOP, 0,
  135. 6, 'E', 'X', 'P', 'O', 'R', 'T', EXPORTOP, 0,
  136. 6, 'E', 'X', 'T', 'E', 'R', 'N', IMPORTOP, 0,
  137. 7, '.', 'E', 'X', 'T', 'E', 'R', 'N', IMPORTOP, 0,
  138. 5, 'E', 'X', 'T', 'R', 'N', IMPORTOP, 0,
  139. 4, 'F', 'A', 'I', 'L', FAILOP, 0,
  140. 5, '.', 'F', 'A', 'I', 'L', FAILOP, 0,
  141. 3, 'F', 'C', 'B', FCBOP, 0,
  142. 3, 'F', 'C', 'C', FCCOP, 0,
  143. 3, 'F', 'D', 'B', FDBOP, 0,
  144. 3, 'G', 'E', 'T', GETOP, 0,
  145. 7, '.', 'G', 'L', 'O', 'B', 'A', 'L', GLOBLOP, 0,
  146. 6, '.', 'G', 'L', 'O', 'B', 'L', GLOBLOP, 0,
  147. 5, 'I', 'D', 'E', 'N', 'T', IDENTOP, 0,
  148. 6, 'I', 'M', 'P', 'O', 'R', 'T', IMPORTOP, 0,
  149. 7, 'I', 'N', 'C', 'L', 'U', 'D', 'E', GETOP, 0,
  150. 5, 'L', 'C', 'O', 'M', 'M', LCOMMOP, 0,
  151. 6, '.', 'L', 'C', 'O', 'M', 'M', LCOMMOP1, 0,
  152. 5, '.', 'L', 'I', 'S', 'T', LISTOP, 0,
  153. 3, 'L', 'O', 'C', LOCOP, 0,
  154. #if SIZEOF_OFFSET_T > 2
  155. 5, '.', 'L', 'O', 'N', 'G', FQBOP, 0,
  156. #endif
  157. 8, '.', 'M', 'A', 'C', 'L', 'I', 'S', 'T', MACLISTOP, 0,
  158. 5, 'M', 'A', 'C', 'R', 'O', MACROOP, 0,
  159. 4, '.', 'M', 'A', 'P', MAPOP, 0,
  160. 3, 'O', 'R', 'G', ORGOP, 0,
  161. 4, '.', 'O', 'R', 'G', ORGOP, 0,
  162. 6, 'P', 'U', 'B', 'L', 'I', 'C', EXPORTOP, 0,
  163. 3, 'R', 'M', 'B', RMBOP, 0,
  164. 4, '.', 'R', 'O', 'M', DATAOP, 0,
  165. 5, '.', 'S', 'E', 'C', 'T', SECTOP, 0,
  166. 3, 'S', 'E', 'T', SETOP, 0,
  167. 5, 'S', 'E', 'T', 'D', 'P', SETDPOP, 0,
  168. 6, '.', 'S', 'H', 'O', 'R', 'T', FDBOP, 0,
  169. 6, '.', 'S', 'P', 'A', 'C', 'E', RMBOP, 0,
  170. 5, '.', 'T', 'E', 'X', 'T', TEXTOP, 0,
  171. #ifndef MC6809
  172. 5, 'U', 'S', 'E', '1', '6', USE16OP, 0,
  173. 5, 'U', 'S', 'E', '3', '2', USE32OP, 0,
  174. #endif
  175. 5, '.', 'W', 'A', 'R', 'N', WARNOP, 0,
  176. 5, '.', 'W', 'O', 'R', 'D', FDBOP, 0,
  177. 6, '.', 'Z', 'E', 'R', 'O', 'W', BLKWOP, 0,
  178. /* hardware ops. The opcode field is now used */
  179. #ifdef I80386
  180. 3, 'A', 'A', 'A', INHER, 0x37,
  181. 3, 'A', 'A', 'D', INHER_A, 0xD5,
  182. 3, 'A', 'A', 'M', INHER_A, 0xD4,
  183. 3, 'A', 'A', 'S', INHER, 0x3F,
  184. 3, 'A', 'D', 'C', GROUP1, 0x10,
  185. 3, 'A', 'D', 'D', GROUP1, 0x00,
  186. 3, 'A', 'N', 'D', GROUP1, 0x20,
  187. 4, 'A', 'R', 'P', 'L', EwGw, 0x63,
  188. 3, 'B', 'C', 'C', BCC, 0x73,
  189. 3, 'B', 'C', 'S', BCC, 0x72,
  190. 3, 'B', 'E', 'Q', BCC, 0x74,
  191. 3, 'B', 'G', 'E', BCC, 0x7D,
  192. 3, 'B', 'G', 'T', BCC, 0x7F,
  193. 3, 'B', 'H', 'I', BCC, 0x77,
  194. 4, 'B', 'H', 'I', 'S', BCC, 0x73,
  195. 3, 'B', 'L', 'E', BCC, 0x7E,
  196. 3, 'B', 'L', 'O', BCC, 0x72,
  197. 4, 'B', 'L', 'O', 'S', BCC, 0x76,
  198. 3, 'B', 'L', 'T', BCC, 0x7C,
  199. 3, 'B', 'M', 'I', BCC, 0x78,
  200. 3, 'B', 'N', 'E', BCC, 0x75,
  201. 5, 'B', 'O', 'U', 'N', 'D', GvMa, 0x62,
  202. 3, 'B', 'P', 'C', BCC, 0x7B,
  203. 3, 'B', 'P', 'L', BCC, 0x79,
  204. 3, 'B', 'P', 'S', BCC, 0x7A,
  205. 2, 'B', 'R', CALL, JMP_OPCODE,
  206. 3, 'B', 'V', 'C', BCC, 0x71,
  207. 3, 'B', 'V', 'S', BCC, 0x70,
  208. 4, 'C', 'A', 'L', 'L', CALL, JSR_OPCODE,
  209. 5, 'C', 'A', 'L', 'L', 'F', CALLI, 0x9A,
  210. 5, 'C', 'A', 'L', 'L', 'I', CALLI, 0x9A,
  211. 3, 'C', 'B', 'W', INHER16, 0x98,
  212. 3, 'C', 'L', 'C', INHER, 0xF8,
  213. 3, 'C', 'L', 'D', INHER, 0xFC,
  214. 3, 'C', 'L', 'I', INHER, 0xFA,
  215. 3, 'C', 'M', 'C', INHER, 0xF5,
  216. 3, 'C', 'M', 'P', GROUP1, CMP_OPCODE_BASE,
  217. 4, 'C', 'M', 'P', 'S', INHER, CMPSW_OPCODE,
  218. 5, 'C', 'M', 'P', 'S', 'B', INHER, CMPSB_OPCODE,
  219. 5, 'C', 'M', 'P', 'S', 'D', INHER32, CMPSW_OPCODE,
  220. 5, 'C', 'M', 'P', 'S', 'W', INHER16, CMPSW_OPCODE,
  221. 4, 'C', 'M', 'P', 'W', INHER16, CMPSW_OPCODE,
  222. 4, 'C', 'S', 'E', 'G', INHER, 0x2E,
  223. 3, 'C', 'W', 'D', INHER16, 0x99,
  224. 4, 'C', 'W', 'D', 'E', INHER32, 0x98,
  225. 3, 'C', 'D', 'Q', INHER32, 0x99,
  226. 3, 'D', 'A', 'A', INHER, 0x27,
  227. 3, 'D', 'A', 'S', INHER, 0x2F,
  228. 4, 'D', 'S', 'E', 'G', INHER, 0x3E,
  229. 3, 'D', 'E', 'C', INCDEC, 0x08,
  230. 3, 'D', 'I', 'V', DIVMUL, 0x30,
  231. 5, 'E', 'N', 'T', 'E', 'R', ENTER, 0xC8,
  232. 4, 'E', 'S', 'E', 'G', INHER, 0x26,
  233. 4, 'F', 'S', 'E', 'G', INHER, 0x64,
  234. 4, 'G', 'S', 'E', 'G', INHER, 0x65,
  235. 3, 'H', 'L', 'T', INHER, 0xF4,
  236. 4, 'I', 'D', 'I', 'V', DIVMUL, 0x38,
  237. 4, 'I', 'M', 'U', 'L', IMUL, 0x28,
  238. 2, 'I', 'N', IN, 0xEC,
  239. 3, 'I', 'N', 'C', INCDEC, 0x00,
  240. 3, 'I', 'N', 'S', INHER, 0x6D,
  241. 4, 'I', 'N', 'S', 'B', INHER, 0x6C,
  242. 4, 'I', 'N', 'S', 'D', INHER32, 0x6D,
  243. 4, 'I', 'N', 'S', 'W', INHER16, 0x6D,
  244. 3, 'I', 'N', 'T', INT, 0xCD,
  245. 4, 'I', 'N', 'T', 'O', INHER, 0xCE,
  246. 3, 'I', 'N', 'W', IN, 0xED,
  247. 4, 'I', 'R', 'E', 'T', INHER16, 0xCF,
  248. 5, 'I', 'R', 'E', 'T', 'D', INHER32, 0xCF,
  249. 1, 'J', CALL, JMP_SHORT_OPCODE,
  250. 2, 'J', 'A', JCC, 0x77,
  251. 3, 'J', 'A', 'E', JCC, 0x73,
  252. 2, 'J', 'B', JCC, 0x72,
  253. 3, 'J', 'B', 'E', JCC, 0x76,
  254. 2, 'J', 'C', JCC, 0x72,
  255. 4, 'J', 'C', 'X', 'E', JCXZ, 0x2,
  256. 4, 'J', 'C', 'X', 'Z', JCXZ, 0x2,
  257. 5, 'J', 'E', 'C', 'X', 'E', JCXZ, 0x4,
  258. 5, 'J', 'E', 'C', 'X', 'Z', JCXZ, 0x4,
  259. 2, 'J', 'E', JCC, 0x74,
  260. 2, 'J', 'G', JCC, 0x7F,
  261. 3, 'J', 'G', 'E', JCC, 0x7D,
  262. 2, 'J', 'L', JCC, 0x7C,
  263. 3, 'J', 'L', 'E', JCC, 0x7E,
  264. 3, 'J', 'M', 'P', CALL, JMP_SHORT_OPCODE,
  265. 4, 'J', 'M', 'P', 'F', CALLI, 0xEA,
  266. 4, 'J', 'M', 'P', 'I', CALLI, 0xEA,
  267. 3, 'J', 'N', 'A', JCC, 0x76,
  268. 4, 'J', 'N', 'A', 'E', JCC, 0x72,
  269. 3, 'J', 'N', 'B', JCC, 0x73,
  270. 4, 'J', 'N', 'B', 'E', JCC, 0x77,
  271. 3, 'J', 'N', 'C', JCC, 0x73,
  272. 3, 'J', 'N', 'E', JCC, 0x75,
  273. 3, 'J', 'N', 'G', JCC, 0x7E,
  274. 4, 'J', 'N', 'G', 'E', JCC, 0x7C,
  275. 3, 'J', 'N', 'L', JCC, 0x7D,
  276. 4, 'J', 'N', 'L', 'E', JCC, 0x7F,
  277. 3, 'J', 'N', 'O', JCC, 0x71,
  278. 3, 'J', 'N', 'P', JCC, 0x7B,
  279. 3, 'J', 'N', 'S', JCC, 0x79,
  280. 3, 'J', 'N', 'Z', JCC, 0x75,
  281. 2, 'J', 'O', JCC, 0x70,
  282. 2, 'J', 'P', JCC, 0x7A,
  283. 3, 'J', 'P', 'E', JCC, 0x7A,
  284. 3, 'J', 'P', 'O', JCC, 0x7B,
  285. 2, 'J', 'S', JCC, 0x78,
  286. 2, 'J', 'Z', JCC, 0x74,
  287. 4, 'L', 'A', 'H', 'F', INHER, 0x9F,
  288. 3, 'L', 'D', 'S', GvMp, 0xC5,
  289. 3, 'L', 'E', 'A', LEA, 0x8D,
  290. 5, 'L', 'E', 'A', 'V', 'E', INHER, 0xC9,
  291. 3, 'L', 'E', 'S', GvMp, 0xC4,
  292. 4, 'L', 'O', 'C', 'K', INHER, 0xF0,
  293. 4, 'L', 'O', 'D', 'B', INHER, 0xAC,
  294. 4, 'L', 'O', 'D', 'S', INHER, 0xAD,
  295. 5, 'L', 'O', 'D', 'S', 'B', INHER, 0xAC,
  296. 5, 'L', 'O', 'D', 'S', 'D', INHER32, 0xAD,
  297. 5, 'L', 'O', 'D', 'S', 'W', INHER16, 0xAD,
  298. 4, 'L', 'O', 'D', 'W', INHER16, 0xAD,
  299. 4, 'L', 'O', 'O', 'P', JCC, 0xE2,
  300. 5, 'L', 'O', 'O', 'P', 'E', JCC, 0xE1,
  301. 6, 'L', 'O', 'O', 'P', 'N', 'E', JCC, 0xE0,
  302. 6, 'L', 'O', 'O', 'P', 'N', 'Z', JCC, 0xE0,
  303. 5, 'L', 'O', 'O', 'P', 'Z', JCC, 0xE1,
  304. 3, 'M', 'O', 'V', MOV, 0x88,
  305. 4, 'M', 'O', 'V', 'S', INHER, MOVSW_OPCODE,
  306. 5, 'M', 'O', 'V', 'S', 'B', INHER, MOVSB_OPCODE,
  307. 5, 'M', 'O', 'V', 'S', 'D', INHER32, MOVSW_OPCODE,
  308. 5, 'M', 'O', 'V', 'S', 'W', INHER16, MOVSW_OPCODE,
  309. 4, 'M', 'O', 'V', 'W', INHER16, MOVSW_OPCODE,
  310. 3, 'M', 'U', 'L', DIVMUL, 0x20,
  311. 3, 'N', 'E', 'G', NEGNOT, 0x18,
  312. 3, 'N', 'O', 'P', INHER, 0x90,
  313. 3, 'N', 'O', 'T', NEGNOT, 0x10,
  314. 2, 'O', 'R', GROUP1, 0x08,
  315. 3, 'O', 'U', 'T', OUT, 0xEE,
  316. 4, 'O', 'U', 'T', 'S', INHER, 0x6F,
  317. 5, 'O', 'U', 'T', 'S', 'B', INHER, 0x6E,
  318. 5, 'O', 'U', 'T', 'S', 'D', INHER32, 0x6F,
  319. 5, 'O', 'U', 'T', 'S', 'W', INHER16, 0x6F,
  320. 4, 'O', 'U', 'T', 'W', OUT, 0xEF,
  321. 3, 'P', 'O', 'P', PUSHPOP, POP_OPCODE,
  322. 4, 'P', 'O', 'P', 'A', INHER16, 0x61,
  323. 5, 'P', 'O', 'P', 'A', 'D', INHER32, 0x61,
  324. 4, 'P', 'O', 'P', 'F', INHER16, 0x9D,
  325. 5, 'P', 'O', 'P', 'F', 'D', INHER32, 0x9D,
  326. 4, 'P', 'U', 'S', 'H', PUSHPOP, PUSH_OPCODE,
  327. 5, 'P', 'U', 'S', 'H', 'A', INHER16, 0x60,
  328. 6, 'P', 'U', 'S', 'H', 'A', 'D', INHER32, 0x60,
  329. 5, 'P', 'U', 'S', 'H', 'F', INHER16, 0x9C,
  330. 6, 'P', 'U', 'S', 'H', 'F', 'D', INHER32, 0x9C,
  331. 3, 'R', 'C', 'L', GROUP2, 0x10,
  332. 3, 'R', 'C', 'R', GROUP2, 0x18,
  333. 3, 'R', 'O', 'L', GROUP2, 0x00,
  334. 3, 'R', 'O', 'R', GROUP2, 0x08,
  335. 3, 'R', 'E', 'P', INHER, 0xF3,
  336. 4, 'R', 'E', 'P', 'E', INHER, 0xF3,
  337. 5, 'R', 'E', 'P', 'N', 'E', INHER, 0xF2,
  338. 5, 'R', 'E', 'P', 'N', 'Z', INHER, 0xF2,
  339. 4, 'R', 'E', 'P', 'Z', INHER, 0xF3,
  340. 3, 'R', 'E', 'T', RET, 0xC3,
  341. 4, 'R', 'E', 'T', 'F', RET, 0xCB,
  342. 4, 'R', 'E', 'T', 'I', RET, 0xCB,
  343. 4, 'S', 'A', 'H', 'F', INHER, 0x9E,
  344. 3, 'S', 'A', 'L', GROUP2, 0x20,
  345. 3, 'S', 'A', 'R', GROUP2, 0x38,
  346. 3, 'S', 'B', 'B', GROUP1, 0x18,
  347. 4, 'S', 'C', 'A', 'B', INHER, 0xAE,
  348. 4, 'S', 'C', 'A', 'S', INHER, 0xAF,
  349. 5, 'S', 'C', 'A', 'S', 'B', INHER, 0xAE,
  350. 5, 'S', 'C', 'A', 'S', 'D', INHER32, 0xAF,
  351. 5, 'S', 'C', 'A', 'S', 'W', INHER16, 0xAF,
  352. 4, 'S', 'C', 'A', 'W', INHER16, 0xAF,
  353. 3, 'S', 'E', 'G', SEG, 0x06,
  354. 3, 'S', 'H', 'L', GROUP2, 0x20,
  355. 3, 'S', 'H', 'R', GROUP2, 0x28,
  356. 4, 'S', 'S', 'E', 'G', INHER, 0x36,
  357. 3, 'S', 'T', 'C', INHER, 0xF9,
  358. 3, 'S', 'T', 'D', INHER, 0xFD,
  359. 3, 'S', 'T', 'I', INHER, 0xFB,
  360. 4, 'S', 'T', 'O', 'B', INHER, 0xAA,
  361. 4, 'S', 'T', 'O', 'S', INHER, 0xAB,
  362. 5, 'S', 'T', 'O', 'S', 'B', INHER, 0xAA,
  363. 5, 'S', 'T', 'O', 'S', 'D', INHER32, 0xAB,
  364. 5, 'S', 'T', 'O', 'S', 'W', INHER16, 0xAB,
  365. 4, 'S', 'T', 'O', 'W', INHER16, 0xAB,
  366. 3, 'S', 'U', 'B', GROUP1, 0x28,
  367. 4, 'T', 'E', 'S', 'T', TEST, 0x84,
  368. 4, 'W', 'A', 'I', 'T', INHER, WAIT_OPCODE,
  369. 4, 'X', 'C', 'H', 'G', XCHG, 0x86,
  370. 4, 'X', 'L', 'A', 'T', INHER, 0xD7,
  371. 5, 'X', 'L', 'A', 'T', 'B', INHER, 0xD7,
  372. 3, 'X', 'O', 'R', GROUP1, 0x30,
  373. /* floating point */
  374. 5, 'F', '2', 'X', 'M', '1', F_INHER, 0x70,
  375. 4, 'F', 'A', 'B', 'S', F_INHER, 0x61,
  376. 4, 'F', 'A', 'D', 'D', F_M4_M8_STST, 0x00,
  377. 5, 'F', 'A', 'D', 'D', 'P', F_STST, 0x60,
  378. 4, 'F', 'B', 'L', 'D', F_M10, 0x74,
  379. 5, 'F', 'B', 'S', 'T', 'P', F_M10, 0x76,
  380. 4, 'F', 'C', 'H', 'S', F_INHER, 0x60,
  381. 5, 'F', 'C', 'L', 'E', 'X', F_W_INHER, 0xE2,
  382. 4, 'F', 'C', 'O', 'M', F_M4_M8_OPTST, 0x02,
  383. 5, 'F', 'C', 'O', 'M', 'P', F_M4_M8_OPTST, 0x03,
  384. 6, 'F', 'C', 'O', 'M', 'P', 'P', F_INHER, 0x19,
  385. 4, 'F', 'C', 'O', 'S', F_INHER, 0x7F,
  386. 7, 'F', 'D', 'E', 'C', 'S', 'T', 'P', F_INHER, 0x76,
  387. 5, 'F', 'D', 'I', 'S', 'I', F_W_INHER, 0xE1,
  388. 4, 'F', 'D', 'I', 'V', F_M4_M8_STST, 0x06,
  389. 5, 'F', 'D', 'I', 'V', 'P', F_STST, 0x67,
  390. 5, 'F', 'D', 'I', 'V', 'R', F_M4_M8_STST, 0x07,
  391. 6, 'F', 'D', 'I', 'V', 'R', 'P', F_STST, 0x66,
  392. 4, 'F', 'E', 'N', 'I', F_W_INHER, 0xE0,
  393. 5, 'F', 'F', 'R', 'E', 'E', F_ST, 0x50,
  394. 5, 'F', 'I', 'A', 'D', 'D', F_M2_M4, 0x20,
  395. 5, 'F', 'I', 'C', 'O', 'M', F_M2_M4, 0x22,
  396. 6, 'F', 'I', 'C', 'O', 'M', 'P', F_M2_M4, 0x23,
  397. 5, 'F', 'I', 'D', 'I', 'V', F_M2_M4, 0x26,
  398. 6, 'F', 'I', 'D', 'I', 'V', 'R', F_M2_M4, 0x27,
  399. 4, 'F', 'I', 'L', 'D', F_M2_M4_M8, 0x30,
  400. 5, 'F', 'I', 'M', 'U', 'L', F_M2_M4, 0x21,
  401. 7, 'F', 'I', 'N', 'C', 'S', 'T', 'P', F_INHER, 0x77,
  402. 5, 'F', 'I', 'N', 'I', 'T', F_W_INHER, 0xE3,
  403. 4, 'F', 'I', 'S', 'T', F_M2_M4, 0x32,
  404. 5, 'F', 'I', 'S', 'T', 'P', F_M2_M4_M8, 0x33,
  405. 5, 'F', 'I', 'S', 'U', 'B', F_M2_M4, 0x24,
  406. 6, 'F', 'I', 'S', 'U', 'B', 'R', F_M2_M4, 0x25,
  407. 3, 'F', 'L', 'D', F_M4_M8_M10_ST, 0x10,
  408. 4, 'F', 'L', 'D', '1', F_INHER, 0x68,
  409. 6, 'F', 'L', 'D', 'L', '2', 'E', F_INHER, 0x6A,
  410. 6, 'F', 'L', 'D', 'L', '2', 'T', F_INHER, 0x69,
  411. 5, 'F', 'L', 'D', 'C', 'W', F_M2, 0x15,
  412. 6, 'F', 'L', 'D', 'E', 'N', 'V', F_M, 0x14,
  413. 6, 'F', 'L', 'D', 'L', 'G', '2', F_INHER, 0x6C,
  414. 6, 'F', 'L', 'D', 'L', 'N', '2', F_INHER, 0x6D,
  415. 5, 'F', 'L', 'D', 'P', 'I', F_INHER, 0x6B,
  416. 4, 'F', 'L', 'D', 'Z', F_INHER, 0x6E,
  417. 4, 'F', 'M', 'U', 'L', F_M4_M8_STST, 0x01,
  418. 5, 'F', 'M', 'U', 'L', 'P', F_STST, 0x61,
  419. 6, 'F', 'N', 'C', 'L', 'E', 'X', F_INHER, 0xE2,
  420. 6, 'F', 'N', 'D', 'I', 'S', 'I', F_INHER, 0xE1,
  421. 5, 'F', 'N', 'E', 'N', 'I', F_INHER, 0xE0,
  422. 6, 'F', 'N', 'I', 'N', 'I', 'T', F_INHER, 0xE3,
  423. 4, 'F', 'N', 'O', 'P', F_INHER, 0x50,
  424. 6, 'F', 'N', 'S', 'A', 'V', 'E', F_M, 0x56,
  425. 6, 'F', 'N', 'S', 'T', 'C', 'W', F_M2, 0x17,
  426. 7, 'F', 'N', 'S', 'T', 'E', 'N', 'V', F_M, 0x16,
  427. 6, 'F', 'N', 'S', 'T', 'S', 'W', F_M2_AX, 0x57,
  428. 6, 'F', 'P', 'A', 'T', 'A', 'N', F_INHER, 0x73,
  429. 5, 'F', 'P', 'R', 'E', 'M', F_INHER, 0x78,
  430. 6, 'F', 'P', 'R', 'E', 'M', '1', F_INHER, 0x75,
  431. 5, 'F', 'P', 'T', 'A', 'N', F_INHER, 0x72,
  432. 7, 'F', 'R', 'N', 'D', 'I', 'N', 'T', F_INHER, 0x7C,
  433. 6, 'F', 'R', 'S', 'T', 'O', 'R', F_M, 0x54,
  434. 5, 'F', 'S', 'A', 'V', 'E', F_W_M, 0x56,
  435. 6, 'F', 'S', 'C', 'A', 'L', 'E', F_INHER, 0x7D,
  436. 6, 'F', 'S', 'E', 'T', 'P', 'M', F_INHER, 0xE4,
  437. 4, 'F', 'S', 'I', 'N', F_INHER, 0x7E,
  438. 7, 'F', 'S', 'I', 'N', 'C', 'O', 'S', F_INHER, 0x7B,
  439. 5, 'F', 'S', 'Q', 'R', 'T', F_INHER, 0x7A,
  440. 3, 'F', 'S', 'T', F_M4_M8_ST, FST_ENCODED,
  441. 5, 'F', 'S', 'T', 'C', 'W', F_W_M2, 0x17,
  442. 6, 'F', 'S', 'T', 'E', 'N', 'V', F_W_M, 0x16,
  443. 4, 'F', 'S', 'T', 'P', F_M4_M8_M10_ST, FSTP_ENCODED,
  444. 5, 'F', 'S', 'T', 'S', 'W', F_W_M2_AX, 0x57,
  445. 4, 'F', 'S', 'U', 'B', F_M4_M8_STST, 0x04,
  446. 5, 'F', 'S', 'U', 'B', 'P', F_STST, 0x65,
  447. 5, 'F', 'S', 'U', 'B', 'R', F_M4_M8_STST, 0x05,
  448. 6, 'F', 'S', 'U', 'B', 'R', 'P', F_STST, 0x64,
  449. 4, 'F', 'T', 'S', 'T', F_INHER, 0x64,
  450. 5, 'F', 'U', 'C', 'O', 'M', F_OPTST, 0x54,
  451. 6, 'F', 'U', 'C', 'O', 'M', 'P', F_OPTST, 0x55,
  452. 7, 'F', 'U', 'C', 'O', 'M', 'P', 'P', F_INHER, 0xA9,
  453. 5, 'F', 'W', 'A', 'I', 'T', INHER, WAIT_OPCODE,
  454. 4, 'F', 'X', 'A', 'M', F_INHER, 0x65,
  455. 4, 'F', 'X', 'C', 'H', F_OPTST, 0x11,
  456. 7, 'F', 'X', 'T', 'R', 'A', 'C', 'T', F_INHER, 0x74,
  457. 5, 'F', 'Y', 'L', '2', 'X', F_INHER, 0x71,
  458. 7, 'F', 'Y', 'L', '2', 'X', 'P', '1', F_INHER, 0x79,
  459. #endif /* I80386 */
  460. #ifdef MC6809
  461. 3, 'A', 'B', 'X', INHER, 0x3A,
  462. 4, 'A', 'D', 'C', 'A', ALL, 0x89,
  463. 4, 'A', 'D', 'C', 'B', ALL, 0xC9,
  464. 4, 'A', 'D', 'D', 'A', ALL, 0x8B,
  465. 4, 'A', 'D', 'D', 'B', ALL, 0xCB,
  466. 4, 'A', 'D', 'D', 'D', ALL, 0xC3,
  467. 4, 'A', 'N', 'D', 'A', ALL, 0x84,
  468. 4, 'A', 'N', 'D', 'B', ALL, 0xC4,
  469. 5, 'A', 'N', 'D', 'C', 'C', IMMED, 0x1C,
  470. 3, 'A', 'S', 'L', ALTER, 0x08,
  471. 4, 'A', 'S', 'L', 'A', INHER, 0x48,
  472. 4, 'A', 'S', 'L', 'B', INHER, 0x58,
  473. 3, 'A', 'S', 'R', ALTER, 0x07,
  474. 4, 'A', 'S', 'R', 'A', INHER, 0x47,
  475. 4, 'A', 'S', 'R', 'B', INHER, 0x57,
  476. 3, 'B', 'C', 'C', SHORT, 0x24,
  477. 3, 'B', 'C', 'S', SHORT, 0x25,
  478. 3, 'B', 'E', 'Q', SHORT, 0x27,
  479. 3, 'B', 'G', 'E', SHORT, 0x2C,
  480. 3, 'B', 'G', 'T', SHORT, 0x2E,
  481. 3, 'B', 'H', 'I', SHORT, 0x22,
  482. 3, 'B', 'H', 'S', SHORT, 0x24,
  483. 4, 'B', 'I', 'T', 'A', ALL, 0X85,
  484. 4, 'B', 'I', 'T', 'B', ALL, 0XC5,
  485. 3, 'B', 'L', 'E', SHORT, 0x2F,
  486. 3, 'B', 'L', 'O', SHORT, 0x25,
  487. 3, 'B', 'L', 'S', SHORT, 0x23,
  488. 3, 'B', 'L', 'T', SHORT, 0x2D,
  489. 3, 'B', 'M', 'I', SHORT, 0x2B,
  490. 3, 'B', 'N', 'E', SHORT, 0x26,
  491. 3, 'B', 'P', 'L', SHORT, 0x2A,
  492. 3, 'B', 'R', 'A', SHORT, 0x20,
  493. 4, 'L', 'B', 'R', 'A', LONG, 0x16,
  494. 3, 'B', 'R', 'N', SHORT, 0x21,
  495. 3, 'B', 'S', 'R', SHORT, 0x8D,
  496. 4, 'L', 'B', 'S', 'R', LONG, 0x17,
  497. 3, 'B', 'V', 'C', SHORT, 0x28,
  498. 3, 'B', 'V', 'S', SHORT, 0x29,
  499. 3, 'C', 'L', 'R', ALTER, 0x0F,
  500. 4, 'C', 'L', 'R', 'A', INHER, 0x4F,
  501. 4, 'C', 'L', 'R', 'B', INHER, 0x5F,
  502. 4, 'C', 'M', 'P', 'A', ALL, 0x81,
  503. 4, 'C', 'M', 'P', 'B', ALL, 0xC1,
  504. 4, 'C', 'M', 'P', 'X', ALL, 0x8C,
  505. 3, 'C', 'O', 'M', ALTER, 0x03,
  506. 4, 'C', 'O', 'M', 'A', INHER, 0x43,
  507. 4, 'C', 'O', 'M', 'B', INHER, 0x53,
  508. 4, 'C', 'W', 'A', 'I', IMMED, 0x3C,
  509. 3, 'D', 'A', 'A', INHER, 0x19,
  510. 3, 'D', 'E', 'C', ALTER, 0x0A,
  511. 4, 'D', 'E', 'C', 'A', INHER, 0x4A,
  512. 4, 'D', 'E', 'C', 'B', INHER, 0x5A,
  513. 4, 'E', 'O', 'R', 'A', ALL, 0x88,
  514. 4, 'E', 'O', 'R', 'B', ALL, 0xC8,
  515. 3, 'E', 'X', 'G', SWAP, 0x1E,
  516. 3, 'I', 'N', 'C', ALTER, 0x0C,
  517. 4, 'I', 'N', 'C', 'A', INHER, 0x4C,
  518. 4, 'I', 'N', 'C', 'B', INHER, 0x5C,
  519. 3, 'J', 'M', 'P', ALTER, 0x0E,
  520. 3, 'J', 'S', 'R', ALTER, 0x8D,
  521. 3, 'L', 'D', 'A', ALL, 0x86,
  522. 3, 'L', 'D', 'B', ALL, 0xC6,
  523. 3, 'L', 'D', 'D', ALL, 0xCC,
  524. 3, 'L', 'D', 'U', ALL, 0xCE,
  525. 3, 'L', 'D', 'X', ALL, 0x8E,
  526. 4, 'L', 'E', 'A', 'S', INDEXD, 0x32,
  527. 4, 'L', 'E', 'A', 'U', INDEXD, 0x33,
  528. 4, 'L', 'E', 'A', 'X', INDEXD, 0x30,
  529. 4, 'L', 'E', 'A', 'Y', INDEXD, 0x31,
  530. 3, 'L', 'S', 'L', ALTER, 0x08,
  531. 4, 'L', 'S', 'L', 'A', INHER, 0x48,
  532. 4, 'L', 'S', 'L', 'B', INHER, 0x58,
  533. 3, 'L', 'S', 'R', ALTER, 0x04,
  534. 4, 'L', 'S', 'R', 'A', INHER, 0x44,
  535. 4, 'L', 'S', 'R', 'B', INHER, 0x54,
  536. 3, 'M', 'U', 'L', INHER, 0x3D,
  537. 3, 'N', 'E', 'G', ALTER, 0x00,
  538. 4, 'N', 'E', 'G', 'A', INHER, 0x40,
  539. 4, 'N', 'E', 'G', 'B', INHER, 0x50,
  540. 3, 'N', 'O', 'P', INHER, 0x12,
  541. 3, 'O', 'R', 'A', ALL, 0x8A,
  542. 3, 'O', 'R', 'B', ALL, 0xCA,
  543. 4, 'O', 'R', 'C', 'C', IMMED, 0x1A,
  544. 4, 'P', 'S', 'H', 'S', SSTAK, 0x34,
  545. 4, 'P', 'S', 'H', 'U', USTAK, 0x36,
  546. 4, 'P', 'U', 'L', 'S', SSTAK, 0x35,
  547. 4, 'P', 'U', 'L', 'U', USTAK, 0x37,
  548. 3, 'R', 'O', 'L', ALTER, 0x09,
  549. 4, 'R', 'O', 'L', 'A', INHER, 0x49,
  550. 4, 'R', 'O', 'L', 'B', INHER, 0x59,
  551. 3, 'R', 'O', 'R', ALTER, 0x06,
  552. 4, 'R', 'O', 'R', 'A', INHER, 0x46,
  553. 4, 'R', 'O', 'R', 'B', INHER, 0x56,
  554. 3, 'R', 'T', 'I', INHER, 0x3B,
  555. 3, 'R', 'T', 'S', INHER, 0x39,
  556. 4, 'S', 'B', 'C', 'A', ALL, 0x82,
  557. 4, 'S', 'B', 'C', 'B', ALL, 0xC2,
  558. 3, 'S', 'E', 'X', INHER, 0x1D,
  559. 3, 'S', 'T', 'A', ALTER, 0x87,
  560. 3, 'S', 'T', 'B', ALTER, 0xC7,
  561. 3, 'S', 'T', 'D', ALTER, 0xCD,
  562. 3, 'S', 'T', 'U', ALTER, 0xCF,
  563. 3, 'S', 'T', 'X', ALTER, 0x8F,
  564. 4, 'S', 'U', 'B', 'A', ALL, 0x80,
  565. 4, 'S', 'U', 'B', 'B', ALL, 0xC0,
  566. 4, 'S', 'U', 'B', 'D', ALL, 0x83,
  567. 3, 'S', 'W', 'I', INHER, 0x3F,
  568. 4, 'S', 'Y', 'N', 'C', INHER, 0x13,
  569. 3, 'T', 'F', 'R', SWAP, 0x1F,
  570. 3, 'T', 'S', 'T', ALTER, 0x0D,
  571. 4, 'T', 'S', 'T', 'A', INHER, 0x4D,
  572. 4, 'T', 'S', 'T', 'B', INHER, 0x5D,
  573. #endif /* MC6809 */
  574. 0 /* end of ops */
  575. };
  576. PUBLIC char page1ops[] =
  577. {
  578. #ifdef I80386
  579. 3, 'B', 'S', 'F', GvEv, 0xBC,
  580. 3, 'B', 'S', 'R', GvEv, 0xBD,
  581. 5, 'B', 'S', 'W', 'A', 'P', BSWAP, 0xC8,
  582. 2, 'B', 'T', GROUP8, 0x20,
  583. 3, 'B', 'T', 'C', GROUP8, 0x38,
  584. 3, 'B', 'T', 'R', GROUP8, 0x30,
  585. 3, 'B', 'T', 'S', GROUP8, 0x28,
  586. 4, 'C', 'L', 'T', 'S', INHER, 0x06,
  587. 7, 'C', 'M', 'P', 'X', 'C', 'H', 'G', ExGx, 0xA6,
  588. 4, 'I', 'N', 'V', 'D', INHER, 0x08,
  589. 6, 'I', 'N', 'V', 'L', 'P', 'G', GROUP7, 0x38,
  590. 3, 'L', 'A', 'R', GvEv, 0x02,
  591. 3, 'L', 'F', 'S', GvMp, 0xB4,
  592. 4, 'L', 'G', 'D', 'T', GROUP7, 0x10,
  593. 3, 'L', 'G', 'S', GvMp, 0xB5,
  594. 4, 'L', 'I', 'D', 'T', GROUP7, 0x18,
  595. 4, 'L', 'L', 'D', 'T', GROUP6, 0x10,
  596. 4, 'L', 'M', 'S', 'W', GROUP7, 0x30,
  597. 3, 'L', 'S', 'L', GvEv, 0x03,
  598. 3, 'L', 'S', 'S', GvMp, 0xB2,
  599. 3, 'L', 'T', 'R', GROUP6, 0x18,
  600. 5, 'M', 'O', 'V', 'S', 'X', MOVX, 0xBE,
  601. 5, 'M', 'O', 'V', 'Z', 'X', MOVX, 0xB6,
  602. 5, 'R', 'D', 'M', 'S', 'R', INHER, 0x32,
  603. 4, 'S', 'E', 'T', 'A', SETCC, 0x97,
  604. 5, 'S', 'E', 'T', 'A', 'E', SETCC, 0x93,
  605. 4, 'S', 'E', 'T', 'B', SETCC, 0x92,
  606. 5, 'S', 'E', 'T', 'B', 'E', SETCC, 0x96,
  607. 4, 'S', 'E', 'T', 'C', SETCC, 0x92,
  608. 4, 'S', 'E', 'T', 'E', SETCC, 0x94,
  609. 4, 'S', 'E', 'T', 'G', SETCC, 0x9F,
  610. 5, 'S', 'E', 'T', 'G', 'E', SETCC, 0x9D,
  611. 4, 'S', 'E', 'T', 'L', SETCC, 0x9C,
  612. 5, 'S', 'E', 'T', 'L', 'E', SETCC, 0x9E,
  613. 5, 'S', 'E', 'T', 'N', 'A', SETCC, 0x96,
  614. 6, 'S', 'E', 'T', 'N', 'A', 'E', SETCC, 0x92,
  615. 5, 'S', 'E', 'T', 'N', 'B', SETCC, 0x93,
  616. 6, 'S', 'E', 'T', 'N', 'B', 'E', SETCC, 0x97,
  617. 5, 'S', 'E', 'T', 'N', 'C', SETCC, 0x93,
  618. 5, 'S', 'E', 'T', 'N', 'E', SETCC, 0x95,
  619. 5, 'S', 'E', 'T', 'N', 'G', SETCC, 0x9E,
  620. 6, 'S', 'E', 'T', 'N', 'G', 'E', SETCC, 0x9C,
  621. 5, 'S', 'E', 'T', 'N', 'L', SETCC, 0x9D,
  622. 6, 'S', 'E', 'T', 'N', 'L', 'E', SETCC, 0x9F,
  623. 5, 'S', 'E', 'T', 'N', 'O', SETCC, 0x91,
  624. 5, 'S', 'E', 'T', 'N', 'P', SETCC, 0x9B,
  625. 5, 'S', 'E', 'T', 'N', 'S', SETCC, 0x99,
  626. 5, 'S', 'E', 'T', 'N', 'Z', SETCC, 0x95,
  627. 4, 'S', 'E', 'T', 'O', SETCC, 0x90,
  628. 4, 'S', 'E', 'T', 'P', SETCC, 0x9A,
  629. 5, 'S', 'E', 'T', 'P', 'E', SETCC, 0x9A,
  630. 5, 'S', 'E', 'T', 'P', 'O', SETCC, 0x9B,
  631. 4, 'S', 'E', 'T', 'S', SETCC, 0x98,
  632. 4, 'S', 'E', 'T', 'Z', SETCC, 0x94,
  633. 4, 'S', 'G', 'D', 'T', GROUP7, 0x00,
  634. 4, 'S', 'I', 'D', 'T', GROUP7, 0x08,
  635. 4, 'S', 'H', 'L', 'D', SH_DOUBLE, 0xA4,
  636. 4, 'S', 'H', 'R', 'D', SH_DOUBLE, 0xAC,
  637. 4, 'S', 'L', 'D', 'T', GROUP6, 0x00,
  638. 4, 'S', 'M', 'S', 'W', GROUP7, 0x20,
  639. 3, 'S', 'T', 'R', GROUP6, 0x08,
  640. 4, 'V', 'E', 'R', 'R', GROUP6, 0x20,
  641. 4, 'V', 'E', 'R', 'W', GROUP6, 0x28,
  642. 6, 'W', 'B', 'I', 'N', 'V', 'D', INHER, 0x09,
  643. 5, 'W', 'R', 'M', 'S', 'R', INHER, 0x30,
  644. 4, 'X', 'A', 'D', 'D', ExGx, 0xC0,
  645. #endif /* I80386 */
  646. #ifdef MC6809
  647. 4, 'L', 'B', 'C', 'C', LONG, 0x24,
  648. 4, 'L', 'B', 'C', 'S', LONG, 0x25,
  649. 4, 'L', 'B', 'E', 'Q', LONG, 0x27,
  650. 4, 'L', 'B', 'G', 'E', LONG, 0x2C,
  651. 4, 'L', 'B', 'G', 'T', LONG, 0x2E,
  652. 4, 'L', 'B', 'H', 'I', LONG, 0x22,
  653. 4, 'L', 'B', 'H', 'S', LONG, 0x24,
  654. 4, 'L', 'B', 'L', 'E', LONG, 0x2F,
  655. 4, 'L', 'B', 'L', 'O', LONG, 0x25,
  656. 4, 'L', 'B', 'L', 'S', LONG, 0x23,
  657. 4, 'L', 'B', 'L', 'T', LONG, 0x2D,
  658. 4, 'L', 'B', 'M', 'I', LONG, 0x2B,
  659. 4, 'L', 'B', 'N', 'E', LONG, 0x26,
  660. 4, 'L', 'B', 'P', 'L', LONG, 0x2A,
  661. 4, 'L', 'B', 'R', 'N', LONG, 0x21,
  662. 4, 'L', 'B', 'V', 'C', LONG, 0x28,
  663. 4, 'L', 'B', 'V', 'S', LONG, 0x29,
  664. 4, 'C', 'M', 'P', 'D', ALL, 0x83,
  665. 4, 'C', 'M', 'P', 'Y', ALL, 0x8C,
  666. 3, 'L', 'D', 'S', ALL, 0xCE,
  667. 3, 'L', 'D', 'Y', ALL, 0x8E,
  668. 3, 'S', 'T', 'S', ALTER, 0xCF,
  669. 3, 'S', 'T', 'Y', ALTER, 0x8F,
  670. 4, 'S', 'W', 'I', '2', INHER, 0x3F,
  671. #endif /* MC6809 */
  672. 0 /* end of page 1 ops */
  673. };
  674. PUBLIC char page2ops[] =
  675. {
  676. #ifdef MC6809
  677. 4, 'C', 'M', 'P', 'S', ALL, 0x8C,
  678. 4, 'C', 'M', 'P', 'U', ALL, 0x83,
  679. 4, 'S', 'W', 'I', '3', INHER, 0x3F,
  680. #endif
  681. 0 /* end of page 2 ops */
  682. };
  683. #ifdef I80386
  684. # ifdef MNSIZE
  685. PUBLIC char bytesizeops[] =
  686. {
  687. 4, 'A', 'D', 'C', 'B', GROUP1, 0x10,
  688. 4, 'A', 'D', 'D', 'B', GROUP1, 0x00,
  689. 4, 'A', 'N', 'D', 'B', GROUP1, 0x20,
  690. 4, 'C', 'M', 'P', 'B', GROUP1, CMP_OPCODE_BASE,
  691. 4, 'D', 'E', 'C', 'B', INCDEC, 0x08,
  692. 4, 'D', 'I', 'V', 'B', DIVMUL, 0x30,
  693. 5, 'I', 'D', 'I', 'V', 'B', DIVMUL, 0x38,
  694. 5, 'I', 'M', 'U', 'L', 'B', IMUL, 0x28,
  695. 3, 'I', 'N', 'B', IN, 0xEC,
  696. 4, 'I', 'N', 'C', 'B', INCDEC, 0x00,
  697. 4, 'M', 'O', 'V', 'B', MOV, 0x88,
  698. 4, 'M', 'U', 'L', 'B', DIVMUL, 0x20,
  699. 4, 'N', 'E', 'G', 'B', NEGNOT, 0x18,
  700. 4, 'N', 'O', 'T', 'B', NEGNOT, 0x10,
  701. 3, 'O', 'R', 'B', GROUP1, 0x08,
  702. 4, 'O', 'U', 'T', 'B', OUT, 0xEE,
  703. 4, 'R', 'C', 'L', 'B', GROUP2, 0x10,
  704. 4, 'R', 'C', 'R', 'B', GROUP2, 0x18,
  705. 4, 'R', 'O', 'L', 'B', GROUP2, 0x00,
  706. 4, 'R', 'O', 'R', 'B', GROUP2, 0x08,
  707. 4, 'S', 'A', 'L', 'B', GROUP2, 0x20,
  708. 4, 'S', 'A', 'R', 'B', GROUP2, 0x38,
  709. 4, 'S', 'H', 'L', 'B', GROUP2, 0x20,
  710. 4, 'S', 'H', 'R', 'B', GROUP2, 0x28,
  711. 4, 'S', 'B', 'B', 'B', GROUP1, 0x18,
  712. 4, 'S', 'U', 'B', 'B', GROUP1, 0x28,
  713. 5, 'T', 'E', 'S', 'T', 'B', TEST, 0x84,
  714. 5, 'X', 'C', 'H', 'G', 'B', XCHG, 0x86,
  715. 4, 'X', 'O', 'R', 'B', GROUP1, 0x30,
  716. 0 /* end of byte size ops */
  717. };
  718. # endif /* MNSIZE */
  719. #endif /* I80386 */
  720. /* --- end of keywords --- */