Index

symbols, 85

COMB pseudo-instruction,120 COMIB pseudo-instruction,120 command

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

register-type,25 control registers, 24

COPY pseudo-instruction,120 counter, location, 97, 101 cpp (C preprocessor), 128 creating

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 double-word dividend, 134

Executable and Linking Format 64-bit environment, 16, 17,

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