HP 9000 Computers
92432-90012 June
Restricted Rights Legend
Legal Notices
Hanover Street Palo Alto, California
Contents
Assembler Directives and Pseudo-Operations
Contents
Contents
Contents
Contents
Pseudo-Instruction Set Assembling Your Program
Programming Examples
Diagnostic Messages
Index
Printing History
Preface
Edition Date Software Version
Audience
Related Documentation
Typographical Conventions
This Manual
Summary of Technical Changes for HP-UX
Assembly Language
Assembler Features
Assembler Features
Summary of Changes for PA-RISC
Summary of Changes for PA-RISC
Summary of Changes for PA-RISC 2.0W Wide Mode, 64-bit
Chapter
Summary of Changes for PA-RISC 2.0W Wide Mode, 64-bit
Program Structure
Program Structure
Label Opcode Operands Comments
Symbols and Constants
Symbols and Constants
Integer Constants Signed Unsigned
Registers and Register Mnemonics
Registers and Register Mnemonics
Registers by using an L or R suffix
General Registers
Single-Precision Floating-Point Registers
Space Registers
Double-Precision Floating-Point Registers
Control Registers Synonyms
Register Procedure Calling Conventions
Register Synonyms Description
Standard Arithmetic Operators
Expressions
Expressions
Operator Operation
Legal Combinations For Relocatable Terms Operation Result
Available Field Selectors Meaning
Field Meaning Selector
Multiple of 2048 allows a three-instruction sequence
Parenthesized Subexpressions
Operands and Completers
Operands and Completers
Addi
Defining New Instructions With Macros
Macro Processing
Macro Processing
Contains general register 19, or binary 10011. These
HP-UX Architecture Conventions
Spaces
Spaces
Memory Layout on HP-UX Sr4 Sr5 Sr6
Attributes
Subspaces
Subspaces
Standard Subspaces and Sort Keys
Directives
Space Subspace Sort Key Use
Sections in 64-bit Mode
Sections in 64-bit Mode
$INIT$
Location Counters
Location Counters
Compiler Conventions
Compiler Conventions
Compiler Conventions
Global Symbol Usage
Mfctl
Shared Libraries
Assembly Listing
Shared Libraries
Assembly Listing
Assembler Directives
Introduction
Directive Function
Requests common storage for a specified number Bytes
Pseudo-Operations Directive Function
Reserves 16 bits a half word of storage
Parameters
Align Directive
Syntax
Example
Discussion
Allow Directive
Allow Directive
To the .LEVEL specified for the file
Block and .BLOCKZ Pseudo-Operations
Block and .BLOCKZ Pseudo-Operations
Space $TEXT$ Subspa $CODE$ Block
Byte Pseudo-Operation
Byte Pseudo-Operation
Byte initvalue , initvalue
Call Directive
Call Directive
Call argumentdescription argumentdescription
first word in the argument list
Form of argument-description is Arg=location Where arg can
Return value for a procedure
Second word in the argument list
LIT Align Word
Procend Export
Callinfo Directive
Callinfo Directive
Callinfo parameter , parameter
Register
ENTRYSR=
Unwound
It restores the RP value when it encounters a .LEAVE
Callinfo Directive Stack Frames
Re-enter code subspace
Label .COMM numbytes
Comm Directive
Comm Directive
Label Labels the location of the reserved storage
Copyright Directive
Copyright Directive
Company-name
Proc Callinfo Enter
Double Pseudo-Operation
Integer .fraction E power
Fraction E power
Double Pseudo-Operation
Dword Pseudo-Operation
Dword Pseudo-Operation
Dword initvalue , initvalue
END Directive
END Directive
Endm Directive
Endm Directive
Enter and .LEAVE Pseudo-Operations
Enter and .LEAVE Pseudo-Operations
Space $TEXT$
Entry and .EXIT Directives
Entry and .EXIT Directives
EQU Directive
Symbolicname .EQU value
EQU Directive
Value
Export Directive
Export Directive
Argument
Export proc,ENTRY,ARGW0=GR
Float Pseudo-Operation
Float Pseudo-Operation
Half Pseudo-Operation
Half Pseudo-Operation
Half initvalue , initvalue
Import Directive
Import Directive
NOP END
Label labelid
Label Directive
Label Directive
Labelid Names the label identifier
Level Directive
Level Directive
Level Directive
Listoff and .LISTON Directives
Listoff and .LISTON Directives
Liston Code Space $TEXT$ SPNUM=0,SORT=0 Subspa $CODE$
Locct Directive
Locct Directive
Macro Directive
Macro Directive
Label .MACRO formalparameter,formalparameter
Examples
100
Origin Directive
Origin Directive
Chapter 101
Proc and .PROCEND Directives
Proc and .PROCEND Directives
102
Chapter 103
Label .REG typedregister
REG Directive
REG Directive
Label User-defined register name
Shlibversion Directive
Shlibversion Directive
Chapter 105
Space Directive
Space Directive
106
Chapter 107
Spnum Pseudo-Operation
Spnum Pseudo-Operation
108
String and .STRINGZ Pseudo-Operations
String and .STRINGZ Pseudo-Operations
Chapter 109
110
Name An identifier that names the current subspace
Subspa Directive
Subspa Directive
Chapter 111
112
Chapter 113
Version Directive
Version Directive
114
Word initvalue , initvalue
Word Pseudo-Operation
Word Pseudo-Operation
Chapter 115
Programming Aids
Directive Space Name Default Parameters
Programming Aids
Predefined Subspace Directives
Shortdata
Chapter 117
Programming Aids 118
Pseudo-Instruction Set
119
120
Cond Description
Compare and Branch Conditions Comb and Comib
Chapter 121
Add and Branch Conditions Addb and Addib Description
122
Invoking the Assembler
123
Assemble code for the architecture
Using the as Command
Using the as Command
124
Level
filename
Chapter 125
Online User Guide
Wnumber
Tables, see HP-UX Linker and Libraries
126
Passing Arguments to the Assembler
Using the cc Command
Using the cc Command
Wa, ,as-argument as-argument
Cpp Preprocessor
128
Programming Examples
129
Binary Search for Highest Bit Position
Binary Search for Highest Bit Position
130
Chapter 131
Copying a String
Copying a String
132
Chapter 133
Dividing a Double-Word Dividend
Dividing a Double-Word Dividend
134
Programming Examples
Chapter 135
Program Listing
Demonstrating the Procedure Calling Convention
Demonstrating the Procedure Calling Convention
136
Assembly Program Listing
Chapter 137
Output of the cc -S Command
Output of the cc -S Command
Assembly Program Listing From the C Compiler
138
Chapter 139
Output of the cc -S Command 140
141
Option operand
142
Chapter 143
Reserve
144
Use a general register
Wrong register type used
Chapter 145
Use a control register
Use a space register
146
Chapter 147
148
Chapter 149
150
Chapter 151
Used to invoke the assembler
152
Chapter 153
Error Messages
Error Messages
154
Chapter 155
156
Chapter 157
158
1029
1027
1028
1030
1033
1031
1032
1034
1037
1035
1036
1038
162
Chapter 163
1056
1054
1055
1057
Chapter 165
166
Chapter 167
168
1081
Format keyword=value
1080
1082
170
1090
1088
1089
Chapter 171
1095
1091
1094
1096
1099
1097
1098
1100
1103
1101
1102
1104
1105
Chapter 175
Panic Messages
Panic Messages
176
2007
2005
2006
2008
User Warning Messages
User Warning Messages
178
7005
7003
7004
7006
180
Chapter 181
182
7200
Limit Error Messages
Limit Error Messages
7201
7204
7202
7203
184
Diagnostic Messages
Chapter 185
186
Branching Error Messages
Branching Error Messages
Chapter 187
188
Chapter 189
190
Chapter 191
192
7834
7827
7828
7835
Expr
7836
7837
194
Index
Index 195
196
Numerics
Index 197
Copyright
198
HP C/HP-UX,49
Index 199
Mfctl
200
Double
Index 201
See also memory
202