Index
symbols, 85
COMB
as, 124 cc, 127
comments field, 19, 20 compare and branch conditions,
121
compiler conventions, 47 completers, 35
macros, 37 condition
add and branch, 122 compare and branch, 121
constants, 21 integer, 21
parenthesized subexpressions, 34
COPY
entry/exit code sequences, 67 stack unwind descriptors, 67
current procedure describing environment of, 67
D
DATA symbols, 85
declaring
a new space, 106
a new subspace, 111 beginning of macro definition,
98
beginning of procedure, 102 end of a procedure, 102 predefined subspace, 95
defining
new instructions, with macros, 37
delay slot, 119 instructions, 119
demonstrating the procedure calling convention, 136
dependencies, 136
cccommand, 136 pcc_prefix.s, 136
describing environment of current procedure, 67 diagnostic messages, 141
directives, 53
.ALIGN, 42, 57
.ALLOW, 58, 93
.CALL, 63, 86
.CALLINFO, 48, 67, 81, 102
.CODE, 43, 52
.COMM, 74
.COPYRIGHT, 75
.DATA, 43, 52
.END, 79
.ENDM, 80, 98
.ENTRY, 83
.EQU, 19, 21, 25, 84
.EXIT, 83, 102
.EXPORT, 48, 85
.IMPORT, 49, 90
.LABEL, 20, 92
.LEVEL, 58, 93
.LISTOFF, 52, 95
.LISTON, 52, 95
.LOCCT, 46, 97
.MACRO, 19, 21, 37, 80, 98
.ORIGIN, 101
.PROC, 48, 102
.PROCEND, 48, 102
.REG, 19, 21, 25, 35, 104
.SHLIB_VERSION, 105
.SPACE, 41, 43, 106
.SUBSPA, 43, 46, 107, 111
.VERSION, 114 list of, 53
predefined subspace, 116 dp register, 49
DS
divide step example, 134
E
ending the program, 79
ENTRY symbols, 85
entry points
marking procedure, 81, 83 error messages, 141, 154 errors
out of memory, 183 examples, 129
binary search for highest bit position, 130
C program calling assembly, 136
C program generating assembly code, 138
copying a string, 132 dividing a
Executable and Linking Format
111
executable program file, 15 exit points
marking procedure, 81, 83 expansion of macros, 95 expressions, 16
absolute, 16 absolute result, 29 address, 16 assigning value to an
identifier, 84
integer constants, 29 relocatable, 16 relocatable result, 29 symbolic addresses, 29 symbolic constants, 29
Index | 197 |