This manual describes the assembly language supported by the Tru64 UNIX
compiler system, its syntax rules, and how to write some assembly programs.
For information about assembling and linking a program written in assembly
language, see the
as
(1)
and
ld
(1)
reference pages.
The assembler converts assembly language statements into machine code. In most assembly languages, each instruction corresponds to a single machine instruction; however, in the assembly language for the Tru64 UNIX compiler system, some instructions correspond to multiple machine instructions.
The assembler's primary purpose is to produce object modules from the
assembly instructions generated by some high-level language compilers.
As
a result, the assembler lacks many functions that are normally present in
assemblers designed to produce object modules from source programs coded in
assembly language.
It also includes some functions that are not found in
such assemblers because of special requirements associated with the high-level
language compilers.
Audience
This manual assumes that you are an experienced assembly language programmer.
It is recommended that you use the assembler only when you need to perform programming tasks such as the following:
Maximize the efficiency of a routine -- for example, a low-level I/O driver -- in a way that might not be possible in C, Fortran-77, Pascal, or another high-level language.
Access machine functions unavailable from high-level languages or satisfy special constraints such as restricted register usage.
Change the operating system.
Change the compiler system.
Many minor literary and technical changes have been made throughout this manual for the Version 5.0 release of Tru64 UNIX.
Chapters 7-9 in the previous version of this manual have been replaced
by the manual
Symbol Table/Object File Specification, which is included as a supplementary document on the Tru64 UNIX Version 5.0A Documentation CD-ROM.
Organization
This manual is organized as follows:
Chapter 1 | Describes the format for the general registers, the special registers, and the floating-point registers. It also describes how addressing works and the exceptions you might encounter with assembly programs. |
Chapter 2 | Describes the lexical conventions that the assembler follows. |
Chapter 3 | Describes the main processor's instruction set, including notation, load and store instructions, computational instructions, and jump and branch instructions. |
Chapter 4 | Describes the floating-point instruction set. |
Chapter 5 | Describes the assembler directives. |
Chapter 6 | Describes calling conventions for all supported high-level languages. It also discusses memory allocation and register use. |
Chapter 7 | Chapters 7-9 in the previous version of this manual have been replaced by the manual Symbol Table/Object File Specification, which is included as a supplementary document on the Tru64 UNIX Version 5.0A Documentation CD-ROM. |
Appendix A | Summarizes all assembler instructions. |
Appendix B | Describes issues related to the processing of 32-bit data. |
Appendix C | Describes instructions that generate more than one machine instruction. |
Appendix D | Describes the PALcode (privileged architecture library code) instructions required to support an Alpha system. |
The following manuals provide additional information on many of the topics addressed in this manual:
The Alpha Architecture Reference Manual, 2nd Edition (Butterworth-Heinemann Press, ISBN:1-55558-145-5)
Icons on Tru64 UNIX Printed Books
The printed version of the Tru64 UNIX documentation uses letter icons on the spines of the books to help specific audiences quickly find the books that meet their needs. (You can order the printed documentation from Compaq.) The following list describes this convention:
G | Books for general users |
S | Books for system and network administrators |
P | Books for programmers |
D | Books for device driver writers |
R | Books for reference page users |
Some books in the documentation help meet the needs of several audiences. For example, the information in some system books is also used by programmers. Keep this in mind when searching for information on specific topics.
The
Documentation Overview
provides
information on all of the books in the Tru64 UNIX documentation set.
Reader's Comments
Compaq welcomes any comments and suggestions you have on this and other Tru64 UNIX manuals.
You can send your comments in the following ways:
Fax: 603-884-0120 Attn: UBPG Publications, ZKO3-3/Y32
Internet electronic mail:
readers_comment@zk3.dec.com
A Reader's Comment form is located on your system in the following location:
/usr/doc/readers_comment.txt
Mail:
Compaq Computer Corporation
UBPG Publications Manager
ZKO3-3/Y32
110 Spit Brook Road
Nashua, NH 03062-2698
A Reader's Comment form is located in the back of each printed manual. The form is postage paid if you mail it in the United States.
Please include the following information along with your comments:
The full title of the book and the order number. (The order number is printed on the title page of this book and on its back cover.)
The section numbers and page numbers of the information on which you are commenting.
The version of Tru64 UNIX that you are using.
If known, the type of processor that is running the Tru64 UNIX software.
The Tru64 UNIX Publications group cannot respond to system problems or
technical support inquiries.
Please address technical questions to your
local system vendor or to the appropriate Compaq technical support office.
Information provided with the software media explains how to send problem
reports to Compaq.
Conventions
Italic (slanted) type indicates variable values, placeholders, and function argument names.
In syntax definitions, brackets indicate items that are optional and braces indicate items that are required. Vertical bars separating items inside brackets or braces indicate that you choose one item from among those listed.
colored
text
In syntax definitions, literal elements are colored green. Variable values, placeholders, and function argument names are colored red. No special colored text is used outside of syntax descriptions.
In syntax definitions, a horizontal ellipsis indicates that the preceding item can be repeated one or more times.
cat
(1)A cross-reference to a reference page includes the appropriate section
number in parentheses.
For example,
cat
(1)
indicates that you can find information on the
cat
command in Section 1 of the reference pages.