NY6 User Manual
Ver 1.3 2019/03/28
19
A conditional branch instruction compares two operands and skips next instruction if expression is
true. The skip operation is making an instruction NOP, not jump across it.
⊕
: Exclusive OR bitwise logical operation
& : AND bitwise logical operation
| : OR bitwise logical operation
A : 4-bit Accumulator data
C : 1-bit carry flag data
Z : 1-bit zero flag data
L : 4-bit immediately literal data
A[b] : b-th bit of Accumulator, 0
≤
b
≤
3.
2.5.2 ALU Related Status Flag
Symbol
Flag
Description
C
Carry
C=1 if a carry-out occurs after an addition operation.
C=0 if a borrow-in occurs after a subtraction operation.
Z
Zero
Z=1 if the result of an ALU operation is zero.
Besides CLRC and SETC commands directly assign the value of the carry flag, C is influenced by the
arithmetic result. C means carry and also means the complement of borrow. If the addition operation
result is larger than 0xF, C=1, and C=0 if the result is
≤
15. If the subtraction operation smaller than 0,
C=0, and C=1 if the result
≧0.
2.6 Memory Organization
There are maximum 1728K words ROM, 6x56 nibbles of RAM and 32 nibbles of dedicated System
Register.
2.6.1 ROM
A large program/data/voice single ROM is provided, and its
structure is shown below. The reserved region contains system
information and can’t be utilized by users. After reset process is
completed, NY6 will start program execution from address
0x000.
Because program page size is 64K words defined by 16-bit
length address of ROM, allowable range of unconditional branch
instructions JMP and CALL are limited by program page size.
However, combining with 3-bit BANK register, the total program
size is 512K words. If users want to branch to program which is
located beyond current program bank, user can change the
BANK register first and then execute JMP or CALL instruction.
Address
ROM
$000000
Reset Vector
$00000F
$000010
Interrupt Vector
$00001E
$00001F
Reserved
$0003FF
$000400
Program & Data
Bank 0
$00FFFF
$010000
Program & Data