Maxq7667 user’s guide – Maxim Integrated MAXQ7667 User Manual
Page 44

3-17
__________________________________________________________________________________________________________
MAXQ7667 User’s Guide
Once the pointer selection has been made, it will remain in effect until:
•
the source data pointer select bits are changed via the explicit or implicit methods described above (i.e., another data pointer
is selected for use)
•
the memory to which the active source data pointer is addressing is enabled for code fetching using the Instruction Pointer, or
•
a memory write operation is performed using a data pointer other than the current active source pointer.
move DP[1], DP[1]
; select DP[1] as the active pointer
move dst, @DP[1]
; read from pointer
move @DP[1], src
; write using a data pointer
; DP[0] is needed
move DP[0], DP[0]
; select DP[0] as the active pointer
To simplify data pointer increment/decrement operations without disturbing register data, a virtual NUL destination has been assigned
to system module 6, subindex 7 to serve as a bit bucket. Data pointer increment/decrement operations can be done as follows with-
out altering the contents of any other register:
move NUL, @DP[0]++
; increment DP[0]
move NUL, @DP[0]--
; decrement DP[0]
The following data pointer related instructions are invalid:
move @++DP[0], @DP[0]++
move @++DP[1], @DP[1]++
move @BP[++Offs], @BP[Offs++]
move @--DP[0], @DP[0]--
move @--DP[1], @DP[1]--
move @BP[--Offs], @BP[Offs--]
move @++DP[0], @DP[0]--
move @++DP[1], @DP[1]--
move @BP[++Offs], @BP[Offs--]
move @--DP[0], @DP[0]++
move @--DP[1], @DP[1]++
move @BP[--Offs], @BP[Offs++]
move @DP[0], @DP[0]++
move @DP[1], @DP[1]++
move @BP[Offs], @BP[Offs++]
move @DP[0], @DP[0]--
move @DP[1], @DP[1]--
move @BP[Offs], @BP[Offs--]
move DP[0], @DP[0]++
move DP[0], @DP[0]--
move DP[1], @DP[1]++
move DP[1], @DP[1]--
move Offs, @BP[Offs--]
move Offs, @BP[Offs++]