18.08.2013 Views

Meta-Assembler (MASM) Programming Reference Manual

Meta-Assembler (MASM) Programming Reference Manual

Meta-Assembler (MASM) Programming Reference Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Section 1<br />

Introduction<br />

7830 8269-001<br />

<strong>MASM</strong> (meta-assembler) is not limited to generating code for a particular hardware<br />

architecture. When the <strong>MASM</strong> processor is loaded, it has the predefined OS 1100<br />

instruction set. However, with the built-in directives and functions, you can define the<br />

instruction set and useful directives for any hardware architecture, if the output of<br />

<strong>MASM</strong> (OS 1100 relocatable binary or object module format) can be converted to a form<br />

acceptable to the operating system on the alternate architecture.<br />

Note: Unisys supports “extended mode” <strong>MASM</strong> usage (assembler directive $EXTEND<br />

with or without assembler directive $OBJ) only in software written by Unisys<br />

or in interfaces written by the customer that explicitly require extended mode<br />

assembler-produced elements according to the documentation written by<br />

Unisys. In a “nonextended mode” <strong>MASM</strong> usage (absence of assembler<br />

directive $EXTEND), Unisys does not support the generation of object<br />

modules (use of assembler directive $OBJ) but will continue to provide full<br />

support for the generation of other provided element types which are not object<br />

modules (absence of both the $EXTEND and $OBJ assembler directives).<br />

The processor accepts both Fieldata and ASCII input and maintains character constants<br />

in either code as specified by the user. <strong>MASM</strong> uses an internal code to store character<br />

constants that do not have to be maintained in a specific character code, such as names<br />

in the dictionary and some relocation information.<br />

<strong>MASM</strong> performs specified tasks based on the interpretation of statements received<br />

primarily using the symbolic input/output routine (SIR$); <strong>MASM</strong> then produces output<br />

that depends on the user’s request. The relocatable output routine (ROR) produces a<br />

relocatable binary element. The object module output routine (OMOR) produces an<br />

object module element. <strong>MASM</strong> optionally produces a printed listing of the input and its<br />

processed form. The structure of the input and output forms is presented in Section 2.<br />

1-1

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

Saved successfully!

Ooh no, something went wrong!