<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://learn.cemetech.net/index.php?action=history&amp;feed=atom&amp;title=Z80%3AOpcodes%3AADD</id>
	<title>Z80:Opcodes:ADD - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://learn.cemetech.net/index.php?action=history&amp;feed=atom&amp;title=Z80%3AOpcodes%3AADD"/>
	<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=Z80:Opcodes:ADD&amp;action=history"/>
	<updated>2026-05-02T10:46:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://learn.cemetech.net/index.php?title=Z80:Opcodes:ADD&amp;diff=266&amp;oldid=prev</id>
		<title>Maintenance script: Initial automated import</title>
		<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=Z80:Opcodes:ADD&amp;diff=266&amp;oldid=prev"/>
		<updated>2016-02-05T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Initial automated import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The values of the two operands are added together, and the result is written back to the first one.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
    add a,op8		;8 bits&lt;br /&gt;
    add op16,op16	;16 bits&lt;br /&gt;
&lt;br /&gt;
=== Allowed instructions ===&lt;br /&gt;
&lt;br /&gt;
    add a,a&lt;br /&gt;
    add a,b&lt;br /&gt;
    add a,c&lt;br /&gt;
    add a,d&lt;br /&gt;
    add a,e&lt;br /&gt;
    add a,h&lt;br /&gt;
    add a,l&lt;br /&gt;
    add a,ixh&lt;br /&gt;
    add a,ixl&lt;br /&gt;
    add a,iyh&lt;br /&gt;
    add a,ixl&lt;br /&gt;
    add a,(hl)&lt;br /&gt;
    add a,(ix+n)&lt;br /&gt;
    add a,(iy+n)&lt;br /&gt;
    add a,n		;8-bit constant&lt;br /&gt;
    &lt;br /&gt;
    add hl,bc&lt;br /&gt;
    add hl,de&lt;br /&gt;
    add hl,hl&lt;br /&gt;
    add hl,sp&lt;br /&gt;
    &lt;br /&gt;
    add ix,bc&lt;br /&gt;
    add ix,de&lt;br /&gt;
    add ix,ix&lt;br /&gt;
    add ix,sp&lt;br /&gt;
    &lt;br /&gt;
    add iy,bc&lt;br /&gt;
    add iy,de&lt;br /&gt;
    add iy,iy&lt;br /&gt;
    add iy,sp&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
&lt;br /&gt;
=== 8-bit arithmetic ===&lt;br /&gt;
&lt;br /&gt;
N flag is reset, P/V is interpreted as overflow.&lt;br /&gt;
Rest of the flags is modified by definition.&lt;br /&gt;
&lt;br /&gt;
=== 16-bit arithmetic ===&lt;br /&gt;
&lt;br /&gt;
preserves the S, Z and P/V flags, and H is undefined.&lt;br /&gt;
Rest of flags modified by definition.&lt;br /&gt;
&lt;br /&gt;
== Uses ==&lt;br /&gt;
&lt;br /&gt;
Obviously used to add two numbers together. However, you can add 16-bit numbers to sp, giving you control of where the stack pointer is pointing to.&lt;br /&gt;
&lt;br /&gt;
== T-States ==&lt;br /&gt;
r denotes 8-bit register.&lt;br /&gt;
rr represents a two byte register pair: BC, DE, HL, SP&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| r || 4 &lt;br /&gt;
|-&lt;br /&gt;
| X || 7 &lt;br /&gt;
|-&lt;br /&gt;
| (hl) || 7 &lt;br /&gt;
|-&lt;br /&gt;
| (ix+X) || 19 &lt;br /&gt;
|-&lt;br /&gt;
| (iy+X) || 19 &lt;br /&gt;
|-&lt;br /&gt;
| hl, rr || 11 &lt;br /&gt;
|-&lt;br /&gt;
| ix, rr || 15 &lt;br /&gt;
|-&lt;br /&gt;
| iy, rr || 15 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
[[Z80:Opcodes:ADC|ADC]],[[Z80:Opcodes:DAA|DAA]],[[Z80:Opcodes:DEC|DEC]],[[Z80:Opcodes:INC|INC]],[[Z80:Opcodes:SBC|SBC]],[[Z80:Opcodes:SUB|SUB]]&lt;br /&gt;
&lt;br /&gt;
{{lowercase}}&lt;br /&gt;
[[Category:Z80 Assembly]]&lt;br /&gt;
[[Category:Z80 Heaven]]&lt;br /&gt;
[[Category:Z80 Opcodes]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>