git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1893
4a8a32a2-be11-0410-ad9d-
d568d2c75423
}
void cl_xa::set_bit(int bit, int value) {
}
void cl_xa::set_bit(int bit, int value) {
short offset=0;
if (bit>=0x200) {
// in sfr space
bit-=0x200;
offset=0x400;
}
short offset=0;
if (bit>=0x200) {
// in sfr space
bit-=0x200;
offset=0x400;
}
i = get_byte_direct(offset + (bit/8));
if (value) {
i = get_byte_direct(offset + (bit/8));
if (value) {
- set_byte_direct(offset + (bit/8), i | (1 << (bit%8) );
+ set_byte_direct(offset + (bit/8), i | (1 << (bit%8)) );
//mem_direct[offset + (bit/8)] |= (1 << (bit%8));
} else {
//mem_direct[offset + (bit/8)] |= (1 << (bit%8));
} else {
- set_byte_direct( offset + (bit/8), i & ~(1 << (bit%8) );
+ set_byte_direct(offset + (bit/8), i & ~(1 << (bit%8)) );
//mem_direct[offset + (bit/8)] &= ~(1 << (bit%8));
}
//mem_direct[offset + (bit/8)] &= ~(1 << (bit%8));
}
}
#define RI_F0 ((code >> 4) & 0xf)
}
#define RI_F0 ((code >> 4) & 0xf)
int cl_xa::inst_BR(uint code, int operands)
{
short jmpAddr = fetch1()*2;
int cl_xa::inst_BR(uint code, int operands)
{
short jmpAddr = fetch1()*2;
- PC=(PC+jmpAddr)&0xfffffffe;
+ PC=(PC+jmpAddr)&0xfffffe;
unsigned short tmp = mov2(0, reg2(RI_F0)-1);
set_reg2(RI_F0, tmp);
if (tmp != 0)
unsigned short tmp = mov2(0, reg2(RI_F0)-1);
set_reg2(RI_F0, tmp);
if (tmp != 0)
- PC = (PC + addr) & 0xfffffffe;
+ PC = (PC + addr) & 0xfffffe;
} else {
unsigned char tmp = mov1(0, reg1(RI_F0)-1);
set_reg1(RI_F0, tmp);
if (tmp != 0)
} else {
unsigned char tmp = mov1(0, reg1(RI_F0)-1);
set_reg1(RI_F0, tmp);
if (tmp != 0)
- PC = (PC + addr) & 0xfffffffe;
+ PC = (PC + addr) & 0xfffffe;
case REL16:
{
jmpAddr = (signed short)fetch2()*2;
case REL16:
{
jmpAddr = (signed short)fetch2()*2;
- PC = (PC + jmpAddr) & 0xfffffffe;
+ PC = (PC + jmpAddr) & 0xfffffe;