[Return to Library] [Contents] [Next Section] [Next Chapter] [Index] [Help]


About This Manual

This book describes the assembly language supported by the Digital 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 Digital 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.

Digital has changed the name of its UNIX operating system from DEC OSF/1 to Digital UNIX. The new name reflects Digital's commitment to UNIX and its conformance to UNIX standards.


[Return to Library] [Contents] [Previous Chapter] [Next Section] [Next Chapter] [Index] [Help]


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:


[Return to Library] [Contents] [Previous Chapter] [Previous Section] [Next Section] [Next Chapter] [Index] [Help]


New and Changed Features

Many minor literary and technical changes have been made throughout this manual for the Version 4.0 release of Digital UNIX. The major technical changes to the manual are as follows:


[Return to Library] [Contents] [Previous Chapter] [Previous Section] [Next Section] [Next Chapter] [Index] [Help]


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 Provides an overview of the components of the object file and describes the headers and sections of the object file.
Chapter 8 Describes the purpose of the symbol table and the format of entries in the table. This chapter also lists the symbol table routines that are supplied.
Chapter 9 Describes the object file structures that relate to program execution and dynamic linking, and also describes how the process image is created from these files.
Appendix A Summarizes all assembler instructions.
Appendix B Describes issues relating to processing 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.


[Return to Library] [Contents] [Previous Chapter] [Previous Section] [Next Section] [Next Chapter] [Index] [Help]


Related Documents

The following manuals provide additional information on many of the topics addressed in this manual:

Programmer's Guide

The Alpha Architecture Reference Manual, 2nd Edition (Butterworth-Hinemann Press, ISBN:1-55558-145-5)

Calling Standard for Alpha Systems

The printed version of the Digital UNIX documentation set is color coded to help specific audiences quickly find the books that meet their needs. (You can order the printed documentation from Digital.) This color coding is reinforced with the use of an icon on the spines of books. The following list describes this convention:
Audience Icon Color Code
General users G Blue
System and network administrators S Red
Programmers P Purple
Device driver writers D Orange
Reference page users R Green


Some books in the documentation set 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, Glossary, and Master Index provides information on all of the books in the Digital UNIX documentation set.


[Return to Library] [Contents] [Previous Chapter] [Previous Section] [Next Section] [Next Chapter] [Index] [Help]


Reader's Comments

Digital welcomes any comments and suggestions you have on this and other Digital UNIX manuals.

You can send your comments in the following ways:

Please include the following information along with your comments:

The Digital 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 Digital technical support office. Information provided with the software media explains how to send problem reports to Digital.


[Return to Library] [Contents] [Previous Chapter] [Previous Section] [Next Chapter] [Index] [Help]


Conventions

file Italic (slanted) type indicates variable values and instruction operands.
[ | ]
{ | }
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.
. . . 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.