li 5, 12
. We know
that 5 refers to a register and 12 refers to the number 12 because of
the instruction format -- there is no other indicator.
Each PowerPC instruction is 32 bits long. The first six bits determine the instruction and the remaining portions have different functions depending on the instruction. The fact that they are fixed-length allows the processor to process them more efficiently. However, the limitation to 32 bits can cause a few headaches, which we will encounter. The solutions to most of these headaches will be discussed in part 2.
Many of the instructions above make use of the PowerPC extended mnemonics. This means that they are actually specializations of a more general instruction. For example, all of the conditional branches mentioned above are actually specializations of the
bc
(branch conditional) instruction. The form of the bc
instruction is bc MODE, CBIT, ADDRESS
. The CBIT
is the bit of the condition register to test. The MODE
has lots of interesting uses, but for simple uses you set it to 12 if
you want to branch if the condition bit is set, and 4 if you want to
branch if the condition bit is not set. Some of the important condition
register bits are 8 for less than, 9 for greater than, and 10 for
equal. Therefore, the instruction beq ADDRESS
is really bc 12, 10 ADDRESS
. Likewise li
is a specialized form of addi
and mr
is a specialized form of or
.
These extended mnemonics help make PowerPC assembly language programs
more readable and writable for simpler programs, while not removing the
power available for more advanced programs and programmers.
No comments:
Post a Comment