PreviousUpNext

15.3.107  src/lib/compiler/back/low/intel32/code/machcode-address-of-ramreg-intel32.api

# machcode-address-of-ramreg-intel32.api
#
# The intel32 (x86) architecture  is so register-starved that
# we allot some 'registers' on the stack -- both int and float.
# Here we give the api for a function to map "register id" to
# stack offset in such cases.

# Compiled by:
#     src/lib/compiler/back/low/intel32/backend-intel32.lib


stipulate
    package rkj =  registerkinds_junk;                                  # registerkinds_junk            is from   src/lib/compiler/back/low/code/registerkinds-junk.pkg
herein

    # This api is implemented in:
    #
    #     src/lib/compiler/back/low/main/intel32/machcode-address-of-ramreg-intel32-g.pkg
    #
    api Machcode_Address_Of_Ramreg_Intel32 {
        #
        package mcf: Machcode_Intel32;                                  # Machcode_Intel32      is from   src/lib/compiler/back/low/intel32/code/machcode-intel32.codemade.api

        ramreg:  { reg:  mcf::Operand,
                   base: rkj::Codetemp_Info
                 }
                 ->
                 mcf::Effective_Address;
    };
end;


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext