beautypg.com

4 reading and writing register bits, 19 .4 reading and writing register bits -5, 4readingandwritingregisterbits – Maxim Integrated MAX31782 User Manual

Page 170

background image

MaximIntegrated 19-5

MAX31782 User’s Guide

Revision 0; 8/11

High(16-bitdestination)←8-bitsource
To modify only the high byte of a given 16-bit destination, the 16-bit register should be moved into the GR register such
that the low byte can be singulated and the high byte can be written exclusively . Additional cycles are required if the
destination index is greater than 0Fh or if the source index is greater than 0Fh .

move

GR, DP[0]

; move DP[0] to the GR register

move

PFX[0], #20h ; get the high byte of DP[0] via GRH

move

DP[0], GRL ; store the new DP[0] value

; 16-bit destination sub-index: dst=10h

; 8-bit source sub-index: src=11h

move

PFX[1], #00h ;

move

GR, dst

; read dst word to the GR register

move

PFX[1], #00h

move

PFX[4], src ; get the new src byte

move

dst, GRL

; store the new dst value

If the high byte needs to be cleared to 00h, the operation can be shortened by transferring only the GRL byte to the
16-bit destination (example follows):

move

GR, DP[0]

; move DP[0] to the GR register

move

DP[0], GRL ; store the new DP[0] value, 00h used for high byte

19.4ReadingandWritingRegisterBits

The MOVE instruction can also be used to directly set or clear any one of the lowest 8 bits of a peripheral register in
module 0h-5h or a system register in module 8h . The set or clear operation will not affect the upper byte of a 16-bit
register that is the target of the set or clear operation . If a set or clear instruction is used on a destination register that
does not support this type of operation, the register high byte will be written with the prefix data and the low byte will
be written with the bit mask (i .e ., all 0s with a single 1 for the set bit operation or all ones with a single 0 for the clear
bit operation) .
Register bits can be set or cleared individually using the MOVE instruction as follows .

move

IGE, #1

; set IGE (Interrupt Global Enable) bit

move

APC.6, #0

; clear IDS bit (APC.6)

As with other instructions, prefixing is required to select destination registers beyond index 07h .
The MOVE instruction may also be used to transfer any one of the lowest 8 bits from a register source or any bit of the
active accumulator (Acc) to the Carry flag . There is no restriction on the source register module for the ‘MOVE C, src .
bit’ instruction .

move

C, IIR.3

; copy IIR.3 to Carry

move

C, Acc.7

; copy Acc.7 to Carry

Prefixing is required to select source registers beyond index 15h .