예제 #1
0
void CgFrontCode(               // EMIT TO CODE SEGMENT
    CGINTEROP opcode )          // - intermediate code
{
    CGINTER ins = { 0 };        // - instruction

    ins.opcode = opcode;
    cgEmit( getGenData(), &ins );
}
예제 #2
0
void CgFrontCode(               // EMIT TO CODE SEGMENT
    int opcode )                // - intermediate code
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.ivalue = 0;
    cgEmit( getGenData(), &ins );
}
예제 #3
0
void CgFrontCodePtr(            // EMIT (code,ptr) TO CODE SEGMENT
    int opcode,                 // - opcode
    void *value )               // - value
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.pvalue = value;
    cgEmit( getGenData(), &ins );
}
예제 #4
0
void CgFrontCodeUint(           // EMIT (code,unsigned) TO CODE SEGMENT
    int opcode,                 // - opcode
    unsigned value )            // - value
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.uvalue = value;
    cgEmit( getGenData(), &ins );
}
예제 #5
0
void CgFrontCodeInt(            // EMIT (code,int) TO CODE SEGMENT
    int opcode,                 // - opcode
    int value )                 // - value
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.ivalue = value;
    cgEmit( getGenData(), &ins );
}
예제 #6
0
void DgInitDone(                // COMPLETE INITIALIZATION OF SYMBOL
    void )
{
    CGFILE_GEN *gen;            // - generation data

    gen = getGenData();
    if( gen->emit_init_end ) {
        cgEmit( gen, &ins_init_done );
    }
    gen->emit_init_beg = FALSE;
    gen->emit_init_end = FALSE;
    if( flags.init_data_end ) {
        cgEmitData( &ins_init_done );
    }
    flags.init_data_beg = FALSE;
    flags.init_data_end = FALSE;
    emitDataCGFILE = &dataCGFILE;
}