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