7
DETAILS OF INSTRUCTIONS
144
EPSON
S1C33 FAMILY C33 PE CORE MANUAL
pushs
%ss
Function
Push
Standard)
When
ss
= ahr: sp
←
sp -
4
, W[sp]
←
ahr, sp
←
sp -
4
, W[sp]
←
alr
When
ss
= alr: sp
←
sp -
4
, W[sp]
←
alr
Extension
1
) Unusable
Extension
2
) Unusable
Code
15
12
11
8
7
4
3
0
0
0
0
0
0
0
0
0
1
0
0
1
s s
0x009_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Flag
IE C V Z N
– – – – –
|
|
|
|
Mode
Register direct
%ss
=
%alr
or
%ahr
CLK
Two cycles (when
ss
= alr), Three cycles (when
ss
= ahr)
Description
Save the data of special registers to the stack.
(
1
) When the
ss
register is the ALR register
The current SP is decremented by an amount equivalent to
1
word (
4
bytes), and the content of
the ALR register is saved to that address.
(
2
) When the
ss
register is the AHR register
The current SP is decremented by an amount equivalent to
1
word (
4
bytes), and the content of
the AHR register is saved to that address. Next, SP is decremented by an amount equivalent to
1
word (
4
bytes), and the content of the ALR register is saved to that address.
Stack operation when
pushs
%ss
(where
%ss
=
%ahr
) is executed
SP
31
0
The ahr and alr registers are saved
SP
31
0
ahr data
alr data
Example
(
1
)
pushs %alr ; alr is saved singly
(
2
)
pushs %ahr ; registers are saved in order of ahr and alr
Caution
When a register other than ALR or AHR is specified as the
ss
register, the
pushs
instruction does
not save the register data to the stack.