[3ae31e9] | 1 | TMS320C25 Direct Addressing Mode
|
---|
| 2 | --------------------------------
|
---|
| 3 |
|
---|
| 4 | Instruction bits
|
---|
| 5 | Op-Code Address
|
---|
| 6 | -------- --------
|
---|
| 7 | xxxxxxxx 0AAAAAAA Direct memory address -- AAAAAAA is the address 0..7F
|
---|
| 8 |
|
---|
| 9 | The address is formed from the Data Page register
|
---|
| 10 | and the address bits of the instruction.
|
---|
| 11 |
|
---|
| 12 | The data page register points to one of 512 pages of
|
---|
| 13 | 128 words each. The address bits point to the word
|
---|
| 14 | in the page.
|
---|
| 15 |
|
---|
| 16 | TMS320C25 Indirect Addressing Mode
|
---|
| 17 | ----------------------------------
|
---|
| 18 |
|
---|
| 19 | Instruction bits
|
---|
| 20 | Op-Code Address
|
---|
| 21 | -------- --------
|
---|
| 22 | xxxxxxxx 1RIDNYYY Indirect addressing -- address is in AR(ARP)
|
---|
| 23 | ||||-+-
|
---|
| 24 | |||| |
|
---|
| 25 | |||| +------- next ARP value if N = 1
|
---|
| 26 | |||+--------- 0 = leave ARP unchanged, 1 = set ARP = YYY
|
---|
| 27 | ||+---------- 0 = no change, 1 = decrement AR(ARP) by 1 or AR0
|
---|
| 28 | |+----------- 0 = no change, 1 = increment AR(ARP) by 1 or AR0
|
---|
| 29 | +------------ 0 = use 1 as the value, 1 = use AR0 as the value
|
---|
| 30 |
|
---|
| 31 | The address is contained in the Auxilliary register
|
---|
| 32 | pointed to by ARP. This register may be modified
|
---|
| 33 | and a new one selected by the appropriate choice of
|
---|
| 34 | address modes shown in the table below:
|
---|
| 35 |
|
---|
| 36 | Instruction bits
|
---|
| 37 | Op-Code Address Notation Operation
|
---|
| 38 | -------- -------- -------- -------------------------------------
|
---|
| 39 | xxxxxxxx 10000YYY * No change to ARs/ARP
|
---|
| 40 | xxxxxxxx 10001YYY *,Y Y -> ARP
|
---|
| 41 | xxxxxxxx 10010YYY *- AR(ARP) - 1 -> AR(ARP)
|
---|
| 42 | xxxxxxxx 10011YYY *-,Y AR(ARP) - 1 -> AR(ARP); Y -> ARP
|
---|
| 43 | xxxxxxxx 10100YYY *+ AR(ARP) + 1 -> AR(ARP)
|
---|
| 44 | xxxxxxxx 10101YYY *+,Y AR(ARP) - 1 -> AR(ARP); Y -> ARP
|
---|
| 45 | xxxxxxxx 11000YYY *BR0- AR(ARP) - rcAR0 -> AR(ARP)
|
---|
| 46 | xxxxxxxx 11001YYY *BR0-,Y AR(ARP) - rcAR0 -> AR(ARP); Y -> ARP
|
---|
| 47 | xxxxxxxx 11010YYY *0- AR(ARP) - AR0 -> AR(ARP)
|
---|
| 48 | xxxxxxxx 11011YYY *0-,Y AR(ARP) - AR0 -> AR(ARP); Y -> ARP
|
---|
| 49 | xxxxxxxx 11100YYY *0+ AR(ARP) + AR0 -> AR(ARP)
|
---|
| 50 | xxxxxxxx 11101YYY *0+,Y AR(ARP) + AR0 -> AR(ARP); Y -> ARP
|
---|
| 51 | xxxxxxxx 11110YYY *BR0+ AR(ARP) + rcAR0 -> AR(ARP)
|
---|
| 52 | xxxxxxxx 11111YYY *BR0+,Y AR(ARP) + rcAR0 -> AR(ARP); Y -> ARP
|
---|