Beispiel #1
0
static void cgSetupSegment(     // SET UP DATA SEGMENT, EMIT INSTRUCTION
    unsigned seg_number )       // - segment number
{
    if( seg_number != ins_def_seg.value.ivalue ) {
        ins_def_seg.value.uvalue = seg_number;
        cgEmitData( &ins_def_seg );
    }
}
Beispiel #2
0
void CgFrontData(               // EMIT TO DATA SEGMENT
    CGINTEROP opcode )          // - intermediate code
{
    CGINTER ins = { 0 };        // - instruction

    ins.opcode = opcode;
    cgEmitData( &ins );
}
Beispiel #3
0
void CgFrontData(               // EMIT TO DATA SEGMENT
    int opcode )                // - intermediate code
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.ivalue = 0;
    cgEmitData( &ins );
}
Beispiel #4
0
void CgFrontDataPtr(            // EMIT (code,ptr) TO DATA SEGMENT
    int opcode,                 // - opcode
    void *value )               // - value
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.pvalue = value;
    cgEmitData( &ins );
}
Beispiel #5
0
void CgFrontDataUint(           // EMIT (code,unsigned) TO DATA SEGMENT
    int opcode,                 // - opcode
    unsigned value )            // - value
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.uvalue = value;
    cgEmitData( &ins );
}
Beispiel #6
0
void CgFrontDataInt(            // EMIT (code,int) TO DATA SEGMENT
    int opcode,                 // - opcode
    int value )                 // - value
{
    CGINTER ins;                // - instruction

    ins.opcode = opcode;
    ins.value.ivalue = value;
    cgEmitData( &ins );
}
Beispiel #7
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;
}