mirror of
https://github.com/gbdev/rgbds.git
synced 2025-12-01 23:37:48 +00:00
converted DOS linebreaks to UNIX
This commit is contained in:
@@ -1,101 +1,101 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>xAsm Gameboy</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#692764" TEXT="#F5A0D8" LINK="#8AAEE6" VLINK="#2B9DA4" ALINK="#95F0DA">
|
||||
<I><H2>Gameboy
|
||||
</H2></I>
|
||||
<HR>
|
||||
|
||||
<P>The full GB-Z80 instruction-set is implemented with a few modifications to the original Zilog syntax. This is due
|
||||
to a Bison problem but in my opinion the syntax is better than the original one.<BR>
|
||||
<H4><BR>
|
||||
Instructions</H4>
|
||||
<PRE> ADC
|
||||
ADD
|
||||
AND
|
||||
BIT
|
||||
CALL
|
||||
CCF
|
||||
CP
|
||||
CPL
|
||||
DAA
|
||||
DEC
|
||||
DI
|
||||
EI
|
||||
EX
|
||||
HALT
|
||||
INC
|
||||
JP
|
||||
JR
|
||||
LD
|
||||
LDD
|
||||
LDI
|
||||
LDH/LDIO (see note below)
|
||||
NOP
|
||||
OR
|
||||
POP
|
||||
PUSH
|
||||
RES
|
||||
RET
|
||||
RETI
|
||||
RL
|
||||
RLA
|
||||
RLC
|
||||
RLCA
|
||||
RR
|
||||
RRA
|
||||
RRC
|
||||
RRCA
|
||||
RST
|
||||
SBC
|
||||
SCF
|
||||
SET
|
||||
SLA
|
||||
SRA
|
||||
SRL
|
||||
STOP
|
||||
SUB
|
||||
SWAP
|
||||
XOR</PRE>
|
||||
<P>Note that you can use both
|
||||
<PRE> OR A,B
|
||||
OR B</PRE>
|
||||
<H4><BR>Addressingmodes</H4>
|
||||
<P>Indirect addressing has been changed to [ ] instead of ( ):<BR>
|
||||
<PRE> A
|
||||
B
|
||||
C
|
||||
D
|
||||
E
|
||||
H
|
||||
L
|
||||
AF
|
||||
BC
|
||||
DE
|
||||
HL
|
||||
SP
|
||||
[BC]
|
||||
[DE]
|
||||
[HL]
|
||||
[HL-]/[HLI]
|
||||
[HL+]/[HLD]
|
||||
[SP]
|
||||
n8 (8 bit expression)
|
||||
n16 (16 bit expression)
|
||||
n3 (3 bit CONSTANT expression)
|
||||
[n16]/[$FF00+n8]
|
||||
[$FF00+C]/[C]</PRE>
|
||||
<P>The assembler will intelligently decide between <B>[n16]</B> and <B>[$FF00+n8]</B> in the LD instruction. Note however that if you use any <A HREF="symbols.htm">constant symbols</A> in the expression they had better be defined before the instruction or your symbol-table may become mangled. Also worth noting is that it will only ever select the short $FF00 mode when you use constant symbols. NOT if you use symbols defined in a <A HREF="section.htm">HRAM section</A>. As this defies the whole point of implementing the HRAM sectiontype I've added the LDIO mnemonic. It works like the LD instruction but it will ALWAYS generate the $FF00+ form and it will also automatically logically AND the expression with $FF if it is relocatable. Which is what you want. Trust me ;)<BR>
|
||||
<BR>
|
||||
<H4>Conditioncodes</H4>
|
||||
<PRE> C
|
||||
NC
|
||||
Z
|
||||
NZ</PRE>
|
||||
|
||||
<BR><HR>
|
||||
<FONT SIZE="-1"><I><P ALIGN=RIGHT>Last updated 20 July 1997 by <A HREF="mailto:surfsmurf@matilde.demon.co.uk">Carsten Sorensen</A></P></I></FONT>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>xAsm Gameboy</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#692764" TEXT="#F5A0D8" LINK="#8AAEE6" VLINK="#2B9DA4" ALINK="#95F0DA">
|
||||
<I><H2>Gameboy
|
||||
</H2></I>
|
||||
<HR>
|
||||
|
||||
<P>The full GB-Z80 instruction-set is implemented with a few modifications to the original Zilog syntax. This is due
|
||||
to a Bison problem but in my opinion the syntax is better than the original one.<BR>
|
||||
<H4><BR>
|
||||
Instructions</H4>
|
||||
<PRE> ADC
|
||||
ADD
|
||||
AND
|
||||
BIT
|
||||
CALL
|
||||
CCF
|
||||
CP
|
||||
CPL
|
||||
DAA
|
||||
DEC
|
||||
DI
|
||||
EI
|
||||
EX
|
||||
HALT
|
||||
INC
|
||||
JP
|
||||
JR
|
||||
LD
|
||||
LDD
|
||||
LDI
|
||||
LDH/LDIO (see note below)
|
||||
NOP
|
||||
OR
|
||||
POP
|
||||
PUSH
|
||||
RES
|
||||
RET
|
||||
RETI
|
||||
RL
|
||||
RLA
|
||||
RLC
|
||||
RLCA
|
||||
RR
|
||||
RRA
|
||||
RRC
|
||||
RRCA
|
||||
RST
|
||||
SBC
|
||||
SCF
|
||||
SET
|
||||
SLA
|
||||
SRA
|
||||
SRL
|
||||
STOP
|
||||
SUB
|
||||
SWAP
|
||||
XOR</PRE>
|
||||
<P>Note that you can use both
|
||||
<PRE> OR A,B
|
||||
OR B</PRE>
|
||||
<H4><BR>Addressingmodes</H4>
|
||||
<P>Indirect addressing has been changed to [ ] instead of ( ):<BR>
|
||||
<PRE> A
|
||||
B
|
||||
C
|
||||
D
|
||||
E
|
||||
H
|
||||
L
|
||||
AF
|
||||
BC
|
||||
DE
|
||||
HL
|
||||
SP
|
||||
[BC]
|
||||
[DE]
|
||||
[HL]
|
||||
[HL-]/[HLI]
|
||||
[HL+]/[HLD]
|
||||
[SP]
|
||||
n8 (8 bit expression)
|
||||
n16 (16 bit expression)
|
||||
n3 (3 bit CONSTANT expression)
|
||||
[n16]/[$FF00+n8]
|
||||
[$FF00+C]/[C]</PRE>
|
||||
<P>The assembler will intelligently decide between <B>[n16]</B> and <B>[$FF00+n8]</B> in the LD instruction. Note however that if you use any <A HREF="symbols.htm">constant symbols</A> in the expression they had better be defined before the instruction or your symbol-table may become mangled. Also worth noting is that it will only ever select the short $FF00 mode when you use constant symbols. NOT if you use symbols defined in a <A HREF="section.htm">HRAM section</A>. As this defies the whole point of implementing the HRAM sectiontype I've added the LDIO mnemonic. It works like the LD instruction but it will ALWAYS generate the $FF00+ form and it will also automatically logically AND the expression with $FF if it is relocatable. Which is what you want. Trust me ;)<BR>
|
||||
<BR>
|
||||
<H4>Conditioncodes</H4>
|
||||
<PRE> C
|
||||
NC
|
||||
Z
|
||||
NZ</PRE>
|
||||
|
||||
<BR><HR>
|
||||
<FONT SIZE="-1"><I><P ALIGN=RIGHT>Last updated 20 July 1997 by <A HREF="mailto:surfsmurf@matilde.demon.co.uk">Carsten Sorensen</A></P></I></FONT>
|
||||
|
||||
Reference in New Issue
Block a user