sicasm.doc

advertisement
HOW TO USE THE SIC ASSEMBLER
This is a simple assembler for SIC (standard version). It uses the
following external files:
SRCFILE
OBJFILE
LISFILE
INTFILE
-----
the source program to be assembled
the object program generated by the assembly
the assembly listing
intermediate working file for the assembler.
The assembler supports all standard SIC features and instructions,
and the assembler directives START, END, BYTE, WORD, RESB, RESW.
General information about the SIC instructions and assembler
directives
can be found in "System Software" (Chapter 2 and Appendix A).
Implementation conventions and restrictions for THIS assembler are
described below.
SOURCE FORMAT
The source program to be assembled must be in fixed format as follows:
Bytes
1-8
9
10-15
16-17
18-35
36-66
Label
Blank
Operation code (or Assembler directive)
Blank
Operand
Comment
Imbedded blanks are not allowed in the Label, Operation code, or
Operand fields (except within a character string in a BYTE directive).
If a source line contains a period (.) in the first byte, the entire
line is treated as a comment.
CHARACTER SET
All source program statements should be written using uppercase
letters.
INSTRUCTION OPERANDS
Instruction operands may be either a symbol (which appears as a label
in the program), or an actual hexadecimal address (4 hex digits or
less).
Hexadecimal addresses that would begin with 'A' through 'F' must start
with a leading '0' (to distinguish them from labels). Either type of
operand may be followed by ',X' to indicate indexed addressing.
START STATEMENT
The first statement in the source program (except for comment lines)
must be START. No other START statements may appear in the program.
The operand for START is a hexadecimal address (4 hex digits or less),
which is taken as the starting address for the program.
END STATEMENT
The last statement in the source program should be END. The operand
for END must be a symbol which appears as a label in the program.
BYTE STATEMENT
The operand for a BYTE statement must be of the form C'ccc...' or
X'hhh...', as described in "System Software." The maximum length
of the operand is 15 characters or 14 hex digits (representing 7
bytes).
WORD STATEMENT
The operand for a WORD statement may be either a symbol (which appears
as a label in the program) or a decimal integer (4 digits or less).
Integers may be preceded by a minus sign (-) to indicate negative
values.
RESB AND RESW STATEMENTS
The operand for RESB or RESW should be a non-negative decimal integer
(4 digits or less).
ADDRESS LIMITATION
The maximum address handled or displayed by the assembler is FFFF.
Download