PreviousUpNext

15.3.138  src/lib/compiler/back/low/mcg/pseudo-op.api

## pseudo-op.api

# Compiled by:
#     src/lib/compiler/back/low/lib/lowhalf.lib



# lowhalf pseudo-ops
# Ties together the assembler and client pseudo-ops

api Pseudo_Ops {
    #
    package tcf: Treecode_Form;                         # Treecode_Form                 is from   src/lib/compiler/back/low/treecode/treecode-form.api

    package cpo: Client_Pseudo_Ops                      # Client_Pseudo_Ops             is from   src/lib/compiler/back/low/mcg/client-pseudo-ops.api
                 where
                     bpo::tcf == tcf;                   # "tcf" == "treecode_form".

    Pseudo_Op
        =
        pseudo_op_basis_type::Pseudo_Op(                # pseudo_op_basis_type          is from   src/lib/compiler/back/low/mcg/pseudo-op-basis-type.pkg
            #
            tcf::Label_Expression,
            cpo::Pseudo_Op
        );

    pseudo_op_to_string:  Pseudo_Op -> String;

    put_pseudo_op
        :
        { pseudo_op:    Pseudo_Op,
          loc:          Int,
          put_byte:     one_byte_unt::Unt -> Void
        }
        ->
        Void;
        #
        # Identical to that in base-pseudo-ops.api 

    current_pseudo_op_size_in_bytes
        :
        (Pseudo_Op, Int) -> Int;
        #
        # Identical to that in base-pseudo-ops.api 

    adjust_labels:  (Pseudo_Op, Int) -> Bool;
        #
        # Adjust the value of labels in the pseudo_op
        # given the current location counter.
  };



## COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext