relocation of fetch*, push* and pop*
This commit is contained in:
parent
1f6b0e1344
commit
6fcc8cd379
2 changed files with 46 additions and 45 deletions
45
cpu.c
45
cpu.c
|
@ -8,51 +8,6 @@ u16int pc;
|
|||
|
||||
int irq, nmi;
|
||||
|
||||
void
|
||||
push8(u8int v)
|
||||
{
|
||||
memwrite(0x100 | rS--, v);
|
||||
}
|
||||
|
||||
void
|
||||
push16(u16int v)
|
||||
{
|
||||
memwrite(0x100 | rS--, v >> 8);
|
||||
memwrite(0x100 | rS--, v);
|
||||
}
|
||||
|
||||
u8int
|
||||
pop8(void)
|
||||
{
|
||||
return memread(0x100 | ++rS);
|
||||
}
|
||||
|
||||
u16int
|
||||
pop16(void)
|
||||
{
|
||||
u16int v;
|
||||
|
||||
v = memread(0x100 | ++rS);
|
||||
v |= memread(0x100 | ++rS) << 8;
|
||||
return v;
|
||||
}
|
||||
|
||||
u8int
|
||||
fetch8(void)
|
||||
{
|
||||
return memread(pc++);
|
||||
}
|
||||
|
||||
u16int
|
||||
fetch16(void)
|
||||
{
|
||||
u16int r;
|
||||
|
||||
r = memread(pc++);
|
||||
r |= memread(pc++) << 8;
|
||||
return r;
|
||||
}
|
||||
|
||||
void
|
||||
nz(u8int v)
|
||||
{
|
||||
|
|
46
mem.c
46
mem.c
|
@ -18,3 +18,49 @@ memwrite(u16int a, u8int v)
|
|||
if((void*)a < romptr)
|
||||
mem[a] = v;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
push8(u8int v)
|
||||
{
|
||||
memwrite(0x100 | rS--, v);
|
||||
}
|
||||
|
||||
void
|
||||
push16(u16int v)
|
||||
{
|
||||
memwrite(0x100 | rS--, v >> 8);
|
||||
memwrite(0x100 | rS--, v);
|
||||
}
|
||||
|
||||
u8int
|
||||
pop8(void)
|
||||
{
|
||||
return memread(0x100 | ++rS);
|
||||
}
|
||||
|
||||
u16int
|
||||
pop16(void)
|
||||
{
|
||||
u16int v;
|
||||
|
||||
v = memread(0x100 | ++rS);
|
||||
v |= memread(0x100 | ++rS) << 8;
|
||||
return v;
|
||||
}
|
||||
|
||||
u8int
|
||||
fetch8(void)
|
||||
{
|
||||
return memread(pc++);
|
||||
}
|
||||
|
||||
u16int
|
||||
fetch16(void)
|
||||
{
|
||||
u16int r;
|
||||
|
||||
r = memread(pc++);
|
||||
r |= memread(pc++) << 8;
|
||||
return r;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue