<?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%3ACP</id>
	<title>Z80:Opcodes:CP - 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%3ACP"/>
	<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=Z80:Opcodes:CP&amp;action=history"/>
	<updated>2026-05-02T06:06:05Z</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:CP&amp;diff=271&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:CP&amp;diff=271&amp;oldid=prev"/>
		<updated>2016-02-05T22:06:58Z</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;CP is a subtraction from A that doesn&amp;#039;t update A, only the flags it would have set/reset if it really was subtracted.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
    CP op8&lt;br /&gt;
&lt;br /&gt;
op8 is any one of the allowed inputs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed instructions&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    cp a&lt;br /&gt;
    cp b&lt;br /&gt;
    cp c&lt;br /&gt;
    cp d&lt;br /&gt;
    cp e&lt;br /&gt;
    cp h&lt;br /&gt;
    cp l&lt;br /&gt;
    cp ixh&lt;br /&gt;
    cp ixl&lt;br /&gt;
    cp iyh&lt;br /&gt;
    cp iyl&lt;br /&gt;
    cp (ix+n)&lt;br /&gt;
    cp (iy+n)&lt;br /&gt;
    cp n		;8 bit constant&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
&lt;br /&gt;
C, S, and Z flags modified by definition&lt;br /&gt;
P/V detects overflow&lt;br /&gt;
&lt;br /&gt;
== Uses ==&lt;br /&gt;
&lt;br /&gt;
Here are some general rules on using CP&lt;br /&gt;
&lt;br /&gt;
=== Unsigned ===&lt;br /&gt;
&lt;br /&gt;
If A == N, then Z flag is set.&lt;br /&gt;
If A != N, then Z flag is reset.&lt;br /&gt;
If A &amp;lt; N, then C flag is set.&lt;br /&gt;
If A &amp;gt;= N, then C flag is reset.&lt;br /&gt;
&lt;br /&gt;
=== Signed ===&lt;br /&gt;
&lt;br /&gt;
If A == N, then Z flag is set.&lt;br /&gt;
If A != N, then Z flag is reset.&lt;br /&gt;
If A &amp;lt; N, then S and P/V are different.&lt;br /&gt;
A &amp;gt;= N, then S and P/V are the same.&lt;br /&gt;
&lt;br /&gt;
== T-States ==&lt;br /&gt;
r denotes 8-bit register.&lt;br /&gt;
&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;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
[[Z80:Opcodes:BIT|BIT]],[[Z80:Opcodes:CALL|CALL]],[[Z80:Opcodes:CPD|CPD]],[[Z80:Opcodes:CPDR|CPDR]],[[Z80:Opcodes:CPI|CPI]],[[Z80:Opcodes:CPIR|CPIR]],[[Z80:Opcodes:JP|JP]],[[Z80:Opcodes:JR|JR]],[[Z80:Opcodes:RET|RET]]&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>