22.02.2015 Views

HLASM Language Reference

HLASM Language Reference

HLASM Language Reference

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Assembler <strong>Language</strong> Structure<br />

Assembler Instructions<br />

┌───────────────┐ ┌───────────────┐ ┌───────────────┐<br />

│ NAME │ │ OPERATION │ │ OPERAND │<br />

│ Field │ │ Field │ │ Field │<br />

└───────┬───────┘ └───────┬───────┘ └───────┬───────┘<br />

│ │ │<br />

▼ Which ▼ Which ▼ Which<br />

│ can be │ must be │ can be<br />

┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐<br />

│ A Symbol │ │ A symbolic │ │ Zero or more │<br />

│ (or space) │ │ Operation │ │ operands │<br />

│ │ │ Code │ │ │<br />

└───────────────┘ └───────────────┘ └───────┬───────┘<br />

│<br />

│<br />

┌───────────────────────────────────────────────┴────────────────────────────┐<br />

▼<br />

▼<br />

┌──────────┴──────────┐<br />

┌──────────┴──────────┐<br />

│ For Data Definition │ │ For all other │<br />

│ (DC and DS │ │ ordinary Assembler │<br />

│ Instructions) │ │ Instructions │<br />

└──────────┬──────────┘<br />

└──────────┬──────────┘<br />

│<br />

│<br />

▼ Operands can be<br />

▼ Operands<br />

│ composed of one<br />

│ can be composed<br />

│ to five subfields<br />

│ of<br />

┌────────────────┼──────────────┬───────────────┬────────────────┐<br />

┌───────────────┼────────────────┐<br />

│ │ │ │ │ │ │ │<br />

┌─────┴──────┐ ┌──────┴─────┐ ┌─────┴──────┐ ┌─────┴──────┐ ┌─────┴──────┐ │ │ │<br />

│ │ │ │ │ │ │ │ │ │ │ │ │<br />

│Duplication │ │ Type │ │ Type │ │ Modifiers │ │ Nominal │ │ │ │<br />

│ factor │ │ │ │ Extension │ │ │ │ Value │ │ │ │<br />

│ │ │ │ │ │ │ │ │ │ │ │ │<br />

└──────┬─────┘ └──────┬─────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │ │ │<br />

│ │ │ │ │ ▼ ▼ ▼<br />

│ │ │ │ │ │ │ │<br />

▼ ▼ ▼ ▼ ▼ ┌─────┴──────┐ ┌─────┴──────┐ ┌─────┴──────┐<br />

│ ┌─────────────┘ │ │ │ │ Expression │ │ Character │ │ Symbolic │<br />

│ │ ┌─────────────────────────┘ │ │ │ (e.g.+14) │ │ String │ │ Option │<br />

│ │ │ ┌─────────────────────────────────────┘ │ │ │ │ (e.g. 'XX')│ │ (e.g. GEN) │<br />

│ │ │ │ ┌──────┐ │ └────────────┘ └────────────┘ └────────────┘<br />

│ │ │ │ │ │ │<br />

▼ ▼ ▼ ▼ ▼ │ ▼<br />

e.g. 1 E B L2 '12' │ │ One or more nominal values<br />

└──┴──┴──┴───┴─────┘ │ ┌────────────────────────┬────────────┴─────────────┬──────────────────────────┐<br />

▲ │ │ │ │<br />

│ ▼ ▼ ▼ ▼<br />

┌───┴───┴───────┐ ┌───────┴───────┐ ┌──────┴──────┐ ┌───────┴───────┐<br />

│ 'Decimal │ │ (Expression) │ │ 'Character │ │ 'Graphic │<br />

│ number' │ │ │ │ string' │ │ string' │<br />

│ (e.g. '12') │ │ (e.g. (ADDR)) │ │ (e.g. 'ABC')│ │ (e.g. '') │<br />

└───────────────┘ └───────────────┘ └─────────────┘ └───────────────┘<br />

Can be an ordinary symbol, a variable symbol, or a sequence symbol<br />

Includes symbolic operation codes of macro definitions<br />

Discussed more fully where individual instructions are described<br />

With DBCS option only<br />

Figure 9. Ordinary Assembler Instruction Statements<br />

Chapter 2. Coding and Structure 25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!