HP UX Developer Tools manual Comm Directive, Label .COMM numbytes

Page 74

Assembler Directives and Pseudo-Operations

.COMM Directive

.COMM Directive

The .COMM directive makes a storage request for a specified number of bytes.

Syntax

label .COMM [ num_bytes]

Parameters

label

Labels the location of the reserved storage.

num_bytes An integer value for the number of bytes you want to reserve. The Assembler uses a default value of 4 if the

.COMM directive lacks a num_bytes parameter. Permissible values range from one to 0x3FFFFFFF.

Discussion

The .COMM directive declares a block of storage that can be thought of as a common block. You must label every .COMM directive. The linker associates the label with the subspace in which the .COMM directive is declared and allocates the necessary storage within that subspace.

.COMM always allocates its space in the $BSS$ subspace of the

$PRIVATE$ space. If the label of a .COMM directive appears in several object modules, the linker uses the maximum size specified in any module when it allocates the necessary storage in the current subspace.

Example

This example reserves 16 bytes of storage for mydata.

 

.BSS

mydata

.COMM 16

74

Chapter 4

Image 74
Contents HP 9000 Computers 92432-90012 JuneHanover Street Palo Alto, California Legal NoticesRestricted Rights Legend Contents Assembler Directives and Pseudo-Operations Contents Contents Contents Contents Pseudo-Instruction Set Assembling Your Program Index Diagnostic MessagesProgramming Examples Edition Date Software Version PrefacePrinting History Audience Related DocumentationTypographical Conventions This ManualSummary of Technical Changes for HP-UX Assembly Language Assembler FeaturesAssembler Features Summary of Changes for PA-RISC Summary of Changes for PA-RISCSummary of Changes for PA-RISC 2.0W Wide Mode, 64-bit ChapterSummary of Changes for PA-RISC 2.0W Wide Mode, 64-bit Program Structure Program Structure Label Opcode Operands CommentsSymbols and Constants Symbols and ConstantsInteger Constants Signed Unsigned Registers and Register Mnemonics Registers and Register MnemonicsRegisters by using an L or R suffix General Registers Single-Precision Floating-Point Registers Control Registers Synonyms Double-Precision Floating-Point RegistersSpace Registers Register Procedure Calling Conventions Register Synonyms DescriptionStandard Arithmetic Operators ExpressionsExpressions Operator OperationLegal 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 CompletersAddi Macro Processing Macro ProcessingDefining New Instructions With Macros Contains general register 19, or binary 10011. These HP-UX Architecture Conventions SpacesSpaces Memory Layout on HP-UX Sr4 Sr5 Sr6 Subspaces SubspacesAttributes Space Subspace Sort Key Use DirectivesStandard Subspaces and Sort Keys Sections in 64-bit Mode Sections in 64-bit Mode$INIT$ Location Counters Location CountersCompiler Conventions Compiler ConventionsCompiler Conventions Global Symbol Usage Mfctl Shared Libraries Assembly ListingShared Libraries Assembly Listing Directive Function IntroductionAssembler Directives Requests common storage for a specified number Bytes Pseudo-Operations Directive Function Reserves 16 bits a half word of storage Parameters Align DirectiveSyntax ExampleAllow Directive Allow DirectiveDiscussion To the .LEVEL specified for the file Block and .BLOCKZ Pseudo-Operations Block and .BLOCKZ Pseudo-OperationsSpace $TEXT$ Subspa $CODE$ Block Byte initvalue , initvalue Byte Pseudo-OperationByte Pseudo-Operation Call argumentdescription argumentdescription Call DirectiveCall Directive first word in the argument list Form of argument-description is Arg=location Where arg canReturn value for a procedure Second word in the argument listLIT Align Word Procend Export Callinfo parameter , parameter Callinfo DirectiveCallinfo Directive 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 DirectiveComm Directive Label Labels the location of the reserved storageCompany-name Copyright DirectiveCopyright Directive Proc Callinfo Enter Double Pseudo-Operation Integer .fraction E powerFraction E power Double Pseudo-OperationDword initvalue , initvalue Dword Pseudo-OperationDword Pseudo-Operation END Directive END DirectiveEndm Directive Endm DirectiveEnter and .LEAVE Pseudo-Operations Enter and .LEAVE Pseudo-OperationsSpace $TEXT$ Entry and .EXIT Directives Entry and .EXIT DirectivesEQU Directive Symbolicname .EQU valueEQU Directive ValueExport Directive Export DirectiveArgument Export proc,ENTRY,ARGW0=GR Float Pseudo-Operation Float Pseudo-OperationHalf initvalue , initvalue Half Pseudo-OperationHalf Pseudo-Operation Import Directive Import DirectiveNOP END Label labelid Label DirectiveLabel Directive Labelid Names the label identifierLevel Directive Level DirectiveLevel Directive Listoff and .LISTON Directives Listoff and .LISTON DirectivesListon Code Space $TEXT$ SPNUM=0,SORT=0 Subspa $CODE$ Locct Directive Locct DirectiveLabel .MACRO formalparameter,formalparameter Macro DirectiveMacro Directive Examples 100 Chapter 101 Origin DirectiveOrigin Directive 102 Proc and .PROCEND DirectivesProc and .PROCEND Directives Chapter 103 Label .REG typedregister REG DirectiveREG Directive Label User-defined register nameChapter 105 Shlibversion DirectiveShlibversion Directive 106 Space DirectiveSpace Directive Chapter 107 108 Spnum Pseudo-OperationSpnum Pseudo-Operation Chapter 109 String and .STRINGZ Pseudo-OperationsString and .STRINGZ Pseudo-Operations 110 Name An identifier that names the current subspace Subspa DirectiveSubspa Directive Chapter 111112 Chapter 113 114 Version DirectiveVersion Directive Word initvalue , initvalue Word Pseudo-OperationWord Pseudo-Operation Chapter 115Programming Aids Directive Space Name Default ParametersProgramming Aids Predefined Subspace DirectivesShortdata Chapter 117Programming Aids 118 Pseudo-Instruction Set 119120 Chapter 121 Compare and Branch Conditions Comb and ComibCond Description Add and Branch Conditions Addb and Addib Description 122Invoking the Assembler 123Assemble code for the architecture Using the as CommandUsing the as Command 124Chapter 125 filenameLevel Online User Guide WnumberTables, see HP-UX Linker and Libraries 126Passing Arguments to the Assembler Using the cc CommandUsing the cc Command Wa, ,as-argument as-argumentCpp Preprocessor 128Programming Examples 129130 Binary Search for Highest Bit PositionBinary Search for Highest Bit Position Chapter 131 132 Copying a StringCopying a String Chapter 133 134 Dividing a Double-Word DividendDividing a Double-Word Dividend Programming Examples Chapter 135Program Listing Demonstrating the Procedure Calling ConventionDemonstrating the Procedure Calling Convention 136Assembly Program Listing Chapter 137Output of the cc -S Command Output of the cc -S CommandAssembly Program Listing From the C Compiler 138Chapter 139 Output of the cc -S Command 140 141 Option operand 142Chapter 143 Reserve 144Chapter 145 Wrong register type usedUse a general register 146 Use a space registerUse a control register Chapter 147 148 Chapter 149 150 Chapter 151 Used to invoke the assembler 152Chapter 153 154 Error MessagesError Messages Chapter 155 156 Chapter 157 158 1029 10271028 10301033 10311032 10341037 10351036 1038162 Chapter 163 1056 10541055 1057Chapter 165 166 Chapter 167 168 1081 Format keyword=value1080 1082170 1090 10881089 Chapter 1711095 10911094 10961099 10971098 11001103 11011102 11041105 Chapter 175176 Panic MessagesPanic Messages 2007 20052006 2008178 User Warning MessagesUser Warning Messages 7005 70037004 7006180 Chapter 181 182 7200 Limit Error MessagesLimit Error Messages 72017204 72027203 184Diagnostic Messages Chapter 185186 Chapter 187 Branching Error MessagesBranching Error Messages 188 Chapter 189 190 Chapter 191 192 7834 78277828 7835Expr 78367837 194Index Index 195196 NumericsIndex 197 Copyright198 HP C/HP-UX,49Index 199 Mfctl200 DoubleIndex 201 See also memory202
Related manuals
Manual 29 pages 37.9 Kb Manual 44 pages 5.6 Kb Manual 2 pages 37.54 Kb