SX Users Manual Rev. 3.1
110
© 2000 Scenix Semiconductor, Inc. All rights reserved.
www.scenix.com
Chapter 3 Instruction Set
3.6.40 PAGE addr12
Load Page Number into STATUS(7:5)
Operation:
STATUS(7:5) = addr12(11:9)
Bits affected:
none
Opcode:
0000 0001 0nnn
Description:
This instruction writes a three-bit value into the PA2:PA0 bits of the STATUS reg-
ister (bits 7:5). These bits select the program memory page for subsequent jump
and call instructions.
In the syntax of the assembly language, you specify the page using a full 12-bit
program memory address. The assembler encodes the three high-order bits of this
address into the instruction opcode and ignores the nine low-order bits. The three
high-order bits are written into the PA2:PA0 field of the STATUS register.
If a skip instruction is immediately followed by PAGE instruction (and tested
condition is true) then two instructions are skipped and the operation consumes
three cycles. This is useful for conditional branching to another page where a PAGE
instruction precedes a JMP. If several PAGE instructions immediately follow a skip
instruction then they are skipped plus the next instruction and a cycle is consumed
for each.
Cycles:
1
Example:
page
$400
;set page bits PA2:PA0 to 010 binary
call
home1
;jump to address in page 2
This example sets the PA2:PA0 bits in the STATUS register to 010. This means that
the subsequent call instruction calls a subroutine that starts in the bottom half of
page 2 of program memory (somewhere in the address range of 400h to 4FFh).