Maxim Integrated 19-3
MAX31782 User’s Guide
Revision 0; 8/11
does not require a prefixing operation even though the register DP[0] is 16-bit. This is because the prefix value defaults
to zero, so the line
move PFX[0],#00h
is not required.
19.3 Reading and Writing Registers
All functions in the MAX31782 are accessed through registers, either directly or indirectly. This section discusses load-
ing registers with immediate values and transferring values between registers of the same size and different sizes.
19.3.1 Loading an 8-Bit Register with an Immediate Value
Any writable 8-bit register with a sub-index from 0h to 7h within its module can be loaded with an immediate value in a
single cycle using the MOVE instruction.
move AP,#05h ;loadaccumulatorpointerregisterwith5hex
Writable 8-bit registers with sub-indexes 8h and higher can be loaded with an immediate value using MOVE as well,
but an additional cycle is required to set the prefix value for the destination.
move WDCN,#33h ;assemblesto: movePFX[2],#00h
; move(WDCN-80h),#33h
19.3.2 Loading a 16-Bit Register with a 16-Bit Immediate Value
Any writable 16-bit register with a sub-index from 0h to 07h can be loaded with an immediate value in a single cycle if
the high byte of that immediate value is zero.
move LC[0],#0010h;prefixdefaultstozeroforhighbyte
If the high byte of that immediate value is not zero or if the 16-bit destination sub-index is greater than 7h, an extra cycle
is required to load the prefix value for the high byte and/or the high-order register index bits.
;highbyte<>#00h
move LC[0],#0110h;assemblesto: movePFX[0],#01h
; moveLC[0],#10h
;destinationsub-index>7h
move A[8],#0034h;assemblesto: movePFX[2],#00h
; move(A[8]-80h),#34h
19.3.3 Moving Values Between Registers of the Same Size
Moving data between same-size registers can be done in a single-cycle MOVE if the destination register’s index is from
0h to 7h and the source register index is between 0h and Fh.
move A[0],A[8] ;copyaccumulator8toaccumulator0
move LC[0],LC[1];copyloopcounter1toloopcounter0
If the destination register’s index is greater than 7h or if the source register index is greater than Fh, prefixing is required.
move A[15],A[0] ;assemblesto: movePFX[2],#00h
; move(A[15]-80h),A[0]
Kommentare zu diesen Handbüchern