SN8P1602B
8-Bit Micro-Controller
ACCUMULATOR
The ACC is an 8-bit data register responsible for transferring or manipulating data between ALU and data memory. If
the result of operating is zero (Z) or there is carry (C or DC) occurrence, then these flags will be set to PFLAG register.
ACC is not in data memory (RAM), so ACC can’t be access by “B0MOV” instruction during the instant addressing
mode.
ꢁ
Example: Read and write ACC value.
; Read ACC data and store in BUF data memory
MOV
; Write a immediate data into ACC
MOV
BUF, A
A, #0FH
; Write ACC data from BUF data memory
MOV A, BUF
The system doesn’t store ACC and PFLAG value when interrupt executed. ACC and PFLAG data must be saved to
other data memories.
ꢁ
Example: Protect ACC and working registers.
ACCBUF
PFLAGBUF
EQU
EQU
00H
01H
; ACCBUF is ACC data buffer.
; PFLAGBUF is PFLAG data buffer.
INT_SERVICE:
B0XCH
B0MOV
B0MOV
A, ACCBUF
A, PFLAG
PFLAGBUF,A
; Store ACC value
; Store PFLAG value
.
.
.
.
B0MOV
B0MOV
B0XCH
A, PFLAGBUF
PFLAG,A
A, ACCBUF
; Re-load PFLAG value
; Re-load ACC by B0XCH command, and which will not
affect the PFLAG again.
RETI
; Exit interrupt service vector
ꢀ
Note: To save and re-load ACC data, users must use “B0XCH” instruction, or else the PFLAG Register
might be modified by ACC operation.
SONiX TECHNOLOGY CO., LTD
Page 26
Version 1.1