lopcodes.c 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /*
  2. ** $Id: lopcodes.c,v 1.1 2001/11/29 22:14:34 rieru Exp rieru $
  3. ** extracted automatically from lopcodes.h by mkprint.lua
  4. ** DO NOT EDIT
  5. ** See Copyright Notice in lua.h
  6. */
  7. #include "lua.h"
  8. #include "lobject.h"
  9. #include "lopcodes.h"
  10. #ifdef LUA_OPNAMES
  11. const char *const luaP_opnames[] = {
  12. "MOVE",
  13. "LOADK",
  14. "LOADINT",
  15. "LOADBOOL",
  16. "LOADNIL",
  17. "GETUPVAL",
  18. "GETGLOBAL",
  19. "GETTABLE",
  20. "SETGLOBAL",
  21. "SETUPVAL",
  22. "SETTABLE",
  23. "NEWTABLE",
  24. "SELF",
  25. "ADD",
  26. "SUB",
  27. "MUL",
  28. "DIV",
  29. "POW",
  30. "UNM",
  31. "NOT",
  32. "CONCAT",
  33. "JMP",
  34. "CJMP",
  35. "TESTEQ",
  36. "TESTNE",
  37. "TESTLT",
  38. "TESTLE",
  39. "TESTGT",
  40. "TESTGE",
  41. "TESTT",
  42. "TESTF",
  43. "CALL",
  44. "RETURN",
  45. "FORPREP",
  46. "FORLOOP",
  47. "TFORPREP",
  48. "TFORLOOP",
  49. "SETLIST",
  50. "SETLISTO",
  51. "CLOSE",
  52. "CLOSURE"
  53. };
  54. #endif
  55. #define opmode(t,x,b,c,sa,k,m) (((t)<<OpModeT) | \
  56. ((b)<<OpModeBreg) | ((c)<<OpModeCreg) | \
  57. ((sa)<<OpModesetA) | ((k)<<OpModeK) | (m))
  58. const lu_byte luaP_opmodes[NUM_OPCODES] = {
  59. /* T _ B C sA K mode opcode */
  60. opmode(0,0,1,0, 1,0,iABC) /* OP_MOVE */
  61. ,opmode(0,0,0,0, 1,1,iABc) /* OP_LOADK */
  62. ,opmode(0,0,0,0, 1,0,iAsBc) /* OP_LOADINT */
  63. ,opmode(0,0,0,0, 1,0,iABC) /* OP_LOADBOOL */
  64. ,opmode(0,0,1,0, 1,0,iABC) /* OP_LOADNIL */
  65. ,opmode(0,0,0,0, 1,0,iABC) /* OP_GETUPVAL */
  66. ,opmode(0,0,0,0, 1,1,iABc) /* OP_GETGLOBAL */
  67. ,opmode(0,0,1,1, 1,0,iABC) /* OP_GETTABLE */
  68. ,opmode(0,0,0,0, 0,1,iABc) /* OP_SETGLOBAL */
  69. ,opmode(0,0,0,0, 0,0,iABC) /* OP_SETUPVAL */
  70. ,opmode(0,0,1,1, 0,0,iABC) /* OP_SETTABLE */
  71. ,opmode(0,0,0,0, 1,0,iABC) /* OP_NEWTABLE */
  72. ,opmode(0,0,1,1, 1,0,iABC) /* OP_SELF */
  73. ,opmode(0,0,1,1, 1,0,iABC) /* OP_ADD */
  74. ,opmode(0,0,1,1, 1,0,iABC) /* OP_SUB */
  75. ,opmode(0,0,1,1, 1,0,iABC) /* OP_MUL */
  76. ,opmode(0,0,1,1, 1,0,iABC) /* OP_DIV */
  77. ,opmode(0,0,1,1, 1,0,iABC) /* OP_POW */
  78. ,opmode(0,0,1,0, 1,0,iABC) /* OP_UNM */
  79. ,opmode(0,0,1,0, 1,0,iABC) /* OP_NOT */
  80. ,opmode(0,0,1,1, 1,0,iABC) /* OP_CONCAT */
  81. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_JMP */
  82. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_CJMP */
  83. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTEQ */
  84. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTNE */
  85. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTLT */
  86. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTLE */
  87. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTGT */
  88. ,opmode(1,0,0,1, 0,0,iABC) /* OP_TESTGE */
  89. ,opmode(1,0,1,0, 1,0,iABC) /* OP_TESTT */
  90. ,opmode(1,0,1,0, 1,0,iABC) /* OP_TESTF */
  91. ,opmode(0,0,0,0, 0,0,iABC) /* OP_CALL */
  92. ,opmode(0,0,0,0, 0,0,iABC) /* OP_RETURN */
  93. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_FORPREP */
  94. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_FORLOOP */
  95. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_TFORPREP */
  96. ,opmode(0,0,0,0, 0,0,iAsBc) /* OP_TFORLOOP */
  97. ,opmode(0,0,0,0, 0,0,iABc) /* OP_SETLIST */
  98. ,opmode(0,0,0,0, 0,0,iABc) /* OP_SETLISTO */
  99. ,opmode(0,0,0,0, 0,0,iABC) /* OP_CLOSE */
  100. ,opmode(0,0,0,0, 1,0,iABc) /* OP_CLOSURE */
  101. };