peropcod.txt
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:69k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. ########################################################################
  2. #
  3. #   QB Master Peropcod.Txt:
  4. #
  5. # This file is machine read by tool OpTabler.
  6. # The format of this file is:
  7. #     - "#" in column 1 causes the line to be a comment.
  8. #     - blank lines are ignored.
  9. #     - "@" in column 1 followed immediately by 1-6 characters
  10. #       begins a new class of opcodes. These classes are used to
  11. #       produce a number of opcode .inc & .h files, so that the
  12. #       number of EQU/#define directives for opcodes is minimized
  13. #       in each source file.  the special class name "__END_COMMON"
  14. #       is reserved to indicate the end of the block of the common
  15. #       block.  all new opcodes should be added after this indicator.
  16. #     - each logical line describes 1 opcode and is terminated by ';'
  17. #     - fields within a line are separated by '|'s or any number of
  18. #       newlines
  19. #     - OpTabler will report if the wrong number of fields were
  20. #       found on a line.
  21. #     - the field definitions within a line are:
  22. # 1. opcode name
  23. # 2. level of opcode support if a product doesn't appear
  24. #    in this column, the opcode is fully supported, if it's
  25. #    prefixed by a "*" it is not supported or listable,
  26. #    otherwise its listable but not supported.
  27. # 3. scan dispatch label
  28. # 4. rule table index
  29. # 5. executor address map for this opcode
  30. # 6. opcode attribute count (in bytes)
  31. # 7. opcode's LIST rule dispatch
  32. # 8. offset into reserved word table for opcode (for LIST)
  33. #
  34. ########################################################################
  35. #
  36. # NOTE: Parser assumes opXXImp..opXXSD match ET_IMP..ET_SD
  37. #
  38. # Start of contiguous block assumed by parser
  39. #
  40. ########################################################################
  41. # Start of Minimal set of opcodes
  42. ########################################################################
  43. @MIN
  44. #
  45. # prsmain.asm assumes next 2 opcodes are contiguous
  46. #
  47. opBol             |                       | Ss_Bol            | 0
  48.                     exBol0                | OPA_fSsRude+OPA_fTxtFind
  49.                     LrBol                 | 0;
  50. opBolSp           |                       | Ss_BolEmit        | 0
  51.                     exBolSp               | 2+OPA_fSsRude+OPA_fTxtFind
  52.     LrBolSp   | 0;
  53. #
  54. # end of contiguous block assumed by prsmain.asm
  55. #
  56. #
  57. # prsmain.asm assumes next 2 opcodes are contiguous
  58. #
  59. opBolInclude      |                       | Ss_BolEmit        | 0
  60.                     exBolInclude          | 2+OPA_fSsRude+OPA_fTxtFind
  61.                     LrBolInclude          | 0;
  62. opBolIncludeSp    |                       | Ss_BolEmit        | 0
  63.                     exBolIncludeSp        | 4+OPA_fSsRude+OPA_fTxtFind
  64.     LrBolIncludeSp   | 0;
  65. #
  66. # end of contiguous block assumed by prsmain.asm
  67. #
  68. opBolLab          |                       | Ss_BolLabDef      | 0
  69.                     exBolLab              | 4+OPA_fSsRude+OPA_fTxtFind
  70.                     LrBolLab              | 0;
  71. opBolLabSp        |                       | Ss_BolLabDef      | 0
  72.                     exBolLabSp            | 6+OPA_fSsRude+OPA_fTxtFind
  73.                     LrBolLabSp            | 0;
  74. opBos             |                       | Ss_Bos            | 0
  75.                     exBos                 | OPA_fSsRude+OPA_fTxtFind
  76.                     LrBos                 | 0;
  77. opBosSp           |                       | Ss_Bos            | 0
  78.                     exBosSp               | 2+OPA_fSsRude+OPA_fTxtFind
  79.                     LrBosSp               | 0;
  80. opEot             |                       | Ss_Eot            | 0
  81.                     exEot                 | OPA_fSsRude+OPA_fTxtFind
  82.                     LrEot                 | 0;
  83. opEndProg   |   | Ss_Bos       | 0
  84.                     exEndProg             | OPA_fTxtFind
  85.                     LrEndProg             | 0;
  86. opReParse         |                       | Ss_NotDefined     | 0
  87.                     ExNotDefined          | OPA_CntMask+OPA_fTxtFind
  88.                     LrReParse             | 0;
  89. ########################################################################
  90. # Start of ID related opcodes
  91. ########################################################################
  92. @ID
  93. opIdLd            |                       | ss_IdLd           | LOWUND
  94.                     mpLdExpOpExe          | 2+OPA_fSsRude
  95.                     LrIdLd                | 0;
  96. opIdSt            |                       | Ss_IdSt           | LOWUND
  97.                     mpStExpOpExe          | 2+OPA_fSsRude+OPA_fExecute
  98.                     LrIdSt                | 0;
  99. opVtRf            |                       | Ss_VtRf           | LOWUND
  100.                     mpVtRfOpExe           | 2+OPA_fSsRude
  101.                     LrVtRf                | 0;
  102. opAIdLd           |                       | Ss_AIdLd          | LOWUND
  103.                     mpALdExpOpExe         | 4+OPA_fSsRude
  104.                     LrAIdLd               | 0;
  105. opAIdSt           |                       | Ss_AIdSt          | LOWUND
  106.                     mpAStExpOpExe         | 4+OPA_fSsRude+OPA_fExecute
  107.                     LrAIdSt               | 0;
  108. opAVtRf           |                       | Ss_AVtRf          | LOWUND
  109.                     mpAVtRfOpExe          | 4+OPA_fSsRude
  110.                     LrAVtRf               | 0;
  111. opOffLd           |                       | Ss_OffLd          | LOWUND
  112.                     mpOffLdExpOpExe       | 2+OPA_fSsRude
  113.                     LrOffLd               | 0;
  114. opOffSt           |                       | Ss_OffSt          | LOWUND
  115.                     mpOffStExpOpExe       | 2+OPA_fSsRude+OPA_fExecute
  116.     LrOffSt   | 0;
  117. # opcodes needed for arrays in records currently not supported in any products
  118. opOffALd   | *qb     | Ss_OffLd        | LOWUND
  119.                     mpOffLdExpOpExe       | 4+OPA_fSsRude
  120.                     LrOffALd              | 0;
  121. opOffASt   | *qb     | Ss_OffSt        | LOWUND
  122.                     mpOffStExpOpExe       | 4+OPA_fSsRude+OPA_fExecute
  123.                     LrOffASt              | 0;
  124. #
  125. # end of contiguous block assumed by parser
  126. #
  127. opAsType          |                       | Ss_AsType         | 0
  128.                     exAsType              | 4+OPA_fSsRude+OPA_fTxtFind
  129.                     LrAsType              | ORW_As;
  130. opAsTypeExp       |                       | Ss_AsType         | 0
  131.                     exAsTypeExp           | 4+OPA_fSsRude+OPA_fTxtFind
  132.                     LrAsTypeExp           | ORW_As;
  133. opNoType   |        | Ss_0_0       | 0
  134.                     exNoType              | 0+OPA_fTxtFind
  135.                     LrNoType              | 0;
  136. opDimOptionBase   |                       | Ss_Lit            | ET_I2+HIGH ST_LIT
  137.                     exDimOptionBase       | 0
  138.                     LrDimOptionBase       | 0;
  139. opElemRef         |                       | Ss_ElemRef        | 0
  140.                     exElemRef             | 2+OPA_fTxtFind
  141.                     LrElemRef             | 0;
  142. opShared   |        | Ss_Shared       | 0
  143.                     exShared              | OPA_fSsRude+OPA_fTxtFind
  144.                     LrShared              | ORW_Shared;
  145. opStDefType       |                       | Ss_StDefType      | 0
  146.                     exStDefType           | 6+OPA_fSsRude+OPA_fTxtFind
  147.     LrStDefType    | 0;
  148. opStReDimTo   |   | Ss_ReDim       | 0
  149.     exStReDimTo    | OPA_fTxtFind+OPA_fExecute
  150.     LrStReDimTo    | ORW_ReDim;
  151. opStEndType       |                       | Ss_StEndType      | 0
  152.                     exStEndType           | 2+OPA_fSsRude + OPA_fTxtFind
  153.                     LrStEndType           | ORW_Type;
  154. opStShared   |        | Ss_StShared       | 0
  155.                     exStShared            | 2+OPA_fSsRude+OPA_fTxtFind
  156.                     LrStShared            | ORW_Shared;
  157. opStStatic   |        | Ss_StStatic       | 0
  158.                     exStStatic            | 2+OPA_fSsRude+OPA_fTxtFind
  159.                     LrStStatic            | ORW_Static;
  160. opStType          |                       | Ss_StType         | 0
  161.                     exStType              | 4+OPA_fSsRude + OPA_fTxtFind
  162.                     LrStType              | ORW_Type;
  163. op_Static   |        | Ss_Static       | 0
  164.                     ex_Static             | OPA_CntMask+OPA_fTxtFind
  165.                     Lr_Static             | 0;
  166. op_Dynamic   |        | Ss_Dynamic       | 0
  167.                     ex_Dynamic            | OPA_CntMask+OPA_fTxtFind
  168.                     Lr_Dynamic            | 0;
  169. opStConst         |                       | Ss_StConst        | 0
  170.                     exStConst             | OPA_fSsRude+OPA_fTxtFind
  171.                     LrStConst             | ORW_CONST;
  172. ########################################################################
  173. # Start of Control-related opcodes
  174. ########################################################################
  175. @CONTRL
  176. opBreakPoint   |   | Ss_Bos       | 0
  177.                     exBreakPoint          | OPA_fTxtFind
  178.                     LrNoList              | 0;
  179. opByVal    |   | Ss_ByVal_Seg      | ByValMarker
  180.                     exByVal               | 0
  181.                     LrRwExp1              | ORW_Byval;
  182. opEndSingleDef   |        | Ss_EndSingleDef   | 0
  183.                     ExEndSingleDef        | 4+OPA_fSsRude+OPA_fTxtFind
  184.     LrEndSingleDef   | 0;
  185. #
  186. # NOTE:
  187. # For scan purposes, opEv<On|Off|Stop> do not take arguments.
  188. #  Therefore, each opEvxxx event handler is considered to not emit an argument.
  189. #  This is not actually the case.  It is handled this way for speed since:
  190. # 1.  the argument counts are always one
  191. # 2.  the argument type is always I2
  192. # 3.  the parser ensures that no syntax can intervene
  193. #
  194. opEvCom    |        | Ss_4ET_ET       | SSR_I2_None
  195.                     exEvCom               | OPA_fExecute
  196.                     LrFunc1Arg            | ORW_Com;
  197. opEvGosub   |        | Ss_MrsLabelRef    | SSR_1LabMain0Arg
  198.                     exEvGosub             | 2+OPA_fTxtFind+OPA_fExecute
  199.                     LrEvGosub             | ORW_Gosub;
  200. opEvKey    |        | Ss_4ET_ET       | SSR_I2_None
  201.                     exEvKey               | OPA_fExecute
  202.                     LrFunc1Arg            | ORW_Key;
  203. opEvOff    |        | Ss_0_0       | 0
  204.                     exEvOff               | OPA_fTxtFind+OPA_fExecute
  205.                     LrEvOff               | ORW_Off;
  206. opEvOn   |        | Ss_0_0       | 0
  207.                     exEvOn                | OPA_fTxtFind+OPA_fExecute
  208.                     LrEvOn                | ORW_On;
  209. opEvStop   |        | Ss_0_0       | 0
  210.                     exEvStop              | OPA_fTxtFind+OPA_fExecute
  211.                     LrEvStop              | ORW_Stop;
  212. opEvPen    |        | Ss_0_0       | 0
  213.                     exEvPen               | OPA_fExecute
  214.                     LrRw                  | ORW_Pen;
  215. opEvPlay0   |        | Ss_0_0       | 0
  216.                     exEvPlay0             | OPA_fExecute
  217.                     LrRw                  | ORW_Play;
  218. opEvPlay1   |        | Ss_4ET_ET       | SSR_I2_None
  219.                     exEvPlay1             | OPA_fExecute
  220.                     LrFunc1Arg            | ORW_Play;
  221. opEvSignal   |        | Ss_4ET_ET       | SSR_I2_None
  222.                     exEvSignal            | OPA_fExecute
  223.                     LrFunc1Arg            | ORW_Signal;
  224. opEvStrig   |        | Ss_4ET_ET       | SSR_I2_None
  225.                     exEvStrig             | OPA_fExecute
  226.                     LrFunc1Arg            | ORW_Strig;
  227. opEvTimer0   |        | Ss_0_0       | 0
  228.                     exEvTimer0            | OPA_fExecute
  229.                     LrRw                  | ORW_Timer;
  230. opEvTimer1   |        | Ss_4ET_ET       | SSR_I4_None
  231.                     exEvTimer1            | OPA_fExecute
  232.                     LrFunc1Arg            | ORW_Timer;
  233. opLab             |                       | Ss_LabDef         | 0
  234.                     exLab                 | 4+OPA_fTxtFind
  235.                     LrLab                 | 0;
  236. opLabSp           |                       | Ss_LabDef         | 0
  237.                     exLabSp               | 6+OPA_fTxtFind
  238.                     LrLabSp               | 0;
  239. opSeg   |        | Ss_ByVal_Seg      | SegMarker
  240.                     exSeg                 | 0
  241.                     LrRwExp1              | ORW_Seg;
  242. opStCall          |                       | Ss_StCall         | 0
  243.                     exStCall              | 4+OPA_fTxtFind+OPA_fExecute
  244.                     LrStCall              | ORW_Call;
  245. opStCallLess      |                       | Ss_StCallLess     | 0
  246.                     exStCallLess          | 4+OPA_fTxtFind+OPA_fExecute
  247.                     LrStCallLess          | 0;
  248. opStCallS   |        | Ss_StCallS       | 0
  249.                     exStCallS             | 4+OPA_fTxtFind+OPA_fExecute
  250.                     LrStCallS             | ORW_CallS;
  251. opStCaseElse      |                       | Ss_CaseElse       | 0
  252.                     mStCaseElse           | OPA_fExecute
  253.                     LrStCaseElse          | ORW_Case;
  254. opStCase          |                       | Ss_Case           | 0
  255.                     mStCase               | OPA_fExecute
  256.                     LrStCase              | ORW_Case;
  257. opStCaseTo        |                       | Ss_CaseTo         | 0
  258.                     mStCaseTo             | OPA_fExecute
  259.                     LrStCaseTo            | ORW_To;
  260. #
  261. # start of contiguous block assumed by NtCaseRelation() in parser
  262. #
  263. opStCaseEq        |                       | Ss_Case           | 0
  264.                     mStCaseEq             | 0+OPA_fExecute
  265.                     LrStCaseRel           | '=';
  266. opStCaseLt        |                       | Ss_Case           | 0
  267.                     mStCaseLt             | 0+OPA_fExecute
  268.                     LrStCaseRel           | '<';
  269. opStCaseGt        |                       | Ss_Case           | 0
  270.                     mStCaseGt             | 0+OPA_fExecute
  271.                     LrStCaseRel           | '>';
  272. opStCaseLe        |                       | Ss_Case           | 0
  273.                     mStCaseLe             | 0+OPA_fExecute
  274.                     LrStCaseRel           | "=<";
  275. opStCaseGe        |                       | Ss_Case           | 0
  276.                     mStCaseGe             | 0+OPA_fExecute
  277.                     LrStCaseRel           | "=>";
  278. opStCaseNe        |                       | Ss_Case           | 0
  279.                     mStCaseNe             | 0+OPA_fExecute
  280.     LrStCaseRel    | "><";
  281. #
  282. # end of contiguous block assumed by NtCaseRelation() in parser
  283. #
  284. opStChain   |        | Ss_4ET_ET       | SSR_SD_None
  285.                     exStChain             | 0+OPA_fExecute
  286.                     LrRwExp1              | ORW_Chain;
  287. opStDeclare       |                       | Ss_StDeclare      | 0
  288.                     exStDeclare           | OPA_CntMask+OPA_fSsRude+OPA_fTxtFind
  289.                     LrStDeclare           | ORW_Declare;
  290. opStDefFn   |        | Ss_StDefFn       | 0
  291.                     exStDefFn             | OPA_CntMask+OPA_fSsRude+OPA_fTxtFind+OPA_fExecute
  292.                     LrStDefFn             | ORW_Def;
  293. opStDo            |                       | Ss_Do             | 0
  294.                     ExStDo                | 0+OPA_fExecute
  295.                     LrRw                  | ORW_Do;
  296. opStDoUntil       |                       | Ss_DoLoop         | low STYP_DoUntil
  297.                     mStDoUntilOpExe       | 2+OPA_fExecute
  298.                     LrStDoUntil           | ORW_Until;
  299. opStDoWhile       |                       | Ss_DoLoop         | low STYP_DoWhile
  300.                     mStDoWhileOpExe       | 2+OPA_fExecute
  301.                     LrStDoWhile           | ORW_While;
  302. #
  303. # start of contiguous block assumed by NtIfStmt() in parser
  304. #
  305. opStElse          |                       | Ss_Else           | 0
  306.                     exStElse              | 2+OPA_fTxtFind
  307.                     LrStElse              | ORW_Else;
  308. opStElseLab       |                       | Ss_LabelRef       | SSR_1Lab0Arg
  309.                     exStElseLab           | 2+OPA_fTxtFind
  310.                     LrStElseLab           | ORW_Else;
  311. opStElseLabDirect |                       | Ss_LabelRef       | SSR_1Lab0Arg
  312.                     exStElseLabDirect     | 2
  313.     LrStElseLabDirect   | ORW_Else;
  314. #
  315. # end of contiguous block assumed by NtIfStmt() in parser
  316. #
  317. opStElseNop       |                       | Ss_ElseNop        | 0
  318.                     exStElseNop           | 0
  319.                     LrStElseNop           | ORW_Else;
  320. opStElseIf        |                       | Ss_ElseIf         | 0
  321.                     mStElseIfOpExe        | 2
  322.                     LrStElseIf            | ORW_ElseIf;
  323. opStEnd           |                       | Ss_0_0            | 0
  324.                     exStEnd               | 0
  325.                     LrRw                  | ORW_End;
  326. opStEndDef   |        | Ss_StEndDef       | 0
  327.                     ExStEndDef            | 4+OPA_fSsRude+OPA_fTxtFind
  328.                     LrStEndDef            | ORW_Def;
  329. opStEndIfBlock    |                       | Ss_EndIf          | 0
  330.                     exStEndIfBlock        | 0
  331.                     LrStEndIfBlock        | ORW_If;
  332. opStEndProc       |                       | Ss_StEndProc      | 0
  333.                     ExStEndProc           | OPA_fTxtFind
  334.                     LrStEndProc           | ORW_End;
  335. opStEndSelect     |                       | Ss_EndSelect      | 0
  336.                     mStEndSelect          | 0
  337.                     LrStEndSelect         | ORW_Select;
  338. opStExitDo        |                       | Ss_Exit           | high STYP_Do
  339.                     ExStExitDo            | 2
  340.                     LrStExitDo            | ORW_Do;
  341. opStExitFor       |                       | Ss_Exit           | high STYP_For
  342.                     exStExitFor           | 2
  343.                     LrStExitFor           | ORW_For;
  344. opStExitProc      |                       | Ss_StExitProc     | 0
  345.                     ExStExitProc          | 2
  346.                     LrStExitProc          | ORW_Exit;
  347. opStFor           |                       | Ss_For            | 0
  348.                     mStForOpExe           | 4+OPA_fSsRude+OPA_fTxtFind+OPA_fExecute
  349.                     LrStFor               | ORW_For;
  350. opStForStep       |                       | Ss_For            | low STYP_Step
  351.                     mStForStepOpExe       | 4+OPA_fSsRude+OPA_fTxtFind+OPA_fExecute
  352.                     LrStForStep           | ORW_For;
  353. opStFunction      |                       | Ss_StFunction     | 0
  354.                     exStFunction          | OPA_CntMask+OPA_fSsRude+OPA_fTxtFind
  355.                     LrStFunction          | ORW_FUNCTION;
  356. opStGosub         |                       | Ss_LabelRef       | SSR_1Lab0Arg
  357.                     exStGosub             | 2+OPA_fTxtFind+OPA_fExecute
  358.                     LrStGosub             | ORW_Gosub;
  359. opStGosubDirect   |                       | Ss_LabelRef       | SSR_1Lab0Arg
  360.                     exStGosubDirect       | 2+OPA_fTxtFind
  361.                     LrStGosubDirect       | ORW_Gosub;
  362. opStGoto          |                       | Ss_LabelRef       | SSR_1Lab0Arg
  363.                     exStGoto              | 2+OPA_fTxtFind+OPA_fExecute
  364.                     LrStGoto              | ORW_Goto;
  365. opStGotoDirect    |                       | Ss_LabelRef       | SSR_1Lab0Arg
  366.                     exStGotoDirect        | 2+OPA_fTxtFind
  367.                     LrStGotoDirect        | ORW_Goto;
  368. #
  369. # start of contiguous block assumed by NtIfStmt() in parser
  370. #
  371. opStIf            |                       | Ss_If             | 0
  372.                     mStIfOpExe            | 2+OPA_fTxtFind+OPA_fExecute
  373.                     LrStIf                | ORW_If;
  374. opStIfLab         |                       | Ss_IfLab          | SSR_1Lab0Arg
  375.                     mStIfLabOpExe         | 2+OPA_fTxtFind+OPA_fExecute
  376.                     LrStIfLab             | ORW_If;
  377. opStIfLabDirect   |                       | Ss_IfLab          | SSR_1Lab0Arg
  378.                     mStIfLabDirectOpExe   | 2+OPA_fTxtFind
  379.                     LrStIfLabDirect       | ORW_If;
  380. opStIfGotoLab     |                       | Ss_IfLab          | SSR_1Lab0Arg
  381.                     mStIfGotoLabOpExe     | 2+OPA_fTxtFind+OPA_fExecute
  382.     LrStIfGotoLab   | ORW_If;
  383. #
  384. # end of contiguous block assumed by NtIfStmt() in parser
  385. #
  386. opStIfBlock       |                       | Ss_IfBlock        | 0
  387.                     mStIfBlockOpExe       | 2+OPA_fExecute
  388.                     LrStIfBlock           | ORW_If;
  389. opStLoop          |                       | Ss_Loop           | 0
  390.                     ExStLoop              | 2+OPA_fExecute
  391.                     LrStLoop              | ORW_Loop;
  392. opStLoopUntil     |                       | Ss_LoopWhile      | low STYP_DoUntil
  393.                     mStLoopUntilOpExe     | 2+OPA_fExecute
  394.                     LrStLoopUntil         | ORW_Until;
  395. opStLoopWhile     |                       | Ss_LoopWhile      | low STYP_DoWhile
  396.                     mStLoopWhileOpExe     | 2+OPA_fExecute
  397.                     LrStLoopWhile         | ORW_While;
  398. opStNext          |                       | Ss_Next           | 0
  399.                     mStNextOpExe          | 4+OPA_fSsRude
  400.                     LrStNext              | ORW_Next;
  401. opStNextId        |                       | Ss_NextId         | 0
  402.                     mStNextIdOpExe        | 4+OPA_fSsRude
  403.                     LrStNextId            | ORW_Next;
  404. opStOnError       |                       | Ss_MrsLabelRef    | SSR_1LabMain0Arg
  405.                     exStOnError           | 2+OPA_fTxtFind+OPA_fExecute
  406.                     LrStOnError           | ORW_Error;
  407. opStOnGosub       |                       | Ss_nLabelRef      | SSR_nLab1Arg
  408.                     exStOnGosub           | OPA_CntMask+OPA_fTxtFind+OPA_fExecute
  409.                     LrStOnGosub           | ORW_Gosub;
  410. opStOnGoto        |                       | Ss_nLabelRef      | SSR_nLab1Arg
  411.                     exStOnGoto            | OPA_CntMask+OPA_fTxtFind+OPA_fExecute
  412.                     LrStOnGoto            | ORW_Goto;
  413. #
  414. # start of prscg.c assumed contiguous block
  415. #
  416. opStRestore0      |                       | Ss_0_0            | 0
  417.                     exStRestore0          | 0+OPA_fExecute
  418.                     LrRw                  | ORW_Restore;
  419. opStRestore1      |                       | Ss_MrsLabelRef    | SSR_1LabMain0Arg
  420.                     exStRestore1          | 2+OPA_fTxtFind+OPA_fExecute
  421.                     LrStRestore1          | ORW_Restore;
  422. opStResume0       |                       | Ss_NotInProc      | 0
  423.                     exStResume0           | OPA_fTxtFind+OPA_fExecute
  424.                     LrRw                  | ORW_Resume;
  425. opStResume        |                       | Ss_MrsMrsLabRef   | SSR_1LabMain0Arg
  426.                     exStResume            | 2+OPA_fTxtFind+OPA_fExecute
  427.                     LrStResume            | ORW_Resume;
  428. opStResumeNext    |                       | Ss_NotInProc      | 0
  429.                     exStResumeNext        | OPA_fTxtFind+OPA_fExecute
  430.                     LrStResumeNext        | ORW_Resume;
  431. opStReturn0       |                       | Ss_0_0            | 0
  432.                     exStReturn0           | 0+OPA_fExecute
  433.                     LrRw                  | ORW_Return;
  434. opStReturn1   |        | Ss_MrsMrsLabRef   | SSR_1LabMain0Arg
  435.                     exStReturn1           | 2+OPA_fTxtFind+OPA_fExecute
  436.                     LrStReturn1           | ORW_Return;
  437. #
  438. # end of prscg.c assumed contiguous block
  439. #
  440. opStRunFile       |                       | Ss_4ET_ET         | SSR_SD_None
  441.                     exStRunFile           | 0+OPA_fExecute
  442.     LrRwExp1   | ORW_Run;
  443. #
  444. # Note: the following label is always an oName.
  445. #
  446. opStRunLabel   |        | Ss_MrsLabelRef    | SSR_1LabMain0Arg
  447.                     exStRunLabel          | 2+ OPA_fTxtFind+OPA_fExecute
  448.                     LrStRunLabel          | ORW_Run;
  449. opStRunMain   |        | Ss_0_0       | 0
  450.                     exStRunMain           | OPA_fTxtFind+OPA_fExecute
  451.                     LrRw                  | ORW_Run;
  452. opStSelectCase    |                       | Ss_Select         | 0
  453.                     mStSelect             | 2+OPA_fExecute
  454.                     LrStSelectCase        | ORW_Select;
  455. opStStop          |                       | Ss_0_0            | 0
  456.                     exStStop              | 0+OPA_fExecute
  457.                     LrRw                  | ORW_Stop;
  458. opStSub           |                       | Ss_StSub          | 0
  459.                     exStSub               | OPA_CntMask+OPA_fSsRude+OPA_fTxtFind
  460.                     LrStSub               | ORW_SUB;
  461. opStWait2   |        | Ss_4ET_ET       | SSR_I4I2_None
  462.                     exStWait2             | 0+OPA_fExecute
  463.                     LrRwExp2              | ORW_Wait;
  464. opStWait3   |        | Ss_4ET_ET       | SSR_I42I2_None
  465.                     exStWait3             | 0+OPA_fExecute
  466.                     LrRwExp3              | ORW_Wait;
  467. opStWend          |                       | Ss_Wend           | 0
  468.                     ExStWend              | 2
  469.                     LrStWend              | ORW_Wend;
  470. opStWhile         |                       | Ss_While          | 0
  471.                     mStWhileOpExe         | 2+OPA_fExecute
  472.                     LrStWhile             | ORW_While;
  473. opWatchExp        |                       | Ss_1FnPExe        | SSR_1Any_None
  474.     mptyppexWatchExp   | OPA_fTxtFind
  475.                     LrWatchExp            | 0;
  476. opWatchStop       |                       | Ss_4ET_ET         | SSR_I4_None
  477.                     exWatchStop           | OPA_fTxtFind
  478.                     LrWatchStop           | 0;
  479. ########################################################################
  480. # Start of general statement-related opcodes
  481. ########################################################################
  482. @STMT
  483. opChanOut   |   | Ss_4ET_ET       | SSR_I2_None
  484.                     exChanOut             | OPA_fExecute
  485.                     LrChanOut             | 0;
  486. opCircleAspect   |        | Ss_4ET_ET       | SSR_R4_None
  487.                     exCircleAspect        | OPA_fExecute
  488.                     LrCircleAspect        | 0;
  489. opCircleEnd   |        | Ss_4ET_ET       | SSR_R4_None
  490.                     exCircleEnd           | OPA_fExecute
  491.                     LrCircleEnd           | 0;
  492. opCircleStart   |        | Ss_4ET_ET       | SSR_R4_None
  493.                     exCircleStart         | OPA_fExecute
  494.                     LrCircleStart         | ORW_Circle;
  495. opCoord    |        | Ss_2FnSamePExe    | SSR_2I2R4_None
  496.     mptyppexCoord   | OPA_fExecute
  497.                     LrCoord               | 0;
  498. opCoordStep   |        | Ss_2FnSamePExe    | SSR_2I2R4_None
  499.     mptyppexCoordStep   | OPA_fExecute
  500.                     LrCoordStep           | 0;
  501. opCoordSecond   |        | Ss_2FnSamePExe    | SSR_2I2R4_None
  502.     mptyppexCoordSecond   | OPA_fExecute
  503.                     LrCoordSecond         | 0;
  504. opCoordStepSecond |        | Ss_2FnSamePExe    | SSR_2I2R4_None
  505.     mptyppexCoordStepSecond | OPA_fExecute
  506.                     LrCoordStepSecond     | 0;
  507. opFieldInit   |        | Ss_4ET_ET       | SSR_I2_None
  508.                     exFieldInit           | OPA_fExecute
  509.                     LrFieldInit           | ORW_Field;
  510. opFieldItem   |        | Ss_FieldItem      | SSR_I2SD_None
  511.                     exFieldItem           | OPA_fExecute
  512.                     LrFieldItem           | ORW_AS;
  513. opInputChan       |                       | Ss_4ET_ET         | SSR_I2_None
  514.                     exInputChan           | OPA_fExecute
  515.                     LrInputChan           | 0;
  516. opInputEos        |                       | Ss_0_0            | 0
  517.                     exInputEos            | OPA_fExecute
  518.                     LrNoList              | ORW_Input;
  519. opInputPrompt     |                       | Ss_InputPrompt    | 0
  520.                     exInputPrompt         | OPA_fExecute+OPA_CntMask
  521.                     LrInputPrompt         | ORW_Input;
  522. opLbs             |                       | Ss_0_0            | 0
  523.                     exLbs                 | 0
  524.                     LrUnaryChar           | '#';
  525. opNoList0         |                       | Ss_NoList0        | 0
  526.                     ExNoList1             | 0
  527.                     LrNoList              | 0;
  528. opNoList1         |                       | Ss_NoList1        | 0
  529.                     ExNoList1             | 2+OPA_fTxtFind
  530.                     LrNoList1             | 0;
  531. opNoList2         |                       | Ss_NoList2        | 0
  532.                     ExNotDefined          | 4
  533.                     LrNoList2             | 0;
  534. opNoList3         |                       | Ss_NoList3        | 0
  535.                     ExNotDefined          | 6
  536.                     LrNoList3             | 0;
  537. opPrintSpc        |                       | Ss_4ET_ET         | SSR_I2_None
  538.                     exPrintSpc            | OPA_fExecute
  539.                     LrPrintSpc            | ORW_Spc;
  540. opPrintTab        |                       | Ss_4ET_ET         | SSR_I2_None
  541.                     exPrintTab            | OPA_fExecute
  542.                     LrPrintTab            | ORW_Tab;
  543. opPrintComma      |                       | Ss_0_0            | 0
  544.                     exPrintComma          | OPA_fExecute
  545.                     LrPrintComma          | ',';
  546. opPrintSemi       |                       | Ss_0_0            | 0
  547.                     exPrintSemi           | OPA_fExecute
  548.                     LrPrintSemi           | 59;
  549. opPrintEos        |                       | Ss_0_0            | 0
  550.                     exPrintEos            | OPA_fExecute
  551.                     LrPrintEos            | 0;
  552. opPrintItemComma  |                       | Ss_1FnPExe        | SSR_1Any_None
  553.     mptyppexPrintItemComma | OPA_fExecute
  554.                     LrPrintItemComma      | ',';
  555. opPrintItemSemi   |                       | Ss_1FnPExe        | SSR_1Any_None
  556.     mptyppexPrintItemSemi | OPA_fExecute
  557.                     LrPrintItemSemi       | 59;
  558. opPrintItemEos    |                       | Ss_1FnPExe        | SSR_1Any_None
  559.     mptyppexPrintItemEos  | OPA_fExecute
  560.                     LrPrintItemEos        | 0;
  561. opQuoteRem        |                       | Ss_0_0            | 0
  562.                     exQuoteRem            | OPA_CntMask+OPA_fTxtFind
  563.                     LrQuoteRem            | 0;
  564. opNop             |                       | Ss_0_0            | 0
  565.                     exNop                 | 0
  566.                     LrNoList              | 0;
  567. op_Include   |        | Ss_0_0       | 0
  568.                     ex_Include            | OPA_CntMask+OPA_fTxtFind
  569.                     Lr_Include            | 0;
  570. #
  571. # beginning of statement executors
  572. #
  573. opStBeep   |   | Ss_0_0       | 0
  574.     exStBeep0   | 0+OPA_fExecute
  575.                     LrRw                  | ORW_Beep;
  576. opStBLoad1   |        | Ss_4ET_ET       | SSR_SD_None
  577.     exStBLoad1   | 0+OPA_fExecute
  578.     LrRwExp1   | ORW_BLoad;
  579. opStBLoad2   |        | Ss_4ET_ET       | SSR_SDI4_None
  580.     exStBLoad2   | 0+OPA_fExecute
  581.     LrRwExp2   | ORW_BLoad;
  582. opStBSave   |        | Ss_4ET_ET       | SSR_SD2I4_None
  583.     exStBSave   | 0+OPA_fExecute
  584.     LrRwExp3   | ORW_BSave;
  585. opStChDir   |   | Ss_4ET_ET       | SSR_SD_None
  586.     exStChDir   | 0+OPA_fExecute
  587.     LrRwExp1   | ORW_ChDir;
  588. opStCircle   |        | Ss_4ET_ET       | SSR_R4_None
  589.                     exStCircle            | 0+OPA_fExecute
  590.                     LrStCircle            | ORW_Circle;
  591. opStCircleColor   |        | Ss_4ET_ET       | SSR_R4I2_None
  592.                     exStCircleColor       | 0+OPA_fExecute
  593.                     LrStCircleColor       | ORW_Circle;
  594. opStClear   |        | Ss_StCnt       | ET_I4
  595.                     exStClear             | 2+OPA_fExecute
  596.                     LrStClear             | ORW_Clear;
  597. opStClose   |   | Ss_StCnt       | ET_I2
  598.                     exStClose             | 2+OPA_fExecute
  599.                     LrStClose             | ORW_Close;
  600. opStCls    |        | Ss_4ET_ET       | SSR_I2_None
  601.                     exStCls               | 0+OPA_fExecute
  602.                     LrRwExp1              | ORW_Cls;
  603. opStColor   |        | Ss_StCnt       | ET_I2
  604.                     exStColor             | 2+OPA_fExecute
  605.                     LrStColor             | ORW_Color;
  606. opStCommon   |        | Ss_StCommon       | 0
  607.                     exStCommon            | 4+OPA_fSsRude+OPA_fTxtFind
  608.                     LrStCommon            | ORW_Common;
  609. opStData          |                       | Ss_StData         | 0
  610.                     exStData              | OPA_CntMask+OPA_fTxtFind
  611.                     LrStData              | ORW_Data;
  612. opStDate_         |                       | Ss_4ET_ET         | SSR_SD_None
  613.                     exStDate_             | 0+OPA_fExecute
  614.                     LrStDate_             | ORW_Date_;
  615. opStDefSeg0   |        | Ss_0_0       | 0
  616.                     exStDefSeg0           | 0+OPA_fExecute
  617.                     LrStDefSeg0           | ORW_DEF;
  618. opStDefSeg1   |        | Ss_4ET_ET       | SSR_I4_None
  619.                     exStDefSeg1           | 0+OPA_fExecute
  620.                     LrStDefSeg1           | ORW_DEF;
  621. opStDraw   |        | Ss_4ET_ET       | SSR_SD_None
  622.                     exStDraw              | 0+OPA_fExecute
  623.                     LrRwExp1              | ORW_Draw;
  624. opStEnviron       |                       | Ss_4ET_ET         | SSR_SD_None
  625.                     exStEnviron           | 0+OPA_fExecute
  626.                     LrRwExp1              | ORW_Environ;
  627. opStErase         |                       | Ss_Erase          | 0
  628.                     exStErase             | 2+OPA_fExecute
  629.                     LrStErase             | ORW_Erase;
  630. opStError         |                       | Ss_4ET_ET         | SSR_I2_None
  631.                     exStError             | 0+OPA_fExecute
  632.                     LrRwExp1              | ORW_Error;
  633. opStFiles0   |        | Ss_0_0       | 0
  634.                     exStFiles0            | 0+OPA_fExecute
  635.                     LrRw                  | ORW_Files;
  636. opStFiles1   |        | Ss_4ET_ET       | SSR_SD_None
  637.                     exStFiles1            | 0+OPA_fExecute
  638.                     LrRwExp1              | ORW_Files;
  639. opStGet1          |                       | Ss_4ET_ET         | SSR_I2_None
  640.                     exStGet1              | 0+OPA_fExecute
  641.                     LrRwExp1              | ORW_Get;
  642. opStGet2          |                       | Ss_4ET_ET         | SSR_I2I4_None
  643.                     exStGet2              | 0+OPA_fExecute
  644.                     LrRwExp2              | ORW_Get;
  645. opStGetRec2       |                       | Ss_FPutGet2       | 0
  646.                     exStGetRec2           | 2+OPA_fExecute
  647.                     LrStGetRec2           | ORW_Get;
  648. opStGetRec3       |                       | Ss_FPutGet3       | 0
  649.                     exStGetRec3           | 2+OPA_fExecute
  650.                     LrStGetRec3           | ORW_Get;
  651. opStGraphicsGet   |        | Ss_GPutGet       | 0
  652.                     exStGraphicsGet       | 0+OPA_fExecute
  653.                     LrStGraphicsGet       | ORW_Get;
  654. opStGraphicsPut   |        | Ss_GPutGet       | 0
  655.                     exStGraphicsPut       | 2+OPA_fExecute
  656.                     LrStGraphicsPut       | ORW_Put;
  657. opStInput         |                       | Ss_Input          | 0
  658.                     mStInputOpExe         | 0+OPA_fExecute
  659.                     LrStInput             | ORW_Input;
  660. opStIoctl   |        | Ss_4ET_ET       | SSR_I2SD_None
  661.                     exStIoctl             | 0+OPA_fExecute
  662.                     LrRwExp2              | ORW_Ioctl;
  663. opStKey    |        | Ss_0_0       | 0
  664.                     exStKey               | 2+OPA_fExecute
  665.                     LrStKey               | ORW_Key;
  666. opStKeyMap   |        | Ss_4ET_ET       | SSR_I2SD_None
  667.                     exStKeyMap            | 0+OPA_fExecute
  668.                     LrRwExp2              | ORW_Key;
  669. opStKill          |                       | Ss_4ET_ET         | SSR_SD_None
  670.                     exStKill              | 0+OPA_fExecute
  671.                     LrRwExp1              | ORW_Kill;
  672. #
  673. # start of contiguous block assumed by parser
  674. #
  675. opStLine   |        | Ss_0_0       | 0
  676.                     exStLine              | 2+OPA_fExecute
  677.                     LrStLine              | ORW_Line;
  678. opStLineColor   |        | Ss_4ET_ET       | SSR_I2_None
  679.                     exStLineColor         | 2+OPA_fExecute
  680.                     LrStLineColor         | ORW_Line;
  681. opStLineStyle   |        | Ss_4ET_ET       | SSR_I2_None
  682.                     exStLineStyle         | 2+OPA_fExecute
  683.                     LrStLineStyle         | ORW_Line;
  684. opStLineStyleColor|        | Ss_4ET_ET       | SSR_2I2_None
  685.                     exStLineStyleColor    | 2+OPA_fExecute
  686.                     LrStLineStyleColor    | ORW_Line;
  687. #
  688. # end of contiguous block assumed by parser
  689. #
  690. opStLet           |                       | Ss_0_0            | 0
  691.                     exStLet               | 0+OPA_fExecute
  692.                     LrRwSpc               | ORW_Let;
  693. opStLineInput     |                       | Ss_LineInput      | 0
  694.                     exStLineInput         | 2+OPA_fExecute
  695.                     LrStLineInput         | ORW_Input;
  696. opStLocate   |        | Ss_StCnt       | ET_I2
  697.                     exStLocate            | 2+OPA_fExecute
  698.                     LrStLocate            | ORW_Locate;
  699. opStLock          |                       | Ss_StLock         | 0
  700.                     exStLock              | 2+OPA_fExecute
  701.                     LrStLock              | ORW_Lock;
  702. opStLPrint   |        | Ss_0_0       | 0
  703.     exStLPrint   | 0+OPA_fExecute
  704.     LrStLPrint   | ORW_LPrint;
  705. opStLSet   |   | Ss_LSet       | 0
  706.     mStLSetOpExe   | 0+OPA_fExecute
  707.     LrStLSet   | ORW_LSet;
  708. opStMid_2         |                       | Ss_LRSetMid       | 1
  709.                     mStMid_2OpExe         | 0+OPA_fExecute
  710.                     LrStMid_2             | ORW_Mid_;
  711. opStMid_3         |                       | Ss_LRSetMid       | 2
  712.                     mStMid_3OpExe         | 0+OPA_fExecute
  713.                     LrStMid_3             | ORW_Mid_;
  714. opStMkDir   |   | Ss_4ET_ET       | SSR_SD_None
  715.     exStMkDir   | 0+OPA_fExecute
  716.     LrRwExp1   | ORW_MkDir;
  717. opStName          |                       | Ss_4ET_ET         | SSR_2SD_None
  718.                     exStName              | 0+OPA_fExecute
  719.                     LrStName              | ORW_Name;
  720. opStOpen2         |                       | Ss_4ET_ET         | SSR_SDI2_None
  721.                     exStOpen2             | 2+OPA_fExecute
  722.                     LrStOpen2             | ORW_Open;
  723. opStOpen3         |                       | Ss_4ET_ET         | SSR_SD2I2_None
  724.                     exStOpen3             | 2+OPA_fExecute
  725.                     LrStOpen3             | ORW_Open;
  726. opStOpenOld3      |                       | Ss_4ET_ET         | SSR_SDI2SD_None
  727.                     exStOpenOld3          | 0+OPA_fExecute
  728.                     LrStOpenOld3          | ORW_Open;
  729. opStOpenOld4      |                       | Ss_4ET_ET         | SSR_SDI2SDI2_None
  730.                     exStOpenOld4          | 0+OPA_fExecute
  731.                     LrStOpenOld4          | ORW_Open;
  732. opStOptionBase0   |                       | Ss_OptionBase0    | 0
  733.                     exStOptionBase0       | 0
  734.                     LrStOptionBase0       | '0';
  735. opStOptionBase1   |                       | Ss_OptionBase1    | 0
  736.                     exStOptionBase1       | 0
  737.                     LrStOptionBase1       | '1';
  738. opStOut           |                       | Ss_4ET_ET         | SSR_I4I2_None
  739.                     exStOut               | 0+OPA_fExecute
  740.                     LrRwExp2              | ORW_Out;
  741. opStPaint2   |        | Ss_PaintWidth     | SSR_1I2SD_None
  742.     mptyppexStPaint   | 0+OPA_fExecute
  743.                     LrStPaint2            | ORW_Paint;
  744. opStPaint3   |        | Ss_4ET_ET       | SSR_SDI2SD_None
  745.                     exStPaint3            | 0+OPA_fExecute
  746.                     LrStPaint3            | ORW_Paint;
  747. opStPalette0   |        | Ss_0_0       | 0
  748.                     exStPalette0          | 0+OPA_fExecute
  749.                     LrRw                  | ORW_Palette;
  750. opStPalette2   |        | Ss_4ET_ET       | SSR_I2I4_None
  751.                     exStPalette2          | 0+OPA_fExecute
  752.                     LrRwExp2              | ORW_Palette;
  753. opStPaletteUsing  |        | Ss_PaletteUsing   | 0
  754.                     exStPaletteUsing      | 0+OPA_fExecute
  755.                     LrStPaletteUsing      | ORW_Palette;
  756. opStPCopy   |        | Ss_4ET_ET       | SSR_2I2_None
  757.                     exStPCopy             | 0+OPA_fExecute
  758.                     LrRwExp2              | ORW_PCopy;
  759. opStPlay   |        | Ss_4ET_ET       | SSR_SD_None
  760.                     exStPlay              | 0+OPA_fExecute
  761.                     LrRwExp1              | ORW_Play;
  762. opStPoke          |                       | Ss_4ET_ET         | SSR_I4I2_None
  763.                     exStPoke              | 0+OPA_fExecute
  764.                     LrRwExp2              | ORW_Poke;
  765. opStPreset   |        | Ss_0_0       | 0
  766.                     exStPreset            | 0+OPA_fExecute
  767.                     LrStPreset            | ORW_Preset;
  768. opStPresetColor   |        | Ss_4ET_ET       | SSR_I2_None
  769.                     exStPresetColor       | 0+OPA_fExecute
  770.                     LrStPresetColor       | ORW_Preset;
  771. opStPset   |        | Ss_0_0       | 0
  772.                     exStPset              | 0+OPA_fExecute
  773.                     LrStPset              | ORW_Pset;
  774. opStPsetColor   |        | Ss_4ET_ET       | SSR_I2_None
  775.                     exStPsetColor         | 0+OPA_fExecute
  776.                     LrStPsetColor         | ORW_Pset;
  777. opStPut1          |                       | Ss_4ET_ET         | SSR_I2_None
  778.                     exStPut1              | 0+OPA_fExecute
  779.                     LrRwExp1              | ORW_Put;
  780. opStPut2          |                       | Ss_4ET_ET         | SSR_I2I4_None
  781.                     exStPut2              | 0+OPA_fExecute
  782.                     LrRwExp2              | ORW_Put;
  783. opStPutRec2       |                       | Ss_FPutGet2       | 0
  784.                     exStPutRec2           | 2+OPA_fExecute
  785.                     LrStPutRec2           | ORW_Put;
  786. opStPutRec3       |                       | Ss_FPutGet3       | 0
  787.                     exStPutRec3           | 2+OPA_fExecute
  788.                     LrStPutRec3           | ORW_Put;
  789. opStRandomize0    |                       | Ss_0_0            | 0
  790.                     exStRandomize0        | 0+OPA_fExecute
  791.                     LrRw                  | ORW_Randomize;
  792. opStRandomize1    |                       | Ss_4ET_ET         | SSR_R8_None
  793.                     exStRandomize1        | 0+OPA_fExecute
  794.                     LrRwExp1              | ORW_Randomize;
  795. opStRead          |                       | Ss_Input          | 0
  796.                     mStReadOpExe          | 0+OPA_fExecute
  797.                     LrStRead              | ORW_Read;
  798. opStRem           |                       | Ss_0_0            | 0
  799.                     exStRem               | OPA_CntMask+OPA_fTxtFind
  800.                     LrStRem               | ORW_Rem;
  801. opStReset         |                       | Ss_0_0            | 0
  802.                     exStReset             | 0+OPA_fExecute
  803.                     LrRw                  | ORW_Reset;
  804. opStRmDir   |   | Ss_4ET_ET       | SSR_SD_None
  805.     exStRmDir   | 0+OPA_fExecute
  806.     LrRwExp1   | ORW_RmDir;
  807. opStRSet   |   | Ss_LRSetMid       | 0
  808.     mStRSetOpExe   | 0+OPA_fExecute
  809.     LrStRSet   | ORW_RSet;
  810. opStScreen   |        | Ss_StCnt       | ET_I2
  811.                     exStScreen            | 2+OPA_fExecute
  812.                     LrStScreen            | ORW_Screen;
  813. opStSeek          |                       | Ss_4ET_ET         | SSR_I2I4_None
  814.                     exStSeek              | OPA_fExecute
  815.                     LrRwExp2              | ORW_Seek;
  816. opStShell0   |       | Ss_0_0       | 0
  817.                     exStShell0            | 0+OPA_fExecute
  818.                     LrRw                  | ORW_Shell;
  819. opStShell1   |       | Ss_4ET_ET       | SSR_SD_None
  820.                     exStShell1            | 0+OPA_fExecute
  821.                     LrRwExp1              | ORW_Shell;
  822. opStSleep0        |                       | Ss_0_0            | 0
  823.                     exStSleep0            | 0+OPA_fExecute
  824.                     LrRw                  | ORW_Sleep;
  825. opStSound   |        | Ss_4ET_ET       | SSR_I2R4_None
  826.                     exStSound             | 0+OPA_fExecute
  827.                     LrRwExp2              | ORW_Sound;
  828. opStSwap   |        | Ss_Swap       | 0
  829.                     mStSwapOpExe          | 2+OPA_fExecute
  830.                     LrStSwap              | ORW_Swap;
  831. opStSystem        |                       | Ss_0_0            | 0
  832.                     exStSystem            | 0+OPA_fExecute
  833.                     LrRw                  | ORW_System;
  834. opStTime_         |                       | Ss_4ET_ET         | SSR_SD_None
  835.                     exStTime_             | 0+OPA_fExecute
  836.                     LrStTime_             | ORW_Time_;
  837. opStTroff   |        | Ss_0_0       | 0
  838.                     exStTroff             | OPA_fExecute
  839.                     LrRw                  | ORW_Troff;
  840. opStTron   |        | Ss_0_0       | 0
  841.                     exStTron              | OPA_fExecute
  842.                     LrRw                  | ORW_Tron;
  843. opStUnLock        |                       | Ss_StLock         | 0
  844.                     exStUnLock            | 2+OPA_fExecute
  845.                     LrStUnLock            | ORW_UnLock;
  846. opStView   |        | Ss_StView       | ET_I2
  847.                     exStView              | 0+OPA_fExecute
  848.                     LrStView              | ORW_View;
  849. opStView0   |        | Ss_0_0       | 0
  850.                     exStView0             | 0+OPA_fExecute
  851.                     LrRw                  | ORW_View;
  852. opStViewPrint0   |        | Ss_0_0       | 0
  853.                     exStViewPrint0        | 0+OPA_fExecute
  854.                     LrStViewPrint0        | ORW_View;
  855. opStViewPrint2   |        | Ss_4ET_ET       | SSR_2I2_None
  856.                     exStViewPrint2        | 0+OPA_fExecute
  857.                     LrStViewPrint2        | ORW_View;
  858. opStViewScreen   |        | Ss_StView       | ET_I2
  859.                     exStViewScreen        | 0+OPA_fExecute
  860.     LrStViewScreen   | ORW_View;
  861. opStWidth2        |                       | Ss_PaintWidth     | SSR_1I2SD_None
  862.     mptyppexStWidth2   | 0+OPA_fExecute
  863.                     LrStWidth2            | ORW_Width;
  864. opStWidthLPrint   |        | Ss_4ET_ET       | SSR_I2_None
  865.     exStWidthLPrint   | 0+OPA_fExecute
  866.     LrStWidthLPrint   | ORW_Width;
  867. opStWidthFile   |   | Ss_4ET_ET       | SSR_2I2_None
  868.     exStWidthFile   | 0+OPA_fExecute
  869.     LrStWidthFile   | ORW_Width;
  870. opStWindow   |        | Ss_4ET_ET       | SSR_4R4_None
  871.                     exStWindow            | 0+OPA_fExecute
  872.                     LrStWindow            | ORW_Window;
  873. opStWindow0   |        | Ss_0_0       | 0
  874.                     exStWindow0           | 0+OPA_fExecute
  875.                     LrRw                  | ORW_Window;
  876. opStWindowScreen  |        | Ss_4ET_ET       | SSR_4R4_None
  877.                     exStWindowScreen      | 0+OPA_fExecute
  878.                     LrStWindowScreen      | ORW_Window;
  879. opStWrite         |                       | Ss_0_0            | 0
  880.                     exStWrite             | 0+OPA_fExecute
  881.                     LrStWrite             | ORW_Write;
  882. opUsing           |                       | Ss_4ET_ET         | SSR_SD_None
  883.                     exUsing               | 0
  884.                     LrUsing               | ORW_Using;
  885. ########################################################################
  886. # Start of opcodes related to Intrinsic functions
  887. ########################################################################
  888. @INTRSC
  889. opAdd             |                       | Ss_2FnSamePExe    | SSR_2Any_Same
  890.                     mAddOpExe             | 0
  891.                     LrBinaryOp            | '+';
  892. opAnd             |                       | Ss_2FnSamePExe    | SSR_2I2I4_Same
  893.                     mAndOpExe             | 0
  894.                     LrBinaryRw            | ORW_And;
  895. opDiv   |   | Ss_2FnSamePExe    | SSR_Div
  896.                     mDivOpExe             | 0
  897.                     LrBinaryOp            | '/';
  898. opEQ              |                       | Ss_2FnSamePExe    | SSR_2Any_I2
  899.                     mEQOpExe              | 0
  900.                     LrBinaryOp            | '=';
  901. opEqv             |                       | Ss_2FnSamePExe    | SSR_2I2I4_Same
  902.                     mEqvOpExe             | 0
  903.                     LrBinaryRw            | ORW_Eqv;
  904. #
  905. # beginning of functions
  906. #
  907. opFnAbs           |                       | Ss_1FnPExe        | SSR_1NotSd_Same
  908.                     mFnAbsOpExe           | 0
  909.                     LrFunc1Arg            | ORW_Abs;
  910. opFnAsc           |                       | Ss_4ET_ET         | SSR_SD_I2
  911.                     exFnAsc               | 0
  912.                     LrFunc1Arg            | ORW_Asc;
  913. opFnAtn    |   | Ss_1FnPExeR8      | 0
  914.     exFnAtn   | 0
  915.     LrFunc1Arg   | ORW_Atn;
  916. opCoerce   |   | Ss_Coerce       | 0
  917.     mptyppexCoerce   | 0
  918.     LrCoerce   | 0;
  919. opFnChr_          |                       | Ss_4ET_ET         | SSR_I2_SD
  920.                     exFnChr_              | OPA_fHeapMove
  921.                     LrFunc1Arg            | ORW_Chr_;
  922. opFnCommand_      |                       | Ss_0FnETExe       | ET_SD
  923.                     exFnCommand_          | 0
  924.                     LrRw                  | ORW_Command_;
  925. opFnCos    |   | Ss_1FnPExeR8      | 0
  926.     exFnCos   | 0
  927.                     LrFunc1Arg            | ORW_Cos;
  928. opFnCsrlin   |        | Ss_0FnETExe       | ET_I2
  929.                     exFnCsrlin            | 0
  930.                     LrRw                  | ORW_Csrlin;
  931. opFnCvd    |        | Ss_4ET_ET       | SSR_SD_R8
  932.                     exFnCvd               | 0
  933.                     LrFunc1Arg            | ORW_Cvd;
  934. opFnCvdmbf   |        | Ss_4ET_ET       | SSR_SD_R8
  935.                     exFnCvdmbf            | 0
  936.                     LrFunc1Arg            | ORW_Cvdmbf;
  937. opFnCvi    |        | Ss_4ET_ET       | SSR_SD_I2
  938.                     exFnCvi               | 0
  939.                     LrFunc1Arg            | ORW_Cvi;
  940. opFnCvl    |        | Ss_4ET_ET       | SSR_SD_I4
  941.                     exFnCvl               | 0
  942.                     LrFunc1Arg            | ORW_Cvl;
  943. opFnCvs    |        | Ss_4ET_ET       | SSR_SD_R4
  944.                     exFnCvs               | 0
  945.                     LrFunc1Arg            | ORW_Cvs;
  946. opFnCvsmbf   |        | Ss_4ET_ET       | SSR_SD_R4
  947.                     exFnCvsmbf            | 0
  948.                     LrFunc1Arg            | ORW_Cvsmbf;
  949. opFnDate_         |                       | Ss_0FnETExe       | ET_SD
  950.                     exFnDate_             | 0
  951.                     LrRw                  | ORW_Date_;
  952. opFnEnviron_      |                       | Ss_1FnPExe        | SSR_1I2SD_SD
  953.     mptyppexFnEnviron_   | 0
  954.                     LrFunc1Arg            | ORW_Environ_;
  955. opFnEof           |                       | Ss_4ET_ET         | SSR_I2_I2
  956.                     exFnEof               | 0
  957.                     LrFunc1Arg            | ORW_Eof;
  958. opFnErdev         |                       | Ss_0FnETExe       | ET_I2
  959.                     exFnErdev             | 0
  960.                     LrRw                  | ORW_Erdev;
  961. opFnErdev_        |                       | Ss_0FnETExe       | ET_SD
  962.                     exFnErdev_            | 0
  963.                     LrRw                  | ORW_Erdev_;
  964. opFnErl           |                       | Ss_0FnETExe       | ET_I4
  965.                     exFnErl               | 0
  966.                     LrRw                  | ORW_Erl;
  967. opFnErr           |                       | Ss_0FnETExe       | ET_I2
  968.                     exFnErr               | 0
  969.                     LrRw                  | ORW_Err;
  970. opFnExp    |   | Ss_1FnPExeR8      | 0
  971.     exFnExp   | 0
  972.     LrFunc1Arg   | ORW_Exp;
  973. opFnFileAttr   |   | Ss_4ET_ET       | SSR_I2I2_I4
  974.     exFnFileAttr   | 0
  975.     LrFunc2Args    | ORW_FileAttr;
  976. opFnFix           |                       | Ss_1FnPExe        | SSR_1NotSd_Same
  977.                     mFnFixOpExe           | 0
  978.     LrFunc1Arg   | ORW_Fix;
  979. opFnFre           |                       | Ss_1FnPExe        | SSR_1I2SD_I4
  980.     mptyppexFnFre   | 0
  981.     LrFunc1Arg   | ORW_Fre;
  982. opFnFreeFile   |   | Ss_0FnETExe       | ET_I2
  983.     exFnFreeFile   | 0
  984.     LrRw   | ORW_FreeFile;
  985. opFnHex_          |                       | Ss_1FnPExe        | SSR_1I2I4_SD
  986.     mptyppexFnHex_   | 0
  987.                     LrFunc1Arg            | ORW_Hex_;
  988. opFnInkey_   |        | Ss_0FnETExe       | ET_SD
  989.                     exFnInkey_            | 0
  990.                     LrRw                  | ORW_Inkey_;
  991. opFnInp           |                       | Ss_4ET_ET         | SSR_I4_I2
  992.                     exFnInp               | 0
  993.                     LrFunc1Arg            | ORW_Inp;
  994. opFnInput_1       |                       | Ss_4ET_ET         | SSR_I2_SD
  995.                     exFnInput_1           | 0
  996.                     LrFunc1Arg            | ORW_Input_;
  997. opFnInput_2       |                       | Ss_4ET_ET         | SSR_I2I2_SD
  998.                     exFnInput_2           | 0
  999.                     LrFunc2Args           | ORW_Input_;
  1000. opFnInstr2        |                       | Ss_4ET_ET         | SSR_SDSD_I2
  1001.                     exFnInstr2            | 0
  1002.                     LrFunc2Args           | ORW_Instr;
  1003. opFnInstr3        |                       | Ss_4ET_ET         | SSR_I2SDSD_I2
  1004.                     exFnInstr3            | 0
  1005.                     LrFunc3Args           | ORW_Instr;
  1006. opFnInt           |                       | Ss_1FnPExe        | SSR_1NotSD_Same
  1007.                     mFnIntOpExe           | 0
  1008.                     LrFunc1Arg            | ORW_Int;
  1009. opFnIoctl_   |        | Ss_4ET_ET       | SSR_I2_SD
  1010.                     exFnIoctl_            | OPA_fHeapMove
  1011.                     LrFunc1Arg            | ORW_Ioctl_;
  1012. opFnLBound1   |   | Ss_LUBound1       | 0
  1013.     exFnLBound1    | 0
  1014.     LrFunc1Arg   | ORW_LBound;
  1015. opFnLBound2   |   | Ss_LUBound2       | 0
  1016.     exFnLBound2    | 0
  1017.     LrFunc2Args    | ORW_LBound;
  1018. opFnLCase_   |   | Ss_4ET_ET       | SSR_SD_SD
  1019.     exFnLCase_   | OPA_fHeapMove
  1020.     LrFunc1Arg   | ORW_LCase_;
  1021. opFnLTrim_   |   | Ss_4ET_ET       | SSR_SD_SD
  1022.     exFnLTrim_   | OPA_fHeapMove
  1023.     LrFunc1Arg   | ORW_LTrim_;
  1024. opFnLeft_         |                       | Ss_4ET_ET         | SSR_SDI2_SD
  1025.                     exFnLeft_             | OPA_fHeapMove
  1026.     LrFunc2Args    | ORW_Left_;
  1027. opFnLen           |                       | Ss_FnLen          | 0
  1028.                     exFnLen               | 2
  1029.                     LrFnLen               | ORW_Len;
  1030. opFnLoc           |                       | Ss_4ET_ET         | SSR_I2_I4
  1031.                     exFnLoc               | 0
  1032.                     LrFunc1Arg            | ORW_Loc;
  1033. opFnLof           |                       | Ss_4ET_ET         | SSR_I2_I4
  1034.                     exFnLof               | 0
  1035.     LrFunc1Arg   | ORW_Lof;
  1036. opFnLog    |   | Ss_1FnPExeR8      | 0
  1037.     exFnLog   | 0
  1038.     LrFunc1Arg   | ORW_Log;
  1039. opFnLPos   |        | Ss_4ET_ET       | SSR_I2_I2
  1040.     exFnLPos   | 0
  1041.     LrFunc1Arg   | ORW_LPos;
  1042. opFnMid_2         |                       | Ss_4ET_ET         | SSR_SDI2_SD
  1043.                     exFnMid_2             | 0
  1044.                     LrFunc2Args           | ORW_Mid_;
  1045. opFnMid_3         |                       | Ss_4ET_ET         | SSR_SD2I2_SD
  1046.                     exFnMid_3             | 0
  1047.     LrFunc3Args    | ORW_Mid_;
  1048. opFnMkd_   |        | Ss_4ET_ET       | SSR_R8_SD
  1049.                     exFnMkd_              | OPA_fHeapMove
  1050.                     LrFunc1Arg            | ORW_Mkd_;
  1051. opFnMkdmbf_   |        | Ss_4ET_ET       | SSR_R8_SD
  1052.                     exFnMkdMbf_           | OPA_fHeapMove
  1053.                     LrFunc1Arg            | ORW_Mkdmbf_;
  1054. opFnMki_   |        | Ss_4ET_ET       | SSR_I2_SD
  1055.                     exFnMki_              | OPA_fHeapMove
  1056.                     LrFunc1Arg            | ORW_Mki_;
  1057. opFnMkl_   |        | Ss_4ET_ET       | SSR_I4_SD
  1058.                     exFnMkl_              | OPA_fHeapMove
  1059.                     LrFunc1Arg            | ORW_Mkl_;
  1060. opFnMks_   |        | Ss_4ET_ET       | SSR_R4_SD
  1061.                     exFnMks_              | OPA_fHeapMove
  1062.                     LrFunc1Arg            | ORW_Mks_;
  1063. opFnMksmbf_   |        | Ss_4ET_ET       | SSR_R4_SD
  1064.                     exFnMksmbf_           | OPA_fHeapMove
  1065.                     LrFunc1Arg            | ORW_Mksmbf_;
  1066. opFnOct_          |                       | Ss_1FnPExe        | SSR_1I2I4_SD
  1067.     mptyppexFnOct_   | 0
  1068.                     LrFunc1Arg            | ORW_Oct_;
  1069. opFnPeek          |                       | Ss_4ET_ET         | SSR_I4_I2
  1070.                     exFnPeek              | 0
  1071.                     LrFunc1Arg            | ORW_Peek;
  1072. opFnPen    |        | Ss_4ET_ET       | SSR_I2_I2
  1073.                     exFnPen               | 0
  1074.                     LrFunc1Arg            | ORW_Pen;
  1075. opFnPlay   |        | Ss_4ET_ET       | SSR_I2_I2
  1076.                     exFnPlay              | 0
  1077.                     LrFunc1Arg            | ORW_Play;
  1078. opFnPmap   |        | Ss_4ET_ET       | SSR_R4I2_R4
  1079.                     exFnPmap              | 0
  1080.                     LrFunc2Args           | ORW_Pmap;
  1081. opFnPoint1   |        | Ss_4ET_ET       | SSR_I2_R4
  1082.                     exFnPoint1            | 0
  1083.                     LrFunc1Arg            | ORW_Point;
  1084. opFnPoint2   |        | Ss_2FnSamePExe    | SSR_2I2R4_I2
  1085.     mptyppexFnPoint2   | 0
  1086.                     LrFunc2Args           | ORW_Point;
  1087. opFnPos    |        | Ss_4ET_ET       | SSR_I2_I2
  1088.                     exFnPos               | 0
  1089.                     LrFunc1Arg            | ORW_Pos;
  1090. opFnRight_   |   | Ss_4ET_ET       | SSR_SDI2_SD
  1091.                     exFnRight_            | OPA_fHeapMove
  1092.     LrFunc2Args    | ORW_Right_;
  1093. opFnRnd           |                       | Ss_0FnETExe       | ET_R4
  1094.                     exFnRnd               | 0
  1095.     LrRw   | ORW_Rnd;
  1096. opFnRnd1          |                       | Ss_4ET_ET         | SSR_R4_R4
  1097.                     exFnRnd1              | 0
  1098.     LrFunc1Arg   | ORW_Rnd;
  1099. opFnRTrim_   |   | Ss_4ET_ET       | SSR_SD_SD
  1100.     exFnRTrim_   | OPA_fHeapMove
  1101.     LrFunc1Arg   | ORW_RTrim_;
  1102. opFnSAdd   |        | Ss_SAdd       | 0
  1103.     exFnSAdd   | 0
  1104.     LrFunc1Arg   | ORW_SAdd;
  1105. opFnScreen2   |        | Ss_4ET_ET       | SSR_I2I2_I2
  1106.                     exFnScreen2           | 0
  1107.                     LrFunc2Args           | ORW_Screen;
  1108. opFnScreen3   |        | Ss_4ET_ET       | SSR_3I2_I2
  1109.                     exFnScreen3           | 0
  1110.                     LrFunc3Args           | ORW_Screen;
  1111. opFnSeek          |                       | Ss_4ET_ET         | SSR_I2_I4
  1112.                     exFnSeek              | 0
  1113.                     LrFunc1Arg            | ORW_Seek;
  1114. opFnSetMem   |        | Ss_4ET_ET       | SSR_I4_I4
  1115.     exFnSetMem   | OPA_fHeapMove
  1116.     LrFunc1Arg   | ORW_SetMem;
  1117. opFnSgn           |                       | Ss_1FnPExe        | SSR_1NotSD_I2
  1118.                     mFnSgnOpExe           | 0
  1119.                     LrFunc1Arg            | ORW_Sgn;
  1120. opFnShell   |   | Ss_4ET_ET       | SSR_SD_I2
  1121.     exFnShell   | 0
  1122.                     LrFunc1Arg            | ORW_Shell;
  1123. opFnSin    |   | Ss_1FnPExeR8      | 0
  1124.     exFnSin   | 0
  1125.     LrFunc1Arg   | ORW_Sin;
  1126. opFnSpace_        |                       | Ss_4ET_ET         | SSR_I2_SD
  1127.                     exFnSpace_            | OPA_fHeapMove
  1128.     LrFunc1Arg   | ORW_Space_;
  1129. opFnSqr    |   | Ss_1FnPExeR8      | 0
  1130.     exFnSqr   | 0
  1131.                     LrFunc1Arg            | ORW_Sqr;
  1132. opFnStick   |        | Ss_4ET_ET       | SSR_I2_I2
  1133.                     exFnStick             | 0
  1134.                     LrFunc1Arg            | ORW_Stick;
  1135. opFnStr_          |                       | Ss_1FnPExe        | SSR_1NotSD_SD
  1136.     mptyppexFnStr_   | 0
  1137.                     LrFunc1Arg            | ORW_Str_;
  1138. opFnStrig   |        | Ss_4ET_ET       | SSR_I2_I2
  1139.                     exFnStrig             | 0
  1140.                     LrFunc1Arg            | ORW_Strig;
  1141. opFnString_   |   | Ss_FnString       | SSR_1I2SD_SD
  1142.                     ExNotDefined          | OPA_fHeapMove
  1143.                     LrFunc2Args           | ORW_String_;
  1144. opFnTan    |   | Ss_1FnPExeR8      | 0
  1145.     exFnTan   | 0
  1146.                     LrFunc1Arg            | ORW_Tan;
  1147. opFnTime_         |                       | Ss_0FnETExe       | ET_SD
  1148.                     exFnTime_             | 0
  1149.     LrRw   | ORW_Time_;
  1150. opFnTimer         |                       | Ss_0FnETExe       | ET_R4
  1151.                     exFnTimer             | 0
  1152.     LrRw   | ORW_Timer;
  1153. opFnUBound1   |   | Ss_LUBound1       | 0
  1154.     exFnUBound1    | 0
  1155.     LrFunc1Arg   | ORW_UBound;
  1156. opFnUBound2   |   | Ss_LUBound2       | 0
  1157.     exFnUBound2    | 0
  1158.     LrFunc2Args    | ORW_UBound;
  1159. opFnUCase_   |   | Ss_4ET_ET       | SSR_SD_SD
  1160.     exFnUCase_   | OPA_fHeapMove
  1161.     LrFunc1Arg   | ORW_UCase_;
  1162. opFnVal           |                       | Ss_4ET_ET         | SSR_SD_R8
  1163.                     exFnVal               | 0
  1164.                     LrFunc1Arg            | ORW_Val;
  1165. opFnVarPtr   |        | Ss_VarPtr       | 0
  1166.     exFnVarPtr   | 0
  1167.     LrFunc1Arg   | ORW_VarPtr;
  1168. opFnVarPtr_   |        | Ss_VarPtr$       | 0
  1169.     exFnVarPtr_    | 2+OPA_fHeapMove
  1170.     LrFnVarPtr_    | ORW_VarPtr_;
  1171. opFnVarSeg   |        | Ss_VarPtr       | 0
  1172.     exFnVarSeg   | 0
  1173.     LrFunc1Arg   | ORW_VarSeg;
  1174. opGE              |                       | Ss_2FnSamePExe    | SSR_2Any_I2
  1175.                     mGEOpExe              | 0
  1176.                     LrBinaryOp            | "=>";
  1177. opGT              |                       | Ss_2FnSamePExe    | SSR_2Any_I2
  1178.                     mGTOpExe              | 0
  1179.                     LrBinaryOp            | '>';
  1180. opIDv             |                       | Ss_2FnSamePExe    | SSR_2I2I4_Same
  1181.                     mIDvOpExe             | 0
  1182.                     LrBinaryOp            | 05CH;
  1183. opImp             |                       | Ss_2FnSamePExe    | SSR_2I2I4_Same
  1184.                     mImpOpExe             | 0
  1185.                     LrBinaryRw            | ORW_Imp;
  1186. opLE              |                       | Ss_2FnSamePExe    | SSR_2Any_I2
  1187.                     mLEOpExe              | 0
  1188.                     LrBinaryOp            | "=<";
  1189. opLT              |                       | Ss_2FnSamePExe    | SSR_2Any_I2
  1190.                     mLTOpExe              | 0
  1191.                     LrBinaryOp            | '<';
  1192. opLitI2    |   | Ss_LitI2       | ET_I2+HIGH ST_Lit
  1193.     exLitDI2   | 0
  1194.     LrLitI2   | LIT_I2;
  1195. opLitDI2          |                       | Ss_Lit            | ET_I2+HIGH ST_LitX
  1196.                     exLitDI2              | 2
  1197.                     LrLitNum              | 200H + LIT_I2;
  1198. opLitDI4          |                       | Ss_Lit            | ET_I4+HIGH ST_LitX
  1199.                     exLitDI4              | 4
  1200.                     LrLitNum              | 400H + LIT_I4;
  1201. opLitHI2          |                       | Ss_Lit            | ET_I2+HIGH ST_LitX
  1202.                     exLitHI2              | 2
  1203.                     LrLitNum              | 200H + LIT_H2;
  1204. opLitHI4          |                       | Ss_Lit            | ET_I4+HIGH ST_LitX
  1205.                     exLitHI4              | 4
  1206.                     LrLitNum              | 400H + LIT_H4;
  1207. opLitOI2          |                       | Ss_Lit            | ET_I2+HIGH ST_LitX
  1208.                     exLitOI2              | 2
  1209.                     LrLitNum              | 200H + LIT_O2;
  1210. opLitOI4          |                       | Ss_Lit            | ET_I4+HIGH ST_LitX
  1211.                     exLitOI4              | 4
  1212.                     LrLitNum              | 400H + LIT_O4;
  1213. opLitR4    |        | Ss_Lit       | ET_R4+HIGH ST_LitX
  1214.                     exLitR4               | 4
  1215.                     LrLitNum              | 400H + LIT_R4;
  1216. opLitR8           |                       | Ss_Lit            | ET_R8+HIGH ST_LitX
  1217.                     exLitR8               | 8
  1218.                     LrLitNum              | 800H + LIT_R8;
  1219. opLitSD           |                       | Ss_Lit            | ET_SD
  1220.                     exLitSD               | OPA_fHeapMove+OPA_CntMask
  1221.                     LrLitSD               | 0;
  1222. opLParen          |                       | Ss_LParen         | 0
  1223.                     exLParen              | 0
  1224.                     LrLParen              | 0;
  1225. opMod             |                       | Ss_2FnSamePExe    | SSR_2I2I4_Same
  1226.                     mModOpExe             | 0
  1227.                     LrBinaryRw            | ORW_Mod;
  1228. opMul             |                       | Ss_2FnSamePExe    | SSR_2NotSD_Same
  1229.                     mMulOpExe             | 0
  1230.                     LrBinaryOp            | '*';
  1231. opNE              |                       | Ss_2FnSamePExe    | SSR_2Any_I2
  1232.                     mNEOpExe              | 0
  1233.                     LrBinaryOp            | "><";
  1234. opNull            |                       | Ss_Lit            | ET_I2+HIGH ST_LitX
  1235.                     ExNull                | 0
  1236.                     LrNull                | 0;
  1237. opUndef           |                       | Ss_Lit            | ET_I2+HIGH ST_LitX
  1238.                     ExUndef               | 0
  1239.                     LrUndef               | 0;
  1240. opNot             |                       | Ss_1FnPExe        | SSR_1I2I4_Same
  1241.                     mNotOpExe             | 0
  1242.                     LrRwExp1              | ORW_Not;
  1243. opOr              |                       | Ss_2FnSamePExe    | SSR_2I2I4_Same
  1244.                     mOrOpExe              | 0
  1245.                     LrBinaryRw            | ORW_Or;
  1246. opPwr             |                       | Ss_2FnSamePExe    | SSR_2R4R8_Same
  1247.                     mPwrOpExe             | 0
  1248.                     LrBinaryOp            | '^';
  1249. opSub             |                       | Ss_2FnSamePExe    | SSR_2NotSD_Same
  1250.                     mSubOpExe             | 0
  1251.                     LrBinaryOp            | '-';
  1252. opUMi             |                       | Ss_UMi            | 0
  1253.                     mUMiOpExe             | 0
  1254.                     LrUnaryChar           | '-';
  1255. opXor             |                       | Ss_2FnSamePExe    | SSR_2I2I4_Same
  1256.                     mXorOpExe             | 0
  1257.                     LrBinaryRw            | ORW_Xor;
  1258. @AFTQB4
  1259. # The next two opcodes were added for QB4b (BC6's QB), so for binary load
  1260. # compatibility they need to immediately follow the QB4 opcodes.
  1261. opEvUEvent   |   | Ss_0_0       | 0
  1262.                     exEvUEvent            | OPA_fExecute
  1263.                     LrRw                  | ORW_UEvent;
  1264. opStSleep1        |                       | Ss_4ET_ET         | SSR_I4_None
  1265.                     exStSleep1            | 0+OPA_fExecute
  1266.                     LrRwExp1              | ORW_Sleep;
  1267. # End of QB4b specific opcodes.
  1268. opAsTypeFixed     |                       | Ss_AsType         | 0
  1269.                     exAsTypeFixed         | 6+OPA_fSsRude+OPA_fTxtFind
  1270.                     LrAsTypeFixed         | ORW_As;
  1271. opStDim           |                       | Ss_StDim          | 0
  1272.                     exStDim               | 2+OPA_fSsRude+OPA_fTxtFind
  1273.                     LrStoClassDecl        | ORW_Dim;
  1274. opAElemRef   |           *qb         | Ss_ElemRef        | 0
  1275.                     exElemRef             | 4+OPA_fTxtFind
  1276.     LrAElemRef   | 0;
  1277. opFnFormat_   | *qb               | Ss_Format        | 0
  1278.     mptyppexFnFormat_   | 0
  1279.     LrFuncHighArgs   | ORW_Format_;
  1280. opFnError_   | *qb               | Ss_0FnETExe       | ET_SD
  1281.                     exFnError_            | 0
  1282.                     LrRw                  | ORW_Error_;
  1283. opFnError_1   | *qb               | Ss_4ET_ET        | SSR_I2_SD
  1284.                     exFnError_1           | 0
  1285.                     LrFunc1Arg            | ORW_Error_;
  1286. #
  1287. # End of common block of opcodes
  1288. #
  1289. @__END_COMMON
  1290. ########################################################################
  1291. #
  1292. #  To maintain binary compatability with QB4 all new opcodes must be added
  1293. #  at the end of the sequence of opcodes.
  1294. #
  1295. ########################################################################
  1296. opStInclude       | *qb                   | Ss_0_0            | 0
  1297.                     exStInclude           | OPA_CntMask+OPA_fTxtFind
  1298.                     LrStInclude           | ORW_Include;