Beispiel #1
0
Datei: nteh.c Projekt: spott/dmd
code *nteh_gensindex(int sindex)
{   code *c;

    if (!(config.flags2 & CFG2seh))
        return NULL;

    // Generate:
    //  MOV     -4[EBP],sindex

    c = genc(NULL,0xC7,modregrm(1,0,BP),FLconst,(targ_uns)nteh_EBPoffset_sindex(),FLconst,sindex);      // 7 bytes long
    c->Iflags |= CFvolatile;
#ifdef DEBUG
    //assert(GENSINDEXSIZE == calccodsize(c));
#endif
    return c;
}
Beispiel #2
0
code *nteh_gensindex(int sindex)
{
    if (config.exe != EX_WIN32)
        return NULL;

    // Generate:
    //  MOV     -4[EBP],sindex

    CodeBuilder cdb;
    cdb.genc(0xC7,modregrm(1,0,BP),FLconst,(targ_uns)nteh_EBPoffset_sindex(),FLconst,sindex);      // 7 bytes long
    code *c = cdb.finish();
    c->Iflags |= CFvolatile;
#ifdef DEBUG
    //assert(GENSINDEXSIZE == calccodsize(c));
#endif
    return c;
}