You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
930 B

#ifndef __CODE_H
#define __CODE_H
/*
* 0-15 general flags for both vm and native
* 16-31 for vm or native specific use.
*/
#define CODE_FLAG_GENERAL_START 0
#define CODE_FLAG_SPECIFIC_START 16
#define DefineGeneralFlag(n) (1<<((n) + CODE_FLAG_GENERAL_START))
#define DefineSpecificFlag(n) (1<<((n) + CODE_FLAG_SPECIFIC_START))
#define CODE_FLAG_IS_LABEL DefineGeneralFlag(0)
#define CODE_FLAG_IS_REL_JMP DefineGeneralFlag(1)
#define CODE_FLAG_IS_INST DefineGeneralFlag(2)
#define CODE_FLAG_DO_NOT_DIVIDE DefineGeneralFlag(3)
#define CODE_FLAG_GROUP_START DefineGeneralFlag(4)
#define CODE_FLAG_GROUP_END DefineGeneralFlag(5)
#define CODE_FLAG_HAS_ASM_OP DefineGeneralFlag(6) //Call all of the pre assembly operations MOVE THESE TO SPECIFIC FLAGS AT SOME POINT
#define CODE_FLAG_IS_RIP_REL DefineGeneralFlag(7) //Figure out how to deal with this...
#define CODE_FLAG_DOESNT_READ_FLAGS DefineGeneralFlag(8)
#endif