⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gb_pcode.h

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 H
字号:
/***************************************************************************  pcode.h  The p-code instruction set  (c) 2000-2004 Beno顃 Minisini <gambas@freesurf.fr>  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; either version 1, or (at your option)  any later version.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.  You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.***************************************************************************/#ifndef __GB_PCODE_H#define __GB_PCODE_H#define C_NOP                   0x0000#define C_PUSH_QUICK            0xF000#define C_PUSH_CONST            0xE000#define C_POP_STATIC            0xD800#define C_POP_DYNAMIC           0xD000#define C_PUSH_STATIC           0xC800#define C_PUSH_DYNAMIC          0xC000#define C_PUSH_FUNCTION         0xB800#define C_PUSH_CLASS            0xB000#define C_ADD_QUICK             0xA000#define C_PUSH_LOCAL            0x0100#define C_PUSH_ARRAY            0x0200#define C_PUSH_UNKNOWN          0x0300#define C_PUSH_EXTERN           0x0500#define C_PUSH_SPECIAL          0x0600#define C_PUSH_EVENT            0x0700#define C_QUIT                  0x0800#define C_POP_LOCAL             0x0900#define C_POP_ARRAY             0x0A00#define C_POP_UNKNOWN           0x0B00#define C_POP_OPTIONAL          0x0C00#define C_POP_CTRL              0x0D00#define C_BREAK                 0x0E00#define C_RETURN                0x0F00#define C_PUSH_INTEGER          0x1000#define C_PUSH_LONG             0x1100#define C_PUSH_CHAR             0x1200#define C_PUSH_ME               0x1300#define C_PUSH_NULL             0x1400#define C_PUSH_VOID             0x1500#define C_PUSH_RETURN           0x1600#define C_PUSH_BOOLEAN          0x1700#define C_PUSH_LAST             0x1800#define C_EVENT                 0x1900#define C_TRY                   0x1A00#define C_END_TRY               0x1B00#define C_CATCH                 0x1C00#define C_DUP                   0x1D00#define C_DROP                  0x1E00#define C_NEW                   0x1F00#define C_JUMP                  0x2000#define C_JUMP_IF_TRUE          0x2100#define C_JUMP_IF_FALSE         0x2200#define C_CALL                  0x2300#define C_JUMP_FIRST            0x2400#define C_JUMP_NEXT             0x2500#define C_FIRST                 0x2600#define C_NEXT                  0x2700#define C_EQ                    0x2800#define C_NE                    0x2900#define C_GT                    0x2A00#define C_LE                    0x2B00#define C_LT                    0x2C00#define C_GE                    0x2D00#define C_IS                    0x2E00#define C_CASE                  0x2F00#define C_ADD                   0x3000#define C_SUB                   0x3100#define C_MUL                   0x3200#define C_DIV                   0x3300#define C_NEG                   0x3400#define C_QUO                   0x3500#define C_REM                   0x3600#define C_POW                   0x3700#define C_AND                   0x3800#define C_OR                    0x3900#define C_NOT                   0x3A00#define C_XOR                   0x3B00#define C_CAT                   0x3C00#define C_LIKE                  0x3D00#define C_FILE                  0x3E00#define CODE_FIRST_SUBR 0x40#define CODE_LAST_SUBR  0x9F#define CODE_CALL_VARIANT   0x40#define CODE_CALL_VOID      0x80#define CODE_STATIC    0x0800#define CODE_FUNCTION  0x0400#define CODE_NEW_ARRAY  0x40#define CODE_NEW_EVENT  0x80#define CODE_RINSTR      (CODE_FIRST_SUBR + 12)#define CODE_FIRST_MATH  (CODE_FIRST_SUBR + 17)#define CODE_MAX         (CODE_FIRST_SUBR + 27)typedef  ushort PCODE;#define PCODE_is(pcode, value)  (((pcode) & 0xFF00) == (value))#define PCODE_get_nparam(pcode) ((pcode) & 0x3F)#define PCODE_is_variant(pcode)  ((pcode) & CODE_CALL_VARIANT)#define PCODE_is_void(pcode)    ((pcode) & CODE_CALL_VOID)#define PCODE_is_breakpoint(pcode) PCODE_is(pcode, C_BREAK)#define PCODE_BREAKPOINT(num) ((PCODE)(C_BREAK | (num)))#ifndef NO_CODE_DUMPPUBLIC short PCODE_dump(short addr, PCODE *code);#endif#endif /* */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -