Exemplo n.º 1
0
extern  void    FEPtrBase( cg_sym_handle sym )
/*****************************************/
{
    segment_id          seg;

    TellOptimizerByPassed();
    seg = FESegID( sym );
    OutSegReloc( FEBack( sym )->lbl, seg );
    ObjBytes( "\0\0", 2 );
    TellByPassOver();
}
Exemplo n.º 2
0
fe_seg_id CgBackGenLabel(       // GENERATE A LABEL
    SYMBOL sym )                // - symbol defining label
{
    segment_id      old_id;     // - old segment
    segment_id      seg_id;     // - new segment

    seg_id = FESegID( sym );
    old_id = BESetSeg( seg_id );
    DGLabel( FEBack( sym ) );
    return old_id;
}
Exemplo n.º 3
0
fe_seg_id CgBackGenLabelInternal(// GENERATE A LABEL FOR INTERNAL STRUCTURE
    SYMBOL sym )                // - symbol defining label
{
    segment_id      old_id;     // - old segment
    segment_id      seg_id;     // - new segment

    seg_id = FESegID( sym );
    old_id = BESetSeg( seg_id );
    DgAlignInternal();
    DGLabel( FEBack( sym ) );
    return old_id;
}
Exemplo n.º 4
0
void DgSymbolDefInit(           // DATA GENERATE SYMBOL (DEFAULT DATA)
    SYMBOL sym )                // - the symbol
{
    segment_id      old_seg;    // - old segment
    segment_id      seg_id;     // - symbol segment
    target_size_t   size;       // - size of symbol

    seg_id = FESegID( sym );
    old_seg = BESetSeg( seg_id );
    DgAlignSegment( seg_id, SegmentAlignment( sym->sym_type ) );
    CgBackGenLabel( sym );
    size = CgMemorySize( sym->sym_type );
    if( sym->segid == SEG_BSS ) {
        DgUninitBytes( size );
    } else {
        DgInitBytes( size, 0 );
    }
    BESetSeg( old_seg );
}
Exemplo n.º 5
0
segment_id DgSetSegSym( SYMBOL sym )
{
    return( BESetSeg( FESegID( sym ) ) );
}