5 using the arithmetic and logic unit, 1 selecting the active accumulator, 2 enabling autoincrement and autodecrement – Maxim Integrated MAXQ610 User Manual
Page 42: 3 .5 using the arithmetic and logic unit -7, Maxq610 user’s guide
3-7
MAXQ610 User’s Guide
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
can also be used to transfer any one of the lowest 8 bits from a register source or any active accumulator (Acc) bit to
the carry flag . There is no restriction on the source register module for the “MOVE C, src .bit” instruction .
move C, Acc.7
; copy Acc.7 to Carry
Prefixing is required to select source registers beyond index 15h .
3.5 Using the Arithmetic and Logic Unit
The MAXQ610 provides a 16-bit arithmetic and logic unit (ALU) that allows operations to be performed between the
active accumulator and any other register . The default ALU configuration provides 16 accumulator registers that are
16-bit wide, of which any one can be selected as the active accumulator .
3.5.1 Selecting the Active Accumulator
Any of the 16 accumulator registers A[0] to A[15] can be selected as the active accumulator by setting the low 4 bits
of the accumulator pointer register (AP) to the index of the accumulator register the users wants to select .
move AP, #01h
; select A[1] as the active accumulator
move AP, #0Fh
; select A[15] as the active accumulator
The current active accumulator can be accessed as the Acc register, which is also the register used as the implicit
destination for all arithmetic and logical operations .
move A[0], #55h
; set A[0] = 0055 hex
move AP, #00h
; select A[0] as active accumulator
move Acc, #55h
; set A[0] = 0055 hex
3.5.2 Enabling Autoincrement and Autodecrement
The accumulator pointer, AP, can be set to automatically increment or decrement after each arithmetic or logical
operation . This is useful for operations involving a number of accumulator registers, such as adding or subtracting two
multibyte integers .
If autoincrement/decrement is enabled, the AP register increments or decrements after any of the following operations:
• ADD src
(Add source to active accumulator)
• ADDC src
(Add source to active accumulator with carry)
• SUB src
(Subtract source from active accumulator)
• SUBB src
(Subtract source from active accumulator with borrow)
• AND src
(Logical AND active accumulator with source)
• OR src
(Logical OR active accumulator with source)
• XOR src
(Logical XOR active accumulator with source)
• CPL
(Bitwise complement active accumulator)
• NEG
(Negate active accumulator)
• SLA
(Arithmetic shift left on active accumulator)
• SLA2
(Arithmetic shift left active accumulator 2 bit positions)
• SLA4
(Arithmetic shift left active accumulator 4 bit positions)
• SRA
(Arithmetic shift right on active accumulator)
• SRA2
(Arithmetic shift right active accumulator 2 bit positions)