Alpha Instruction Set (Brief)


Data Types

Byte 8 bits
Word 16 bits
Longword 32 bits
Quadword 64 bits

Load Instructions

lda Load Address
ldb Load Byte
ldbu Load Byte Unsigned
ldw Load Word
ldwu Load Word Unsigned
ldl Load Sign Extended Longword
ldl_l Load Sign Extended Longword Locked
ldq Load Quadword
ldq_l Load Quadword Locked
ldq_u Load Quadword Unaligned
uldw Unaligned Load Word
uldwu Unaligned Load Word Unsigned
uldl Unaligned Load Longword
uldq Unaligned Load Quadword
ldah Load Address High
ldgb Load Global Pointer
ldil Load Immediate Longword
ldiq Load Immediate Quadword

Store Instructions

stb Store Byte
stw Store Word
stl Store Longword
stl_c Store Longword Conditional
stq Store Quadword
stq_c Store Quadword Conditional
stq_u Store Quadword Unaligned
ustw Unaligned Store Word
ustl Unaligned Store Longword
ustq Unaligned Store Quadword

Arithmetic Instructions

clr Clear
absl Absolute Value Longword
absq Absolute Value Quadword
negl Negate Longword (without overflow)
neglv Negate Longword (with overflow)
negq Negate Quadword (without overflow)
negqv Negate Quadword (with overflow)
sextl Sign-Extension Longword
addl Add Longword (without overflow)
addlv Add Longword (with overflow)
addq Add Quadword (without overflow)
addqv Add Quadword (with overflow)
s4addl Scaled Longword Add by 4
s4addq Scaled Quadword Add by 4
s8addl Scaled Longword Add by 8
s8addq Scaled Quadword Add by 8
mull Multiply Longword (without overflow)
mullv Multiply Longword (with overflow)
mulq Multiply Quadword (without overflow)
mulqv Multiply Quadword (with overflow)
subl Subtract Longword (without overflow)
sublv Subtract Longword (with overflow)
subq Subtract Quadword (without overflow)
subqv Subtract Quadword (with overflow)
s4subl Scaled Longword Subtract by 4
s4subq Scaled Quadword Subtract by 4
s8subl Scaled Longword Subtract by 8
s8subq Scaled Quadword Subtract by 8
umulh Unsigned Quadword Multiply High
divl Divide Longword (without overflow)
divlv Divide Longword (with overflow)
divq Divide Quadword (without overflow)
divqv Divide Quadword (with overflow)
reml Remainder Longword (without overflow)
remlv Remainder Longword (with overflow)
remq Remainder Quadword (without overflow)
remqv Remainder Quadword (with overflow)

Logical Instructions

not Bitwise Not
and Bitwise And
or,bis Bitwise Or
xor Bitwise Exor
andn,bic Bitwise And Not
ornot Bitwise Or Not
xornot,eqv Bitwise Exor Not

Shift Instructions

sll Shift Left Logical
slr Shift Right Logical
sra Shift Right Arithmetical

Relational Instructions

cmpeq Compare Signed Quadword Equal
cmplt Compare Signed Quadword Less Than
cmple Compare Signed Quadword Less Than or Equal
cmpult Compare Unsigned Quadword Less Than
cmpule Compare Unsigned Quadword Less Than or Equal

Move Instructions

mov Move
cmoveq Move if Equal to Zero
cmovne Move if Not Equal to Zero
cmovlt Move if Less Than Zero
cmovle Move if Less Than or Equal to Zero
cmovgt Move if Greater Than Zero
cmovge Move if Greater Than or Equal to Zero
cmovlbc Move if Low Bit is Clear
cmovlbs Move if Low Bit is Set

Branch and Jump Instructions

beq Branch if Equal to Zero
bne Branch if Not Equal to Zero
blt Branch if Less Than Zero
ble Branch if Less Than or Equal to Zero
bgt Branch if Greater Than Zero
bge Branch if Greater Than or Equal to Zero
blbc Branch if Low Bit is Clear
blbs Branch if Low Bit is Set
br Branch Always
bsr Branch to Subroutine
jmp Jump
jsr Jump to Subroutine
ret Return from Subroutine
jsr_coroutine Jump to Subroutine Return

Byte Manipulation Instructions

cmpge Compare Byte
extbl Extract Byte Low
extwl Extract Word Low
extll Extract Longword Low
extql Extract Quadword Low
extwh Extract Word High
extlh Extract Longword High
extqh Extract Quadword High
insbl Insert Byte Low
inswl Insert Word Low
insll Insert Longword Low
insql Insert Quadword Low
inswh Insert Word High
inslh Insert Longword High
insqh Insert Quadword High
mskbl Mask Byte Low
mskwl Mask Word Low
mskll Mask Longword Low
mskql Mask Quadword Low
mskwh Mask Word High
msklh Mask Longword High
mskqh Mask Quadword High
zap Zero Bytes
zapnot Zero Bytes Not

Special Purpose Instructions

call_pal Call Privileged Architecture Library
fetch Prefetch Data
fetch_m Prefetch Data, Modify Intent
rpcc Read Process Cycle Counter
nop No Operation
unop Universal No Operation
trapb Trap Barrier
excb Exception Barrier
mb Memory Barrier