- SUBTRACT:
sub rD,rA,rB Subtracts rB from rA (rA - rB), then stores the result in rD.
subi rD,rA,# Subtracts # from rA (rA - #), then stores the result in rD.
- ADD:
add rD,rA,rB Adds rA to rB (rA + rB), then stores the result in rD.
addi rD,rA,# Adds # to rA (rA + #), then stores the result in rD.
- LOAD:
lbz rD, d(rA) Loads rD with byte found at memory address rA + d.
lhz rD, d(rA) Loads rD with halfword found at memory address rA + d.
lwz rD, d(rA) Loads rD with word found at memory address rA + d.
lfs fD, d(rA) Loads fD with float found at memory address rA + d.
- STORE:
stb rA, d(rD) Stores byte from rA into memory address rD + d.
sth rA, d(rD) Stores halfword from rA into memory address rD + d.
stw rA, d(rD) Stores word from rA into memory address rD + d.
stfs fA, d(rD) Stores float from fA into memory address rD + d.
- COMPARE:
cmpw rA, rB Compare rB to rA by rA - rB.
cmpwi rA, # Compare # to rA by rA - #.
- BRANCH/JUMP:
b target_address Branches to Target Address.
ble target_address Branches to Target Address if Less than or Equal to.
blt target_address Branches to Target Address if Less than.
beq target_address Branches to Target Address if Equal to.
bge target_address Branches to Target Address if Greater than or Equal to.
bgt target_address Branches to Target Address if Greater than.
blr target_address Branches to Target Address. Without an address, it basically means "End of Function" and returns to the previous function.
bne target_address Branches to Target Address if Not Equal to.
- MOVE:
mr rA, rB Moves rB into rA.
Gotten from here: http://class.ece.iastate.edu/arun/CprE281_F05/lab/labw10a/Labw10a_Files/PowerPC%20Assembly%20Quick%20Reference.htm