ref: 42007c5c92530338c8319f5b572db286396f5cc5
dir: /doc/asm/trg_gb.htm/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>xAsm Gameboy</TITLE> <link rel="stylesheet" type="text/css" href="../style.css"> </HEAD> <BODY> <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:[email protected]">Carsten Sorensen</A></P></I></FONT>