## gas-pseudo-ops-intel32-g.pkg
#
# Nomenclature: 'gas' == 'Gnu ASsembler'.
# Compiled by:
#
src/lib/compiler/back/low/intel32/backend-intel32.lib# NB: Here "gas" == "gnu assembler".
stipulate
package lem = lowhalf_error_message; # lowhalf_error_message is from
src/lib/compiler/back/low/control/lowhalf-error-message.pkg package pbt = pseudo_op_basis_type; # pseudo_op_basis_type is from
src/lib/compiler/back/low/mcg/pseudo-op-basis-type.pkgherein
# This generic is invoked from:
#
#
src/lib/compiler/back/low/main/intel32/backend-lowhalf-intel32-g.pkg #
generic package gas_pseudo_ops_intel32_g (
# ========================
#
package tcf: Treecode_Form; # Treecode_Form is from
src/lib/compiler/back/low/treecode/treecode-form.api package tce: Treecode_Eval # Treecode_Eval is from
src/lib/compiler/back/low/treecode/treecode-eval.api where
tcf == tcf; # "tcf" == "treecode_form".
)
: (weak) Base_Pseudo_Ops # Base_Pseudo_Ops is from
src/lib/compiler/back/low/mcg/base-pseudo-ops.api {
package tcf = tcf; # Export to client packages
stipulate
package ndn # "ndn" == "endian".
=
little_endian_pseudo_op_g ( # little_endian_pseudo_op_g is from
src/lib/compiler/back/low/mcg/little-endian-pseudo-op-g.pkg #
package tcf = tcf; # "tcf" == "treecode_form".
package tce = tce; # "tce" == "treecode_eval".
#
icache_alignment = 16; # Cache line size.
max_alignment = THE 7; # Maximum alignment for internal labels.
#
nop = { size=>1, en=>0ux90: one_word_unt::Unt }; # Encoding for no-op.
);
package gap # "gap" == "gnu_assembler_pseudo_ops".
=
gnu_assembler_pseudo_op_g ( # gnu_assembler_pseudo_op_g is from
src/lib/compiler/back/low/mcg/gnu-assembler-pseudo-op-g.pkg #
package tcf = tcf; # "tcf" == "treecode_form".
#
label_format = { global_symbol_prefix => "",
anonymous_label_prefix => "L"
};
);
herein
Pseudo_Op(X)
=
pbt::Pseudo_Op( tcf::Label_Expression, X );
fun error msg
=
lem::error ("gnu_assembler_pseudo_ops.", msg);
current_pseudo_op_size_in_bytes = ndn::current_pseudo_op_size_in_bytes;
put_pseudo_op = ndn::put_pseudo_op;
label_expression_to_string = gap::label_expression_to_string;
pseudo_op_to_string = gap::to_string;
define_private_label = gap::define_private_label;
end;
};
end;
## COPYRIGHT (c) 2002 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.