Maxq7667 user’s guide – Maxim Integrated MAXQ7667 User Manual

Page 44

Advertising
background image

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

Advertising