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
|
---|