1;--------------------------------------------------------------------------
2;  crtxpopbits.asm - C run-time: pop bits and other registers from xstack
3;
4;  Copyright (C) 2009, Maarten Brock
5;
6;  This library is free software; you can redistribute it and/or modify it
7;  under the terms of the GNU General Public License as published by the
8;  Free Software Foundation; either version 2, or (at your option) any
9;  later version.
10;
11;  This library is distributed in the hope that it will be useful,
12;  but WITHOUT ANY WARRANTY; without even the implied warranty of
13;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;  GNU General Public License for more details.
15;
16;  You should have received a copy of the GNU General Public License
17;  along with this library; see the file COPYING. If not, write to the
18;  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
19;   MA 02110-1301, USA.
20;
21;  As a special exception, if you link this library with other files,
22;  some of which are compiled with SDCC, to produce an executable,
23;  this library does not by itself cause the resulting executable to
24;  be covered by the GNU General Public License. This exception does
25;  not however invalidate any other reasons why the executable file
26;  might be covered by the GNU General Public License.
27;--------------------------------------------------------------------------
28
29;--------------------------------------------------------
30; overlayable bit register bank
31;--------------------------------------------------------
32	.area BIT_BANK	(REL,OVR,DATA)
33bits:
34	.ds 1
35
36	ar0 = 0x00
37	ar1 = 0x01
38
39	.area HOME    (CODE)
40
41; Pop registers r0..r7 & bits from xstack (r0 always)
42; Expect mask in B
43___sdcc_xpop_regs_r0::
44	mov	r0,_spx
45	dec	r0
46	movx	a,@r0		;pop R0
47	ljmp	___sdcc_xpop
48