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; }
TEST(IInstruction, ExtractImmediate2) { int32 inst(0x24625bfa); EXPECT_EQ(IMMEDIATE(inst), 23546); }
TEST(IInstruction, ExtractImmediate1) { int32 inst(0xffffffff); EXPECT_EQ(IMMEDIATE(inst), 0xffff); }