static void _postpone (int *addr,Task_Data * IData)
{
	int *ptr;
	char *link;
	word(IData);
	link = (char*)find(IData);
	if (!IMMEDIATE(link[sizeof(int*)]))
	{
		compile(TOIP(get_exec_ptr((char*)find_a("COMPILE_NEXT",Global_Dict->latest))),IData);
	}
	compile(TOIP(get_exec_ptr((char*)link)),IData);
	ptr = (int*)(int)IData->xt;
	ptr++;
	IData->xt = (void (*)())ptr;
}
Example #2
0
TEST(IInstruction, ExtractImmediate2)
{
	int32 inst(0x24625bfa);
    EXPECT_EQ(IMMEDIATE(inst), 23546);
}
Example #3
0
TEST(IInstruction, ExtractImmediate1)
{
	int32 inst(0xffffffff);
    EXPECT_EQ(IMMEDIATE(inst), 0xffff);
}