## pseudo-ops-basis-type.pkg
#
# Representation of assembly-language pseudo-ops.
# Compiled by:
#
src/lib/compiler/back/low/lib/lowhalf.libstipulate
package lbl = codelabel; # codelabel is from
src/lib/compiler/back/low/code/codelabel.pkg package qs = quickstring__premicrothread; # quickstring__premicrothread is from
src/lib/src/quickstring--premicrothread.pkgherein
# We get used in:
#
#
src/lib/compiler/back/low/mcg/pseudo-op.api #
src/lib/compiler/back/low/mcg/pseudo-op-endian.api #
package pseudo_op_basis_type {
#
Pseudo_Op (A_label_expression, A_ext)
= ALIGN_SIZE Int
| ALIGN_ENTRY
| ALIGN_LABEL
#
# ALIGN_SIZE aligns on a 2^n boundary.
#
# ALIGN_ENTRY forces alignment on an instruction cache line
# boundary, and ALIGN_LABEL is used for internal labels
# (such as loops) and may only align if a small (architecture
# determined) number of nops are required
| DATA_LABEL lbl::Codelabel
#
# Labels for data pseudo-ops.
# Code labels should not be generated as pseudo-ops.
| DATA_READ_ONLY
# Read-only initialized data.
| DATA
# Initialized data.
| BSS
# All-zero data.
| TEXT
# Executable code.
| SECTION qs::Quickstring
#
# The usual text and data sections.
# Sections are not allowed inside a text segment
| REORDER
| NOREORDER
#
# May have to rethink this one!
# For now, all instructions following a NOREORDER pseudo-op
# are preserved in the order they were generated, until
# a REORDER pseudo-op is seen.
#
# Perhaps what we also want a BARRIER pseudo-op that says
# no instructions must be moved above or below the barrier.
| INT { size: Int, i: List( A_label_expression ) }
# Constant integral data.
| ASCII String
# Strings.
| ASCIIZ String
# Zero terminated strings
| SPACE Int
# Allocate uninitialized data space with size in bytes
| FLOAT { size: Int, f: List( String ) }
# Constant real data
| IMPORT List( lbl::Codelabel )
# Import identifiers
| EXPORT List( lbl::Codelabel )
# Export identifiers
| COMMENT String
| EXT A_ext;
#
# Target-specific pseudo-ops.
# All these pseudo-ops must be related to data
# and not code!
};
end;
## COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.