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 |