<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wikiti.brandonw.net/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wikiti.brandonw.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CoBB</id>
		<title>WikiTI - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wikiti.brandonw.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=CoBB"/>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Special:Contributions/CoBB"/>
		<updated>2026-04-05T18:12:55Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2009-11-24T23:39:07Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: Fixed links to the website.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is a relatively new member of the TI [[Emulators|emulator]] 'family', developed from scratch by Patai Gergely. Development has ceased, as the author has no sufficient time to continue, and the code base is not easily extended to implement calculator features that were not known at the start of the project. Users who need the emulation of newer models than the plain 83+ should use [[:Emulators:Wabbitemu|WabbitEmu]] instead.&lt;br /&gt;
&lt;br /&gt;
This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
When interpreting keypresses for the calculators, PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key and so on.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Backspace || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
The debug window is composed of separate modules, which show the state of the calculator from a certain aspect. Note that the components are tuned to the top left slot by default, and you have to change the slots manually in the layout editor if you want to examine a different slot.&lt;br /&gt;
&lt;br /&gt;
You can display a context menu by right clicking anywhere in the debug window. The menu list first the global keys, then displays all the component specific bindings after a horizontal separator. The global keys will always have the same effect regardless of the module selected. These keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| F7 || Execute one instruction (or skip to the next interrupt when halted)&lt;br /&gt;
|-&lt;br /&gt;
| F8 || Step over the next instruction; the same as F7, except that CALL, RST, DJNZ and repeat instructions (e.g. LDIR) are executed until either the program counter hits the subsequent instruction or 10000000 clock cycles elapse&lt;br /&gt;
|-&lt;br /&gt;
| F12 || Toggle the layout editor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Layout editor===&lt;br /&gt;
&lt;br /&gt;
This feature is still under development. Most importantly, the modified layouts are not saved. The default layout is designed not to conceal anything if the window is maximised at a resolution of at least 1024x768. The keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Add a component module after the selected one; the type of the component can be picked from a list&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Delete the subtree starting from the currently selected node&lt;br /&gt;
|-&lt;br /&gt;
| 0..3 || Set the slot of every node in the subtree starting from the selection to the number pressed (0 - top left, 1 - top right, 2 - bottom left, 3 - bottom right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
'''Disassembly'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Up/down arrows, Page Up/Down || Navigate&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Set/remove execution breakpoint at the cursor (it affects every byte of the instruction)&lt;br /&gt;
|-&lt;br /&gt;
| G || Go to a specific address (enter in hexadecimal; press Escape instead of Enter to cancel)&lt;br /&gt;
|-&lt;br /&gt;
| P, S, B, D, H, X, Y || Go to the address pointed by PC, SP, BC, DE, HL, IX, IY, respectively&lt;br /&gt;
|-&lt;br /&gt;
| R || Run from cursor, i.e. set PC to the address of the instruction under the cursor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important: when a breakpoint is set, it affects all the slots at the same time for the time being!&lt;br /&gt;
&lt;br /&gt;
'''Memory view'''&lt;br /&gt;
&lt;br /&gt;
This is a view of the 64K CPU address space. You can use the arrows and the page up/down keys to navigate. The G, P, S, B, D, H, X and Y keys have the same effect as on the disassembly pane.&lt;br /&gt;
&lt;br /&gt;
When you press Enter, you can edit the value currently under the cursor by simulating a memory write to that address, i.e. only RAM contents can be modified this way. The dialog accepts numbers in four bases, which can be denoted by prefixes: % - binary, @ - octal, # - decimal and $ - hexadecimal. If there is no prefix, the number is treated as hexadecimal. If you press Shift-Enter instead of just Enter after typing the number, the effect will be writing a little-endian word at the current address instead of a single byte.&lt;br /&gt;
&lt;br /&gt;
'''Registers'''&lt;br /&gt;
&lt;br /&gt;
The internal state of the Z80. Each value can be edited after left clicking; the values must be entered in hexadecimal. Editing can be concluded with Enter or by clicking elsewhere, and cancelled with Escape. Note that halt can have three values: 0 - normal operation, 1 - halt active, 2 - violating execution protection (if you attempt running any further, the calculator will be forced to reset).&lt;br /&gt;
&lt;br /&gt;
'''Variables'''&lt;br /&gt;
&lt;br /&gt;
A simple, read-only VAT viewer. Double clicking a variable sets the address of the memory view to the address of its data.&lt;br /&gt;
&lt;br /&gt;
'''LCD data'''&lt;br /&gt;
&lt;br /&gt;
Graphical display of the contents of LCD memory. Note that all the 120 columns are shown here, even though all calculators emulated can only display 96. However, the memory is still there. The current X and Y addresses are shown by a bluish colour on the byte that will be accessed through the data port.&lt;br /&gt;
&lt;br /&gt;
'''Link history'''&lt;br /&gt;
&lt;br /&gt;
Link activity graph that records changes on the link port of calculators plugged into the hub. Calculators not plugged in are shown inactive even if they do manipulate their link port.&lt;br /&gt;
&lt;br /&gt;
'''Key-value modules'''&lt;br /&gt;
&lt;br /&gt;
The following modules are in this category: LCD physics, LCD software, Information, Time, Interrupts, Memory, Keyboard, Link. All of these display a list of characteristics. The right hand sides can be edited where the cursor turns into a hand. Editing can either mean a single click (e.g. interrupt frequencies or keyboard state) or bring up a text box for numeric values, where Escape can be used to cancel as usual.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
It is possible to run the emulator in a non-interactive mode through a pipe (communicating through stdio), just invoke the executable with the -p switch and redirect the input and the output. Do not try to run it with the keyboard on the input or a terminal on the output, because it will hang.&lt;br /&gt;
&lt;br /&gt;
Each command sent must be on a separate line. All of them emit at least a line containing 'OK' as a response in case of success. Error conditions are signaled by outputs starting with 'Error:'.&lt;br /&gt;
&lt;br /&gt;
The commands are the following:&lt;br /&gt;
&lt;br /&gt;
*send-file &amp;lt;slot&amp;gt; &amp;lt;file&amp;gt; - send a file to the specified slot (the same as drag and drop); don't quote the filename, it's read from the first non-space after the slot number till the end of the line (the slot number must be between 0 and 15 or 0x0 and 0xf)&lt;br /&gt;
&lt;br /&gt;
*activate-slot &amp;lt;slot&amp;gt; - select the current slot&lt;br /&gt;
&lt;br /&gt;
*reset-calc - reset the calc in the current slot (you might need to run a few million cc's after this before pressing on)&lt;br /&gt;
&lt;br /&gt;
*run &amp;lt;cycles&amp;gt; - run for the specified number of cycles (it should be a number between 1 and 2000000000); when debugging is enabled and execution stops on a breakpoint, there will be a line starting with 'Info:' output before the usual 'OK'&lt;br /&gt;
&lt;br /&gt;
*step &amp;lt;n&amp;gt; - execute n instructions ignoring the breakpoints, n defaults to 1 when omitted; the firing of a possibly masked timer during a halt counts as one instruction&lt;br /&gt;
   &lt;br /&gt;
*draw-screen-bw - dump LCD memory â€” 96*64 bytes, 0 for white and 255 for black; the raw data is preceded by a line that always contains two characters: the first is '1' if the calculator is powered, '0' otherwise, and the second is '1' if the LCD is powered, '0' if it isn't (so the image should be displayed only if this line says '11')&lt;br /&gt;
&lt;br /&gt;
*draw-screen-gs - dump greyscale screen (only updated 25 times per calculator second) â€” 96*64 bytes preceded by the same two-character line, same format but using the full range of values&lt;br /&gt;
&lt;br /&gt;
*key-down &amp;lt;key&amp;gt; - press key (calc key, so the argument is a token like '2nd', 'mode' etc.)&lt;br /&gt;
&lt;br /&gt;
*key-up &amp;lt;key&amp;gt; - release key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt; must be one of the tokens below:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || up || right || left || down&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;amp;nbsp; || clear || ^ || / || * || - || + || enter&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;amp;nbsp; || vars || tan || ) || 9 || 6 || 3 || (-)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || stat || prgm || cos || ( || 8 || 5 || 2 || .&lt;br /&gt;
|-&lt;br /&gt;
| 4 || x || matrx || sin || , || 7 || 4 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || alpha || math || x^-1 || x^2 || log || ln || sto || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || del || mode || 2nd || y= || window || zoom || trace || graph&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The on key is called 'on', surprisingly. You can also write 'apps' instead of 'matrx'.&lt;br /&gt;
&lt;br /&gt;
*dump-state &amp;lt;type&amp;gt; - obtain information about the internal state of the emulated hardware; &amp;lt;type&amp;gt; must be one of the following (without quotes): 'lcd physics', 'lcd software', 'model', 'time', 'interrupt', 'pager', 'keyboard', 'link', 'cpu', 'memory'. Except for the last two the format is the following after the initial 'OK': a line containing nothing but the number of subsequent lines, and a 'key: value' pair on each line. With 'cpu' it displays the registers with a 'reg=value' pair on each line, all in hex, while 'memory' is a dump of 65536 bytes as seen in the z80 address space with the current mapping mode&lt;br /&gt;
&lt;br /&gt;
*{set|remove}-breakpoint &amp;lt;type&amp;gt; &amp;lt;args&amp;gt; - add/remove a breakpoint; the arguments depend on the type given; the only type currently supported is 'code' (again, no quotes). It has only one argument: a number specifying the address. It can be base 10, 16 or 8 differentiated by the usual C prefixes. (Actually, this applies to any numeric argument in any command.) For the removal you can also specify -1 here, which removes all code breakpoints.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to directly manipulate the state of the calculator.&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://emt.bme.hu/patai/programs/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://emt.bme.hu/patai/programs/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://emt.bme.hu/patai/programs/pindurti/features/ PindurTI Idea box] (not active any more)&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2008-03-18T06:36:27Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: Update on the project state plus a Wabbit link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is a relatively new member of the TI [[Emulators|emulator]] 'family', developed from scratch by Patai Gergely. Development has ceased, as the author has no sufficient time to continue, and the code base is not easily extended to implement calculator features that were not known at the start of the project. Users who need the emulation of newer models than the plain 83+ should use [[:Emulators:Wabbitemu|WabbitEmu]] instead.&lt;br /&gt;
&lt;br /&gt;
This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
When interpreting keypresses for the calculators, PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key and so on.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Backspace || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
The debug window is composed of separate modules, which show the state of the calculator from a certain aspect. Note that the components are tuned to the top left slot by default, and you have to change the slots manually in the layout editor if you want to examine a different slot.&lt;br /&gt;
&lt;br /&gt;
You can display a context menu by right clicking anywhere in the debug window. The menu list first the global keys, then displays all the component specific bindings after a horizontal separator. The global keys will always have the same effect regardless of the module selected. These keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| F7 || Execute one instruction (or skip to the next interrupt when halted)&lt;br /&gt;
|-&lt;br /&gt;
| F8 || Step over the next instruction; the same as F7, except that CALL, RST, DJNZ and repeat instructions (e.g. LDIR) are executed until either the program counter hits the subsequent instruction or 10000000 clock cycles elapse&lt;br /&gt;
|-&lt;br /&gt;
| F12 || Toggle the layout editor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Layout editor===&lt;br /&gt;
&lt;br /&gt;
This feature is still under development. Most importantly, the modified layouts are not saved. The default layout is designed not to conceal anything if the window is maximised at a resolution of at least 1024x768. The keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Add a component module after the selected one; the type of the component can be picked from a list&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Delete the subtree starting from the currently selected node&lt;br /&gt;
|-&lt;br /&gt;
| 0..3 || Set the slot of every node in the subtree starting from the selection to the number pressed (0 - top left, 1 - top right, 2 - bottom left, 3 - bottom right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
'''Disassembly'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Up/down arrows, Page Up/Down || Navigate&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Set/remove execution breakpoint at the cursor (it affects every byte of the instruction)&lt;br /&gt;
|-&lt;br /&gt;
| G || Go to a specific address (enter in hexadecimal; press Escape instead of Enter to cancel)&lt;br /&gt;
|-&lt;br /&gt;
| P, S, B, D, H, X, Y || Go to the address pointed by PC, SP, BC, DE, HL, IX, IY, respectively&lt;br /&gt;
|-&lt;br /&gt;
| R || Run from cursor, i.e. set PC to the address of the instruction under the cursor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important: when a breakpoint is set, it affects all the slots at the same time for the time being!&lt;br /&gt;
&lt;br /&gt;
'''Memory view'''&lt;br /&gt;
&lt;br /&gt;
This is a view of the 64K CPU address space. You can use the arrows and the page up/down keys to navigate. The G, P, S, B, D, H, X and Y keys have the same effect as on the disassembly pane.&lt;br /&gt;
&lt;br /&gt;
When you press Enter, you can edit the value currently under the cursor by simulating a memory write to that address, i.e. only RAM contents can be modified this way. The dialog accepts numbers in four bases, which can be denoted by prefixes: % - binary, @ - octal, # - decimal and $ - hexadecimal. If there is no prefix, the number is treated as hexadecimal. If you press Shift-Enter instead of just Enter after typing the number, the effect will be writing a little-endian word at the current address instead of a single byte.&lt;br /&gt;
&lt;br /&gt;
'''Registers'''&lt;br /&gt;
&lt;br /&gt;
The internal state of the Z80. Each value can be edited after left clicking; the values must be entered in hexadecimal. Editing can be concluded with Enter or by clicking elsewhere, and cancelled with Escape. Note that halt can have three values: 0 - normal operation, 1 - halt active, 2 - violating execution protection (if you attempt running any further, the calculator will be forced to reset).&lt;br /&gt;
&lt;br /&gt;
'''Variables'''&lt;br /&gt;
&lt;br /&gt;
A simple, read-only VAT viewer. Double clicking a variable sets the address of the memory view to the address of its data.&lt;br /&gt;
&lt;br /&gt;
'''LCD data'''&lt;br /&gt;
&lt;br /&gt;
Graphical display of the contents of LCD memory. Note that all the 120 columns are shown here, even though all calculators emulated can only display 96. However, the memory is still there. The current X and Y addresses are shown by a bluish colour on the byte that will be accessed through the data port.&lt;br /&gt;
&lt;br /&gt;
'''Link history'''&lt;br /&gt;
&lt;br /&gt;
Link activity graph that records changes on the link port of calculators plugged into the hub. Calculators not plugged in are shown inactive even if they do manipulate their link port.&lt;br /&gt;
&lt;br /&gt;
'''Key-value modules'''&lt;br /&gt;
&lt;br /&gt;
The following modules are in this category: LCD physics, LCD software, Information, Time, Interrupts, Memory, Keyboard, Link. All of these display a list of characteristics. The right hand sides can be edited where the cursor turns into a hand. Editing can either mean a single click (e.g. interrupt frequencies or keyboard state) or bring up a text box for numeric values, where Escape can be used to cancel as usual.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
It is possible to run the emulator in a non-interactive mode through a pipe (communicating through stdio), just invoke the executable with the -p switch and redirect the input and the output. Do not try to run it with the keyboard on the input or a terminal on the output, because it will hang.&lt;br /&gt;
&lt;br /&gt;
Each command sent must be on a separate line. All of them emit at least a line containing 'OK' as a response in case of success. Error conditions are signaled by outputs starting with 'Error:'.&lt;br /&gt;
&lt;br /&gt;
The commands are the following:&lt;br /&gt;
&lt;br /&gt;
*send-file &amp;lt;slot&amp;gt; &amp;lt;file&amp;gt; - send a file to the specified slot (the same as drag and drop); don't quote the filename, it's read from the first non-space after the slot number till the end of the line (the slot number must be between 0 and 15 or 0x0 and 0xf)&lt;br /&gt;
&lt;br /&gt;
*activate-slot &amp;lt;slot&amp;gt; - select the current slot&lt;br /&gt;
&lt;br /&gt;
*reset-calc - reset the calc in the current slot (you might need to run a few million cc's after this before pressing on)&lt;br /&gt;
&lt;br /&gt;
*run &amp;lt;cycles&amp;gt; - run for the specified number of cycles (it should be a number between 1 and 2000000000); when debugging is enabled and execution stops on a breakpoint, there will be a line starting with 'Info:' output before the usual 'OK'&lt;br /&gt;
&lt;br /&gt;
*step &amp;lt;n&amp;gt; - execute n instructions ignoring the breakpoints, n defaults to 1 when omitted; the firing of a possibly masked timer during a halt counts as one instruction&lt;br /&gt;
   &lt;br /&gt;
*draw-screen-bw - dump LCD memory â€” 96*64 bytes, 0 for white and 255 for black; the raw data is preceded by a line that always contains two characters: the first is '1' if the calculator is powered, '0' otherwise, and the second is '1' if the LCD is powered, '0' if it isn't (so the image should be displayed only if this line says '11')&lt;br /&gt;
&lt;br /&gt;
*draw-screen-gs - dump greyscale screen (only updated 25 times per calculator second) â€” 96*64 bytes preceded by the same two-character line, same format but using the full range of values&lt;br /&gt;
&lt;br /&gt;
*key-down &amp;lt;key&amp;gt; - press key (calc key, so the argument is a token like '2nd', 'mode' etc.)&lt;br /&gt;
&lt;br /&gt;
*key-up &amp;lt;key&amp;gt; - release key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt; must be one of the tokens below:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || up || right || left || down&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;amp;nbsp; || clear || ^ || / || * || - || + || enter&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;amp;nbsp; || vars || tan || ) || 9 || 6 || 3 || (-)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || stat || prgm || cos || ( || 8 || 5 || 2 || .&lt;br /&gt;
|-&lt;br /&gt;
| 4 || x || matrx || sin || , || 7 || 4 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || alpha || math || x^-1 || x^2 || log || ln || sto || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || del || mode || 2nd || y= || window || zoom || trace || graph&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The on key is called 'on', surprisingly. You can also write 'apps' instead of 'matrx'.&lt;br /&gt;
&lt;br /&gt;
*dump-state &amp;lt;type&amp;gt; - obtain information about the internal state of the emulated hardware; &amp;lt;type&amp;gt; must be one of the following (without quotes): 'lcd physics', 'lcd software', 'model', 'time', 'interrupt', 'pager', 'keyboard', 'link', 'cpu', 'memory'. Except for the last two the format is the following after the initial 'OK': a line containing nothing but the number of subsequent lines, and a 'key: value' pair on each line. With 'cpu' it displays the registers with a 'reg=value' pair on each line, all in hex, while 'memory' is a dump of 65536 bytes as seen in the z80 address space with the current mapping mode&lt;br /&gt;
&lt;br /&gt;
*{set|remove}-breakpoint &amp;lt;type&amp;gt; &amp;lt;args&amp;gt; - add/remove a breakpoint; the arguments depend on the type given; the only type currently supported is 'code' (again, no quotes). It has only one argument: a number specifying the address. It can be base 10, 16 or 8 differentiated by the usual C prefixes. (Actually, this applies to any numeric argument in any command.) For the removal you can also specify -1 here, which removes all code breakpoints.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to directly manipulate the state of the calculator.&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://users.hszk.bme.hu/~pg429/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI Idea box]&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2006-12-16T10:02:01Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: Bringing it up-to-date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is the latest addition to the TI [[Emulators|emulator]] 'family', still in development by Patai Gergely. This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
When interpreting keypresses for the calculators, PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key and so on.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Backspace || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
The debug window is composed of separate modules, which show the state of the calculator from a certain aspect. Note that the components are tuned to the top left slot by default, and you have to change the slots manually in the layout editor if you want to examine a different slot.&lt;br /&gt;
&lt;br /&gt;
You can display a context menu by right clicking anywhere in the debug window. The menu list first the global keys, then displays all the component specific bindings after a horizontal separator. The global keys will always have the same effect regardless of the module selected. These keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| F7 || Execute one instruction (or skip to the next interrupt when halted)&lt;br /&gt;
|-&lt;br /&gt;
| F8 || Step over the next instruction; the same as F7, except that CALL, RST, DJNZ and repeat instructions (e.g. LDIR) are executed until either the program counter hits the subsequent instruction or 10000000 clock cycles elapse&lt;br /&gt;
|-&lt;br /&gt;
| F12 || Toggle the layout editor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Layout editor===&lt;br /&gt;
&lt;br /&gt;
This feature is still under development. Most importantly, the modified layouts are not saved. The default layout is designed not to conceal anything if the window is maximised at a resolution of at least 1024x768. The keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Add a component module after the selected one; the type of the component can be picked from a list&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Delete the subtree starting from the currently selected node&lt;br /&gt;
|-&lt;br /&gt;
| 0..3 || Set the slot of every node in the subtree starting from the selection to the number pressed (0 - top left, 1 - top right, 2 - bottom left, 3 - bottom right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
'''Disassembly'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Up/down arrows, Page Up/Down || Navigate&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Set/remove execution breakpoint at the cursor (it affects every byte of the instruction)&lt;br /&gt;
|-&lt;br /&gt;
| G || Go to a specific address (enter in hexadecimal; press Escape instead of Enter to cancel)&lt;br /&gt;
|-&lt;br /&gt;
| P, S, B, D, H, X, Y || Go to the address pointed by PC, SP, BC, DE, HL, IX, IY, respectively&lt;br /&gt;
|-&lt;br /&gt;
| R || Run from cursor, i.e. set PC to the address of the instruction under the cursor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important: when a breakpoint is set, it affects all the slots at the same time for the time being!&lt;br /&gt;
&lt;br /&gt;
'''Memory view'''&lt;br /&gt;
&lt;br /&gt;
This is a view of the 64K CPU address space. You can use the arrows and the page up/down keys to navigate. The G, P, S, B, D, H, X and Y keys have the same effect as on the disassembly pane.&lt;br /&gt;
&lt;br /&gt;
When you press Enter, you can edit the value currently under the cursor by simulating a memory write to that address, i.e. only RAM contents can be modified this way. The dialog accepts numbers in four bases, which can be denoted by prefixes: % - binary, @ - octal, # - decimal and $ - hexadecimal. If there is no prefix, the number is treated as hexadecimal. If you press Shift-Enter instead of just Enter after typing the number, the effect will be writing a little-endian word at the current address instead of a single byte.&lt;br /&gt;
&lt;br /&gt;
'''Registers'''&lt;br /&gt;
&lt;br /&gt;
The internal state of the Z80. Each value can be edited after left clicking; the values must be entered in hexadecimal. Editing can be concluded with Enter or by clicking elsewhere, and cancelled with Escape. Note that halt can have three values: 0 - normal operation, 1 - halt active, 2 - violating execution protection (if you attempt running any further, the calculator will be forced to reset).&lt;br /&gt;
&lt;br /&gt;
'''Variables'''&lt;br /&gt;
&lt;br /&gt;
A simple, read-only VAT viewer. Double clicking a variable sets the address of the memory view to the address of its data.&lt;br /&gt;
&lt;br /&gt;
'''LCD data'''&lt;br /&gt;
&lt;br /&gt;
Graphical display of the contents of LCD memory. Note that all the 120 columns are shown here, even though all calculators emulated can only display 96. However, the memory is still there. The current X and Y addresses are shown by a bluish colour on the byte that will be accessed through the data port.&lt;br /&gt;
&lt;br /&gt;
'''Link history'''&lt;br /&gt;
&lt;br /&gt;
Link activity graph that records changes on the link port of calculators plugged into the hub. Calculators not plugged in are shown inactive even if they do manipulate their link port.&lt;br /&gt;
&lt;br /&gt;
'''Key-value modules'''&lt;br /&gt;
&lt;br /&gt;
The following modules are in this category: LCD physics, LCD software, Information, Time, Interrupts, Memory, Keyboard, Link. All of these display a list of characteristics. The right hand sides can be edited where the cursor turns into a hand. Editing can either mean a single click (e.g. interrupt frequencies or keyboard state) or bring up a text box for numeric values, where Escape can be used to cancel as usual.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
It is possible to run the emulator in a non-interactive mode through a pipe (communicating through stdio), just invoke the executable with the -p switch and redirect the input and the output. Do not try to run it with the keyboard on the input or a terminal on the output, because it will hang.&lt;br /&gt;
&lt;br /&gt;
Each command sent must be on a separate line. All of them emit at least a line containing 'OK' as a response in case of success. Error conditions are signaled by outputs starting with 'Error:'.&lt;br /&gt;
&lt;br /&gt;
The commands are the following:&lt;br /&gt;
&lt;br /&gt;
*send-file &amp;lt;slot&amp;gt; &amp;lt;file&amp;gt; - send a file to the specified slot (the same as drag and drop); don't quote the filename, it's read from the first non-space after the slot number till the end of the line (the slot number must be between 0 and 15 or 0x0 and 0xf)&lt;br /&gt;
&lt;br /&gt;
*activate-slot &amp;lt;slot&amp;gt; - select the current slot&lt;br /&gt;
&lt;br /&gt;
*reset-calc - reset the calc in the current slot (you might need to run a few million cc's after this before pressing on)&lt;br /&gt;
&lt;br /&gt;
*run &amp;lt;cycles&amp;gt; - run for the specified number of cycles (it should be a number between 1 and 2000000000); when debugging is enabled and execution stops on a breakpoint, there will be a line starting with 'Info:' output before the usual 'OK'&lt;br /&gt;
&lt;br /&gt;
*step &amp;lt;n&amp;gt; - execute n instructions ignoring the breakpoints, n defaults to 1 when omitted; the firing of a possibly masked timer during a halt counts as one instruction&lt;br /&gt;
   &lt;br /&gt;
*draw-screen-bw - dump LCD memory â€” 96*64 bytes, 0 for white and 255 for black; the raw data is preceded by a line that always contains two characters: the first is '1' if the calculator is powered, '0' otherwise, and the second is '1' if the LCD is powered, '0' if it isn't (so the image should be displayed only if this line says '11')&lt;br /&gt;
&lt;br /&gt;
*draw-screen-gs - dump greyscale screen (only updated 25 times per calculator second) â€” 96*64 bytes preceded by the same two-character line, same format but using the full range of values&lt;br /&gt;
&lt;br /&gt;
*key-down &amp;lt;key&amp;gt; - press key (calc key, so the argument is a token like '2nd', 'mode' etc.)&lt;br /&gt;
&lt;br /&gt;
*key-up &amp;lt;key&amp;gt; - release key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt; must be one of the tokens below:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || up || right || left || down&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;amp;nbsp; || clear || ^ || / || * || - || + || enter&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;amp;nbsp; || vars || tan || ) || 9 || 6 || 3 || (-)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || stat || prgm || cos || ( || 8 || 5 || 2 || .&lt;br /&gt;
|-&lt;br /&gt;
| 4 || x || matrx || sin || , || 7 || 4 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || alpha || math || x^-1 || x^2 || log || ln || sto || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || del || mode || 2nd || y= || window || zoom || trace || graph&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The on key is called 'on', surprisingly. You can also write 'apps' instead of 'matrx'.&lt;br /&gt;
&lt;br /&gt;
*dump-state &amp;lt;type&amp;gt; - obtain information about the internal state of the emulated hardware; &amp;lt;type&amp;gt; must be one of the following (without quotes): 'lcd physics', 'lcd software', 'model', 'time', 'interrupt', 'pager', 'keyboard', 'link', 'cpu', 'memory'. Except for the last two the format is the following after the initial 'OK': a line containing nothing but the number of subsequent lines, and a 'key: value' pair on each line. With 'cpu' it displays the registers with a 'reg=value' pair on each line, all in hex, while 'memory' is a dump of 65536 bytes as seen in the z80 address space with the current mapping mode&lt;br /&gt;
&lt;br /&gt;
*{set|remove}-breakpoint &amp;lt;type&amp;gt; &amp;lt;args&amp;gt; - add/remove a breakpoint; the arguments depend on the type given; the only type currently supported is 'code' (again, no quotes). It has only one argument: a number specifying the address. It can be base 10, 16 or 8 differentiated by the usual C prefixes. (Actually, this applies to any numeric argument in any command.) For the removal you can also specify -1 here, which removes all code breakpoints.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to directly manipulate the state of the calculator.&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://users.hszk.bme.hu/~pg429/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI Idea box]&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2006-10-21T10:35:06Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: new screenshot key, memory write feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is the latest addition to the TI [[Emulators|emulator]] 'family', still in development by Patai Gergely. This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
When interpreting keypresses for the calculators, PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key and so on.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Backspace || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
The debug window is composed of separate modules, which show the state of the calculator from a certain aspect. Note that the components are tuned to the top left slot by default, and you have to change the slots manually in the layout editor if you want to examine a different slot.&lt;br /&gt;
&lt;br /&gt;
Some keys are global in the debugger, i.e. they will always have the same effect regardless of the module selected. These keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| F7 || Execute one instruction (or skip to the next interrupt when halted)&lt;br /&gt;
|-&lt;br /&gt;
| F8 || Step over the next instruction; the same as F7, except that CALL, RST, DJNZ and repeat instructions (e.g. LDIR) are executed until either the program counter hits the subsequent instruction or 10000000 clock cycles elapse&lt;br /&gt;
|-&lt;br /&gt;
| F12 || Toggle the layout editor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Layout editor===&lt;br /&gt;
&lt;br /&gt;
This feature is still under development. Most importantly, the modified layouts are not saved. The default layout is designed not to conceal anything if the window is maximised at a resolution of at least 1024x768. The keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Add a component module after the selected one; the type of the component can be picked from a list&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Delete the subtree starting from the currently selected node&lt;br /&gt;
|-&lt;br /&gt;
| 0..3 || Set the slot of every node in the subtree starting from the selection to the number pressed (0 - top left, 1 - top right, 2 - bottom left, 3 - bottom right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
'''Disassembly'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Up/down arrows, Page Up/Down || Navigate&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Set/remove execution breakpoint at the cursor&lt;br /&gt;
|-&lt;br /&gt;
| G || Go to a specific address (enter in hexadecimal; press Escape instead of Enter to cancel)&lt;br /&gt;
|-&lt;br /&gt;
| P, S, B, D, H, X, Y || Go to the address pointed by PC, SP, BC, DE, HL, IX, IY, respectively&lt;br /&gt;
|-&lt;br /&gt;
| R || Run from cursor, i.e. set PC to the address of the instruction under the cursor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important: when a breakpoint is set, it affects all the slots at the same time for the time being!&lt;br /&gt;
&lt;br /&gt;
'''Memory view'''&lt;br /&gt;
&lt;br /&gt;
This is a view of the 64K CPU address space. You can use the arrows and the page up/down keys to navigate. The G, P, S, B, D, H, X and Y keys have the same effect as on the disassembly pane.&lt;br /&gt;
&lt;br /&gt;
When you press Enter, you can edit the value currently under the cursor by simulating a memory write to that address, i.e. only RAM contents can be modified this way. The dialog accepts numbers in four bases, which can be denoted by postfixes: b - binary, o - octal, d - decimal and h - hexadecimal. If there is no postfix, the number is treated as hexadecimal. Consequently, if a hexadecimal number ends in b or d, the h prefix must be used explicitly. If you press Shift-Enter instead of just Enter after typing the number, the effect will be writing a little-endian word at the current address instead of a single byte.&lt;br /&gt;
&lt;br /&gt;
'''Registers'''&lt;br /&gt;
&lt;br /&gt;
The internal state of the Z80. Each value can be edited after left clicking; the values must be entered in hexadecimal. Editing can be concluded with Enter or by clicking elsewhere, and cancelled with Escape. Note that halt can have three values: 0 - normal operation, 1 - halt active, 2 - violating execution protection (if you attempt running any further, the calculator will be forced to reset).&lt;br /&gt;
&lt;br /&gt;
'''Variables'''&lt;br /&gt;
&lt;br /&gt;
A simple, read-only VAT viewer. It can be navigated using the up/down arrows, Page Up/Down and the mouse wheel as well.&lt;br /&gt;
&lt;br /&gt;
'''LCD data'''&lt;br /&gt;
&lt;br /&gt;
Graphical display of the contents of LCD memory. Note that all the 120 columns are shown here, even though all calculators emulated can only display 96. However, the memory is still there. The current X and Y addresses are shown by a bluish colour on the byte that will be accessed through the data port.&lt;br /&gt;
&lt;br /&gt;
'''Key-value modules'''&lt;br /&gt;
&lt;br /&gt;
The following modules are in this category: LCD physics, LCD software, Information, Time, Interrupts, Memory, Keyboard, Link. All of these display a list of characteristics. The right hand sides can be edited where the cursor turns into a hand. Editing can either mean a single click (e.g. interrupt frequencies or keyboard state) or bring up a text box for numeric values, where Escape can be used to cancel as usual.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
It is possible to run the emulator in a non-interactive mode through a pipe (communicating through stdio), just invoke the executable with the -p switch and redirect the input and the output. Do not try to run it with the keyboard on the input or a terminal on the output, because it will hang.&lt;br /&gt;
&lt;br /&gt;
Each command sent must be on a separate line. All of them emit at least a line containing 'OK' as a response in case of success. Error conditions are signaled by outputs starting with 'Error:'.&lt;br /&gt;
&lt;br /&gt;
The commands are the following:&lt;br /&gt;
&lt;br /&gt;
*send-file &amp;lt;slot&amp;gt; &amp;lt;file&amp;gt; - send a file to the specified slot (the same as drag and drop); don't quote the filename, it's read from the first non-space after the slot number till the end of the line (the slot number must be between 0 and 15 or 0x0 and 0xf)&lt;br /&gt;
&lt;br /&gt;
*activate-slot &amp;lt;slot&amp;gt; - select the current slot&lt;br /&gt;
&lt;br /&gt;
*reset-calc - reset the calc in the current slot (you might need to run a few million cc's after this before pressing on)&lt;br /&gt;
&lt;br /&gt;
*run &amp;lt;cycles&amp;gt; - run for the specified number of cycles (it should be a number between 1 and 2000000000); when debugging is enabled and execution stops on a breakpoint, there will be a line starting with 'Info:' output before the usual 'OK'&lt;br /&gt;
&lt;br /&gt;
*step &amp;lt;n&amp;gt; - execute n instructions ignoring the breakpoints, n defaults to 1 when omitted; the firing of a possibly masked timer during a halt counts as one instruction&lt;br /&gt;
   &lt;br /&gt;
*draw-screen-bw - dump LCD memory â€” 96*64 bytes, 0 for white and 255 for black; the raw data is preceded by a line that always contains two characters: the first is '1' if the calculator is powered, '0' otherwise, and the second is '1' if the LCD is powered, '0' if it isn't (so the image should be displayed only if this line says '11')&lt;br /&gt;
&lt;br /&gt;
*draw-screen-gs - dump greyscale screen (only updated 25 times per calculator second) â€” 96*64 bytes preceded by the same two-character line, same format but using the full range of values&lt;br /&gt;
&lt;br /&gt;
*key-down &amp;lt;key&amp;gt; - press key (calc key, so the argument is a token like '2nd', 'mode' etc.)&lt;br /&gt;
&lt;br /&gt;
*key-up &amp;lt;key&amp;gt; - release key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt; must be one of the tokens below:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || up || right || left || down&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;amp;nbsp; || clear || ^ || / || * || - || + || enter&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;amp;nbsp; || vars || tan || ) || 9 || 6 || 3 || (-)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || stat || prgm || cos || ( || 8 || 5 || 2 || .&lt;br /&gt;
|-&lt;br /&gt;
| 4 || x || matrx || sin || , || 7 || 4 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || alpha || math || x^-1 || x^2 || log || ln || sto || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || del || mode || 2nd || y= || window || zoom || trace || graph&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The on key is called 'on', surprisingly. You can also write 'apps' instead of 'matrx'.&lt;br /&gt;
&lt;br /&gt;
*dump-state &amp;lt;type&amp;gt; - obtain information about the internal state of the emulated hardware; &amp;lt;type&amp;gt; must be one of the following (without quotes): 'lcd physics', 'lcd software', 'model', 'time', 'interrupt', 'pager', 'keyboard', 'link', 'cpu', 'memory'. Except for the last two the format is the following after the initial 'OK': a line containing nothing but the number of subsequent lines, and a 'key: value' pair on each line. With 'cpu' it displays the registers with a 'reg=value' pair on each line, all in hex, while 'memory' is a dump of 65536 bytes as seen in the z80 address space with the current mapping mode&lt;br /&gt;
&lt;br /&gt;
*{set|remove}-breakpoint &amp;lt;type&amp;gt; &amp;lt;args&amp;gt; - add/remove a breakpoint; the arguments depend on the type given; the only type currently supported is 'code' (again, no quotes). It has only one argument: a number specifying the address. It can be base 10, 16 or 8 differentiated by the usual C prefixes. (Actually, this applies to any numeric argument in any command.) For the removal you can also specify -1 here, which removes all code breakpoints.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to directly manipulate the state of the calculator.&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://users.hszk.bme.hu/~pg429/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI Idea box]&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2006-09-02T21:05:34Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Debugger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is the latest addition to the TI [[Emulators|emulator]] 'family', still in development by Patai Gergely. This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
When interpreting keypresses for the calculators, PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key and so on.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Alt || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
The debug window is composed of separate modules, which show the state of the calculator from a certain aspect. Note that the components are tuned to the top left slot by default, and you have to change the slots manually in the layout editor if you want to examine a different slot.&lt;br /&gt;
&lt;br /&gt;
Some keys are global in the debugger, i.e. they will always have the same effect regardless of the module selected. These keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| F7 || Execute one instruction (or skip to the next interrupt when halted)&lt;br /&gt;
|-&lt;br /&gt;
| F8 || Step over the next instruction; the same as F7, except that CALL, RST, DJNZ and repeat instructions (e.g. LDIR) are executed until either the program counter hits the subsequent instruction or 10000000 clock cycles elapse&lt;br /&gt;
|-&lt;br /&gt;
| F12 || Toggle the layout editor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Layout editor===&lt;br /&gt;
&lt;br /&gt;
This feature is still under development. Most importantly, the modified layouts are not saved. The default layout is designed not to conceal anything if the window is maximised at a resolution of at least 1024x768. The keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Add a component module after the selected one; the type of the component can be picked from a list&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Delete the subtree starting from the currently selected node&lt;br /&gt;
|-&lt;br /&gt;
| 0..3 || Set the slot of every node in the subtree starting from the selection to the number pressed (0 - top left, 1 - top right, 2 - bottom left, 3 - bottom right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
'''Disassembly'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Up/down arrows, Page Up/Down || Navigate&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Set/remove execution breakpoint at the cursor&lt;br /&gt;
|-&lt;br /&gt;
| G || Go to a specific address (enter in hexadecimal; press Escape instead of Enter to cancel)&lt;br /&gt;
|-&lt;br /&gt;
| P, S, B, D, H, X, Y || Go to the address pointed by PC, SP, BC, DE, HL, IX, IY, respectively&lt;br /&gt;
|-&lt;br /&gt;
| R || Run from cursor, i.e. set PC to the address of the instruction under the cursor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important: when a breakpoint is set, it affects all the slots at the same time for the time being!&lt;br /&gt;
&lt;br /&gt;
'''Memory view'''&lt;br /&gt;
&lt;br /&gt;
This is currently a read-only view of the 64K CPU address space. You can use the arrows and the page up/down keys to navigate. The G, P, S, B, D, H, X and Y keys have the same effect as on the disassembly pane.&lt;br /&gt;
&lt;br /&gt;
'''Registers'''&lt;br /&gt;
&lt;br /&gt;
The internal state of the Z80. Each value can be edited after left clicking; the values must be entered in hexadecimal. Editing can be concluded with Enter or by clicking elsewhere, and cancelled with Escape. Note that halt can have three values: 0 - normal operation, 1 - halt active, 2 - violating execution protection (if you attempt running any further, the calculator will be forced to reset).&lt;br /&gt;
&lt;br /&gt;
'''Variables'''&lt;br /&gt;
&lt;br /&gt;
A simple, read-only VAT viewer. It can be navigated using the up/down arrows, Page Up/Down and the mouse wheel as well.&lt;br /&gt;
&lt;br /&gt;
'''LCD data'''&lt;br /&gt;
&lt;br /&gt;
Graphical display of the contents of LCD memory. Note that all the 120 columns are shown here, even though all calculators emulated can only display 96. However, the memory is still there. The current X and Y addresses are shown by a bluish colour on the byte that will be accessed through the data port.&lt;br /&gt;
&lt;br /&gt;
'''Key-value modules'''&lt;br /&gt;
&lt;br /&gt;
The following modules are in this category: LCD physics, LCD software, Information, Time, Interrupts, Memory, Keyboard, Link. All of these display a list of characteristics. The right hand sides can be edited where the cursor turns into a hand. Editing can either mean a single click (e.g. interrupt frequencies or keyboard state) or bring up a text box for numeric values, where Escape can be used to cancel as usual.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
It is possible to run the emulator in a non-interactive mode through a pipe (communicating through stdio), just invoke the executable with the -p switch and redirect the input and the output. Do not try to run it with the keyboard on the input or a terminal on the output, because it will hang.&lt;br /&gt;
&lt;br /&gt;
Each command sent must be on a separate line. All of them emit at least a line containing 'OK' as a response in case of success. Error conditions are signaled by outputs starting with 'Error:'.&lt;br /&gt;
&lt;br /&gt;
The commands are the following:&lt;br /&gt;
&lt;br /&gt;
*send-file &amp;lt;slot&amp;gt; &amp;lt;file&amp;gt; - send a file to the specified slot (the same as drag and drop); don't quote the filename, it's read from the first non-space after the slot number till the end of the line (the slot number must be between 0 and 15 or 0x0 and 0xf)&lt;br /&gt;
&lt;br /&gt;
*activate-slot &amp;lt;slot&amp;gt; - select the current slot&lt;br /&gt;
&lt;br /&gt;
*reset-calc - reset the calc in the current slot (you might need to run a few million cc's after this before pressing on)&lt;br /&gt;
&lt;br /&gt;
*run &amp;lt;cycles&amp;gt; - run for the specified number of cycles (it should be a number between 1 and 2000000000); when debugging is enabled and execution stops on a breakpoint, there will be a line starting with 'Info:' output before the usual 'OK'&lt;br /&gt;
&lt;br /&gt;
*step &amp;lt;n&amp;gt; - execute n instructions ignoring the breakpoints, n defaults to 1 when omitted; the firing of a possibly masked timer during a halt counts as one instruction&lt;br /&gt;
   &lt;br /&gt;
*draw-screen-bw - dump LCD memory â€” 96*64 bytes, 0 for white and 255 for black; the raw data is preceded by a line that always contains two characters: the first is '1' if the calculator is powered, '0' otherwise, and the second is '1' if the LCD is powered, '0' if it isn't (so the image should be displayed only if this line says '11')&lt;br /&gt;
&lt;br /&gt;
*draw-screen-gs - dump greyscale screen (only updated 25 times per calculator second) â€” 96*64 bytes preceded by the same two-character line, same format but using the full range of values&lt;br /&gt;
&lt;br /&gt;
*key-down &amp;lt;key&amp;gt; - press key (calc key, so the argument is a token like '2nd', 'mode' etc.)&lt;br /&gt;
&lt;br /&gt;
*key-up &amp;lt;key&amp;gt; - release key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt; must be one of the tokens below:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || up || right || left || down&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;amp;nbsp; || clear || ^ || / || * || - || + || enter&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;amp;nbsp; || vars || tan || ) || 9 || 6 || 3 || (-)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || stat || prgm || cos || ( || 8 || 5 || 2 || .&lt;br /&gt;
|-&lt;br /&gt;
| 4 || x || matrx || sin || , || 7 || 4 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || alpha || math || x^-1 || x^2 || log || ln || sto || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || del || mode || 2nd || y= || window || zoom || trace || graph&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The on key is called 'on', surprisingly. You can also write 'apps' instead of 'matrx'.&lt;br /&gt;
&lt;br /&gt;
*dump-state &amp;lt;type&amp;gt; - obtain information about the internal state of the emulated hardware; &amp;lt;type&amp;gt; must be one of the following (without quotes): 'lcd physics', 'lcd software', 'model', 'time', 'interrupt', 'pager', 'keyboard', 'link', 'cpu', 'memory'. Except for the last two the format is the following after the initial 'OK': a line containing nothing but the number of subsequent lines, and a 'key: value' pair on each line. With 'cpu' it displays the registers with a 'reg=value' pair on each line, all in hex, while 'memory' is a dump of 65536 bytes as seen in the z80 address space with the current mapping mode&lt;br /&gt;
&lt;br /&gt;
*{set|remove}-breakpoint &amp;lt;type&amp;gt; &amp;lt;args&amp;gt; - add/remove a breakpoint; the arguments depend on the type given; the only type currently supported is 'code' (again, no quotes). It has only one argument: a number specifying the address. It can be base 10, 16 or 8 differentiated by the usual C prefixes. (Actually, this applies to any numeric argument in any command.) For the removal you can also specify -1 here, which removes all code breakpoints.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to directly manipulate the state of the calculator.&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://users.hszk.bme.hu/~pg429/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI Idea box]&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2006-09-02T21:03:26Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Scripting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is the latest addition to the TI [[Emulators|emulator]] 'family', still in development by Patai Gergely. This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
When interpreting keypresses for the calculators, PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key and so on.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Alt || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
The debug window is composed of separate modules, which show the state of the calculator from a certain aspect. Note that the components are tuned to the top left slot by default, and you have to change the slots manually in the layout editor if you want to examine a different slot.&lt;br /&gt;
&lt;br /&gt;
Some keys are global in the debugger, i.e. they will always have the same effect regardless of the module selected. These keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| F7 || Execute one instruction (or skip to the next interrupt when halted)&lt;br /&gt;
|-&lt;br /&gt;
| F8 || Step over the next instruction; the same as F7, except that CALL, DJNZ and repeat instructions (e.g. LDIR) are executed until either the program counter hits the subsequent instruction or 10000000 clock cycles elapse&lt;br /&gt;
|-&lt;br /&gt;
| F12 || Toggle the layout editor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Layout editor===&lt;br /&gt;
&lt;br /&gt;
This feature is still under development. Most importantly, the modified layouts are not saved. The default layout is designed not to conceal anything if the window is maximised at a resolution of at least 1024x768. The keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Add a component module after the selected one; the type of the component can be picked from a list&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Delete the subtree starting from the currently selected node&lt;br /&gt;
|-&lt;br /&gt;
| 0..3 || Set the slot of every node in the subtree starting from the selection to the number pressed (0 - top left, 1 - top right, 2 - bottom left, 3 - bottom right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
'''Disassembly'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Up/down arrows, Page Up/Down || Navigate&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Set/remove execution breakpoint at the cursor&lt;br /&gt;
|-&lt;br /&gt;
| G || Go to a specific address (enter in hexadecimal; press Escape instead of Enter to cancel)&lt;br /&gt;
|-&lt;br /&gt;
| P, S, B, D, H, X, Y || Go to the address pointed by PC, SP, BC, DE, HL, IX, IY, respectively&lt;br /&gt;
|-&lt;br /&gt;
| R || Run from cursor, i.e. set PC to the address of the instruction under the cursor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important: when a breakpoint is set, it affects all the slots at the same time for the time being!&lt;br /&gt;
&lt;br /&gt;
'''Memory view'''&lt;br /&gt;
&lt;br /&gt;
This is currently a read-only view of the 64K CPU address space. You can use the arrows and the page up/down keys to navigate. The G, P, S, B, D, H, X and Y keys have the same effect as on the disassembly pane.&lt;br /&gt;
&lt;br /&gt;
'''Registers'''&lt;br /&gt;
&lt;br /&gt;
The internal state of the Z80. Each value can be edited after left clicking; the values must be entered in hexadecimal. Editing can be concluded with Enter or by clicking elsewhere, and cancelled with Escape. Note that halt can have three values: 0 - normal operation, 1 - halt active, 2 - violating execution protection (if you attempt running any further, the calculator will be forced to reset).&lt;br /&gt;
&lt;br /&gt;
'''Variables'''&lt;br /&gt;
&lt;br /&gt;
A simple, read-only VAT viewer. It can be navigated using the up/down arrows, Page Up/Down and the mouse wheel as well.&lt;br /&gt;
&lt;br /&gt;
'''LCD data'''&lt;br /&gt;
&lt;br /&gt;
Graphical display of the contents of LCD memory. Note that all the 120 columns are shown here, even though all calculators emulated can only display 96. However, the memory is still there. The current X and Y addresses are shown by a bluish colour on the byte that will be accessed through the data port.&lt;br /&gt;
&lt;br /&gt;
'''Key-value modules'''&lt;br /&gt;
&lt;br /&gt;
The following modules are in this category: LCD physics, LCD software, Information, Time, Interrupts, Memory, Keyboard, Link. All of these display a list of characteristics. The right hand sides can be edited where the cursor turns into a hand. Editing can either mean a single click (e.g. interrupt frequencies or keyboard state) or bring up a text box for numeric values, where Escape can be used to cancel as usual.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
It is possible to run the emulator in a non-interactive mode through a pipe (communicating through stdio), just invoke the executable with the -p switch and redirect the input and the output. Do not try to run it with the keyboard on the input or a terminal on the output, because it will hang.&lt;br /&gt;
&lt;br /&gt;
Each command sent must be on a separate line. All of them emit at least a line containing 'OK' as a response in case of success. Error conditions are signaled by outputs starting with 'Error:'.&lt;br /&gt;
&lt;br /&gt;
The commands are the following:&lt;br /&gt;
&lt;br /&gt;
*send-file &amp;lt;slot&amp;gt; &amp;lt;file&amp;gt; - send a file to the specified slot (the same as drag and drop); don't quote the filename, it's read from the first non-space after the slot number till the end of the line (the slot number must be between 0 and 15 or 0x0 and 0xf)&lt;br /&gt;
&lt;br /&gt;
*activate-slot &amp;lt;slot&amp;gt; - select the current slot&lt;br /&gt;
&lt;br /&gt;
*reset-calc - reset the calc in the current slot (you might need to run a few million cc's after this before pressing on)&lt;br /&gt;
&lt;br /&gt;
*run &amp;lt;cycles&amp;gt; - run for the specified number of cycles (it should be a number between 1 and 2000000000); when debugging is enabled and execution stops on a breakpoint, there will be a line starting with 'Info:' output before the usual 'OK'&lt;br /&gt;
&lt;br /&gt;
*step &amp;lt;n&amp;gt; - execute n instructions ignoring the breakpoints, n defaults to 1 when omitted; the firing of a possibly masked timer during a halt counts as one instruction&lt;br /&gt;
   &lt;br /&gt;
*draw-screen-bw - dump LCD memory â€” 96*64 bytes, 0 for white and 255 for black; the raw data is preceded by a line that always contains two characters: the first is '1' if the calculator is powered, '0' otherwise, and the second is '1' if the LCD is powered, '0' if it isn't (so the image should be displayed only if this line says '11')&lt;br /&gt;
&lt;br /&gt;
*draw-screen-gs - dump greyscale screen (only updated 25 times per calculator second) â€” 96*64 bytes preceded by the same two-character line, same format but using the full range of values&lt;br /&gt;
&lt;br /&gt;
*key-down &amp;lt;key&amp;gt; - press key (calc key, so the argument is a token like '2nd', 'mode' etc.)&lt;br /&gt;
&lt;br /&gt;
*key-up &amp;lt;key&amp;gt; - release key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt; must be one of the tokens below:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || up || right || left || down&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;amp;nbsp; || clear || ^ || / || * || - || + || enter&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;amp;nbsp; || vars || tan || ) || 9 || 6 || 3 || (-)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || stat || prgm || cos || ( || 8 || 5 || 2 || .&lt;br /&gt;
|-&lt;br /&gt;
| 4 || x || matrx || sin || , || 7 || 4 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || alpha || math || x^-1 || x^2 || log || ln || sto || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || del || mode || 2nd || y= || window || zoom || trace || graph&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The on key is called 'on', surprisingly. You can also write 'apps' instead of 'matrx'.&lt;br /&gt;
&lt;br /&gt;
*dump-state &amp;lt;type&amp;gt; - obtain information about the internal state of the emulated hardware; &amp;lt;type&amp;gt; must be one of the following (without quotes): 'lcd physics', 'lcd software', 'model', 'time', 'interrupt', 'pager', 'keyboard', 'link', 'cpu', 'memory'. Except for the last two the format is the following after the initial 'OK': a line containing nothing but the number of subsequent lines, and a 'key: value' pair on each line. With 'cpu' it displays the registers with a 'reg=value' pair on each line, all in hex, while 'memory' is a dump of 65536 bytes as seen in the z80 address space with the current mapping mode&lt;br /&gt;
&lt;br /&gt;
*{set|remove}-breakpoint &amp;lt;type&amp;gt; &amp;lt;args&amp;gt; - add/remove a breakpoint; the arguments depend on the type given; the only type currently supported is 'code' (again, no quotes). It has only one argument: a number specifying the address. It can be base 10, 16 or 8 differentiated by the usual C prefixes. (Actually, this applies to any numeric argument in any command.) For the removal you can also specify -1 here, which removes all code breakpoints.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to directly manipulate the state of the calculator.&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://users.hszk.bme.hu/~pg429/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI Idea box]&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2006-09-02T21:01:55Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: Described debugger and scripting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is the latest addition to the TI [[Emulators|emulator]] 'family', still in development by Patai Gergely. This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
When interpreting keypresses for the calculators, PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key and so on.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Alt || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
The debug window is composed of separate modules, which show the state of the calculator from a certain aspect. Note that the components are tuned to the top left slot by default, and you have to change the slots manually in the layout editor if you want to examine a different slot.&lt;br /&gt;
&lt;br /&gt;
Some keys are global in the debugger, i.e. they will always have the same effect regardless of the module selected. These keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| F7 || Execute one instruction (or skip to the next interrupt when halted)&lt;br /&gt;
|-&lt;br /&gt;
| F8 || Step over the next instruction; the same as F7, except that CALL, DJNZ and repeat instructions (e.g. LDIR) are executed until either the program counter hits the subsequent instruction or 10000000 clock cycles elapse&lt;br /&gt;
|-&lt;br /&gt;
| F12 || Toggle the layout editor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Layout editor===&lt;br /&gt;
&lt;br /&gt;
This feature is still under development. Most importantly, the modified layouts are not saved. The default layout is designed not to conceal anything if the window is maximised at a resolution of at least 1024x768. The keys are the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Add a component module after the selected one; the type of the component can be picked from a list&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Delete the subtree starting from the currently selected node&lt;br /&gt;
|-&lt;br /&gt;
| 0..3 || Set the slot of every node in the subtree starting from the selection to the number pressed (0 - top left, 1 - top right, 2 - bottom left, 3 - bottom right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Modules===&lt;br /&gt;
&lt;br /&gt;
'''Disassembly'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Up/down arrows, Page Up/Down || Navigate&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Set/remove execution breakpoint at the cursor&lt;br /&gt;
|-&lt;br /&gt;
| G || Go to a specific address (enter in hexadecimal; press Escape instead of Enter to cancel)&lt;br /&gt;
|-&lt;br /&gt;
| P, S, B, D, H, X, Y || Go to the address pointed by PC, SP, BC, DE, HL, IX, IY, respectively&lt;br /&gt;
|-&lt;br /&gt;
| R || Run from cursor, i.e. set PC to the address of the instruction under the cursor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Important: when a breakpoint is set, it affects all the slots at the same time for the time being!&lt;br /&gt;
&lt;br /&gt;
'''Memory view'''&lt;br /&gt;
&lt;br /&gt;
This is currently a read-only view of the 64K CPU address space. You can use the arrows and the page up/down keys to navigate. The G, P, S, B, D, H, X and Y keys have the same effect as on the disassembly pane.&lt;br /&gt;
&lt;br /&gt;
'''Registers'''&lt;br /&gt;
&lt;br /&gt;
The internal state of the Z80. Each value can be edited after left clicking; the values must be entered in hexadecimal. Editing can be concluded with Enter or by clicking elsewhere, and cancelled with Escape. Note that halt can have three values: 0 - normal operation, 1 - halt active, 2 - violating execution protection (if you attempt running any further, the calculator will be forced to reset).&lt;br /&gt;
&lt;br /&gt;
'''Variables'''&lt;br /&gt;
&lt;br /&gt;
A simple, read-only VAT viewer. It can be navigated using the up/down arrows, Page Up/Down and the mouse wheel as well.&lt;br /&gt;
&lt;br /&gt;
'''LCD data'''&lt;br /&gt;
&lt;br /&gt;
Graphical display of the contents of LCD memory. Note that all the 120 columns are shown here, even though all calculators emulated can only display 96. However, the memory is still there. The current X and Y addresses are shown by a bluish colour on the byte that will be accessed through the data port.&lt;br /&gt;
&lt;br /&gt;
'''Key-value modules'''&lt;br /&gt;
&lt;br /&gt;
The following modules are in this category: LCD physics, LCD software, Information, Time, Interrupts, Memory, Keyboard, Link. All of these display a list of characteristics. The right hand sides can be edited where the cursor turns into a hand. Editing can either mean a single click (e.g. interrupt frequencies or keyboard state) or bring up a text box for numeric values, where Escape can be used to cancel as usual.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
It is possible to run the emulator in a non-interactive mode through a pipe (communicating through stdio), just invoke the executable with the -p switch and redirect the input and the output. Do not try to run it with the keyboard on the input or a terminal on the output, because it will hang.&lt;br /&gt;
&lt;br /&gt;
Each command sent must be on a separate line. All of them emit at least a line containing 'OK' as a response in case of success. Error conditions are signaled by outputs starting with 'Error:'.&lt;br /&gt;
&lt;br /&gt;
The commands are the following:&lt;br /&gt;
&lt;br /&gt;
*send-file &amp;lt;slot&amp;gt; &amp;lt;file&amp;gt; - send a file to the specified slot (the same as drag and drop); don't quote the filename, it's read from the first non-space after the slot number till the end of the line (the slot number must be between 0 and 15 or 0x0 and 0xf)&lt;br /&gt;
&lt;br /&gt;
*activate-slot &amp;lt;slot&amp;gt; - select the current slot&lt;br /&gt;
&lt;br /&gt;
*reset-calc - reset the calc in the current slot (you might need to run a few million cc's after this before pressing on)&lt;br /&gt;
&lt;br /&gt;
*run &amp;lt;cycles&amp;gt; - run for the specified number of cycles (it should be a number between 1 and 2000000000); when debugging is enabled and execution stops on a breakpoint, there will be a line starting with 'Info:' output before the usual 'OK'&lt;br /&gt;
&lt;br /&gt;
*step &amp;lt;n&amp;gt; - execute n instructions ignoring the breakpoints, n defaults to 1 when omitted; the firing of a possibly masked timer during a halt counts as one instruction&lt;br /&gt;
   &lt;br /&gt;
*draw-screen-bw - dump LCD memory -- 96*64 bytes, 0 for white and 255 for black; the raw data is preceded by a line that always contains two characters: the first is '1' if the calculator is powered, '0' otherwise, and the second is '1' if the LCD is powered, '0' if it isn't (so the image should be displayed only if this line says '11')&lt;br /&gt;
&lt;br /&gt;
*draw-screen-gs - dump greyscale screen (only updated 25 times per calculator second) -- 96*64 bytes, same format but using the full range of values&lt;br /&gt;
&lt;br /&gt;
*key-down &amp;lt;key&amp;gt; - press key (calc key, so the argument is a token like '2nd', 'mode' etc.)&lt;br /&gt;
&lt;br /&gt;
*key-up &amp;lt;key&amp;gt; - release key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt; must be one of the tokens below:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || up || right || left || down&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;amp;nbsp; || clear || ^ || / || * || - || + || enter&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;amp;nbsp; || vars || tan || ) || 9 || 6 || 3 || (-)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || stat || prgm || cos || ( || 8 || 5 || 2 || .&lt;br /&gt;
|-&lt;br /&gt;
| 4 || x || matrx || sin || , || 7 || 4 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 5 || alpha || math || x^-1 || x^2 || log || ln || sto || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 6 || del || mode || 2nd || y= || window || zoom || trace || graph&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The on key is called 'on', surprisingly. You can also write 'apps' instead of 'matrx'.&lt;br /&gt;
&lt;br /&gt;
*dump-state &amp;lt;type&amp;gt; - obtain information about the internal state of the emulated hardware; &amp;lt;type&amp;gt; must be one of the following (without quotes): 'lcd physics', 'lcd software', 'model', 'time', 'interrupt', 'pager', 'keyboard', 'link', 'cpu', 'memory'. Except for the last two the format is the following after the initial 'OK': a line containing nothing but the number of subsequent lines, and a 'key: value' pair on each line. With 'cpu' it displays the registers with a 'reg=value' pair on each line, all in hex, while 'memory' is a dump of 65536 bytes as seen in the z80 address space with the current mapping mode&lt;br /&gt;
&lt;br /&gt;
*{set|remove}-breakpoint &amp;lt;type&amp;gt; &amp;lt;args&amp;gt; - add/remove a breakpoint; the arguments depend on the type given; the only type currently supported is 'code' (again, no quotes). It has only one argument: a number specifying the address. It can be base 10, 16 or 8 differentiated by the usual C prefixes. (Actually, this applies to any numeric argument in any command.) For the removal you can also specify -1 here, which removes all code breakpoints.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to directly manipulate the state of the calculator.&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://users.hszk.bme.hu/~pg429/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI Idea box]&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI</id>
		<title>Emulators:PindurTI</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Emulators:PindurTI"/>
				<updated>2006-09-02T10:04:10Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: Major rewrite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PindurTI (commonly referred to as PTI) is the latest addition to the TI [[emulator]] 'family', still in development by Patai Gergely. This page contains the up-to-date documentation.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*Full support for 82 and 83. 83+ support isn't complete yet, but it's already the most accurate of all emulators.&lt;br /&gt;
*Raw virtual linking of any number of calculators.&lt;br /&gt;
*Built-in (animated) screenshotting ability.&lt;br /&gt;
*Debugger.&lt;br /&gt;
*Scripting for external tools (preliminary in the latest version), which is already used by [[LateNite]]&lt;br /&gt;
&lt;br /&gt;
If you have ideas you want to incorporate in the tool, you can submit your ideas at the [http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI idea box]. Repetitions and trivialities are frowned upon.&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
PindurTI requires no installation; it is a standalone executable you can put anywhere. It will only create a file called pti.conf in its working directory (which is by default the same as the one the executable is located in), so make sure this directory is not read-only for pindurti.exe.&lt;br /&gt;
&lt;br /&gt;
At the moment of writing PindurTI has no real graphical user interface (GUI) yet, only the absolute minimum required to use all the features. Here are the steps to get going:&lt;br /&gt;
&lt;br /&gt;
1. Start pindurti.exe. You will see any empty, fully cyan window. The four quarters of the window represent four slots where individual calculators can be run.&lt;br /&gt;
&lt;br /&gt;
2. Drag-and-drop a ROM image to one of the quarters, preferably the top left. The quarter chosen will turn grey for the most part, and four icons will appear above the grey area.&lt;br /&gt;
&lt;br /&gt;
3. Left click the grey part. This is the screen of the calculator, and the left click corresponds to the On key.&lt;br /&gt;
&lt;br /&gt;
4. You can drag and drop other ROM images to the other slots. You can switch between the slots by right clicking them. (Left clicking also activates the slot, but it also causes the On key to be pressed.)&lt;br /&gt;
&lt;br /&gt;
5. Files can be sent by dropping them to the appropriate slot. PTI uses silent linking, so the calculator must be on, somewhere in the TI-OS and ''not in receive mode'' in order for the transmission to succeed. You can also drop a group of files, they will be sent one after the other. Naturally, the file and the running ROM image must be for the same model, e.g. sending an 8xp file to a TI-82 won't work.&lt;br /&gt;
&lt;br /&gt;
'''Pressing calculator keys'''&lt;br /&gt;
&lt;br /&gt;
PTI always acts as if the layout was English, so if you use an alternative layout (e.g. AZERTY or Cyrillic), 'Q' still refers to the button next to the Tab key etc.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! PC key !! Calculator key&lt;br /&gt;
|-&lt;br /&gt;
| left mouse button || On&lt;br /&gt;
|-&lt;br /&gt;
| A..Z || the button that yields the corresponding letter if alpha is on, see below&lt;br /&gt;
|-&lt;br /&gt;
| Space || 0&lt;br /&gt;
|-&lt;br /&gt;
| arrows, 0..9, Enter, '.', ',', numpad +-/* || the corresponding calculator key&lt;br /&gt;
|-&lt;br /&gt;
| [ || (&lt;br /&gt;
|-&lt;br /&gt;
| ] || )&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Y=&lt;br /&gt;
|-&lt;br /&gt;
| F2 || Window&lt;br /&gt;
|-&lt;br /&gt;
| F3 || Zoom&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Trace&lt;br /&gt;
|-&lt;br /&gt;
| F5 || Graph&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Mode&lt;br /&gt;
|-&lt;br /&gt;
| Left Shift || 2nd&lt;br /&gt;
|-&lt;br /&gt;
| Left Control || Alpha&lt;br /&gt;
|-&lt;br /&gt;
| Right Shift || Clear&lt;br /&gt;
|-&lt;br /&gt;
| - || (-) (between the decimal point and Enter)&lt;br /&gt;
|-&lt;br /&gt;
| = || X,T,&amp;amp;theta;,''n''&lt;br /&gt;
|-&lt;br /&gt;
| Page Up || Matrx (82/83) or Apps (83+)&lt;br /&gt;
|-&lt;br /&gt;
| Page Down || Prgm&lt;br /&gt;
|-&lt;br /&gt;
| Insert || Vars&lt;br /&gt;
|-&lt;br /&gt;
| Delete || Del&lt;br /&gt;
|-&lt;br /&gt;
| Home || Math&lt;br /&gt;
|-&lt;br /&gt;
| End || Stat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Mapping of letter keys'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''A''' || Math || '''B''' || Matrx || '''C''' || Prgm || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''D''' || x&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; || '''E''' || Sin || '''F''' || Cos || '''G''' || Tan || '''H''' || ^&lt;br /&gt;
|-&lt;br /&gt;
| '''I''' || x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || '''J''' || , || '''K''' || ( || '''L''' || ) || '''M''' || Ã·&lt;br /&gt;
|-&lt;br /&gt;
| '''N''' || Log || '''O''' || 7 || '''P''' || 8 || '''Q''' || 9 || '''R''' || Ã—&lt;br /&gt;
|-&lt;br /&gt;
| '''S''' || Ln || '''T''' || 4 || '''U''' || 5 || '''V''' || 6 || '''W''' || -&lt;br /&gt;
|-&lt;br /&gt;
| '''X''' || Stoâ†’ || '''Y''' || 1 || '''Z''' || 2 || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other keys==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Key !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| Tab || Start crude (9 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| Alt || Start fine (25 fps) screenshot/Stop current screenshot&lt;br /&gt;
|-&lt;br /&gt;
| F9 || Reset calculator in active slot (simulates pulling batteries)&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Open debugger&lt;br /&gt;
|-&lt;br /&gt;
| F11 || Enable/disable warp mode (fastest possible emulation) of active slot&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that only crude screenshots are displayed properly everywhere. Fine screenshots are only shown at full speed by Firefox.&lt;br /&gt;
&lt;br /&gt;
==Additional functions==&lt;br /&gt;
&lt;br /&gt;
The icons above each calculator screen can be used for the following purposes by left clicking, from left to right:&lt;br /&gt;
&lt;br /&gt;
1. Pause/unpause&lt;br /&gt;
&lt;br /&gt;
2. Enable/disable warp mode&lt;br /&gt;
&lt;br /&gt;
3. Plug into a link hub; plug in two calculators to open a communication line between them. Connecting more than two calculators is not supported by the TI-OS. However, the CLAP linking library allows mass linking.&lt;br /&gt;
&lt;br /&gt;
4. Toggle inclusion in screenshotting. If no slot is selected, always the active one will be captured. This feature can be used to allow capturing a slot even if we activate another in the meantime (e.g. to save an animated cutscene while using another calculator) or to record multiplayer games.&lt;br /&gt;
&lt;br /&gt;
==Debugger==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/pindurti.exe Latest build of PindurTI]&lt;br /&gt;
&lt;br /&gt;
[http://users.hszk.bme.hu/~pg429/pindurti/changelog.txt Changelog]&lt;br /&gt;
&lt;br /&gt;
[http://www.hszk.bme.hu/~pg429/pindurti/features/ PindurTI Idea box]&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:OS:TIOS_Alternatives</id>
		<title>Talk:83Plus:OS:TIOS Alternatives</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:OS:TIOS_Alternatives"/>
				<updated>2006-03-27T21:11:01Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Vera = exokernel? */ should learn some English :s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nostalgy ==&lt;br /&gt;
Well, I was on the team for that, and as far as I knew it died. I've not touched my parts of the code for about two years now. I'd be willing to take it back up if it's going to go anywhere, but... I just haven't touched it in so long I'd probably want to start over, especially since I've learned some things since I started working on it. [[User:AndyJ|Andy Janata]] 10:31, 27 March 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Vera = exokernel? ==&lt;br /&gt;
&lt;br /&gt;
In regards to Vera: ''this architecture is very similar to that of an exokernel operating system''.  Having briefly read up on Vera, it doesn't seem to me to be an exokernel.  Even in its current form the operating system seems to do more than securely export hardware resources.  However, I'm not intimately familiar with the project, so I'm leaving some time for someone to correct me before I change the text.  --[[User:Dan Englender|Dan Englender]] 12:25, 27 March 2006 (PST)&lt;br /&gt;
:Vera seems to have died in her cradle... Anyway, the idea is to provide a filesystem (possibly integrated with memory management), a plugin system that would enable user code to extend the assembly interface, user program execution (naturally) and maybe a common link protocol and a customisable ISR at $0038. Everything above that, including the UI and maths capabilities is not an integral part of the system. [[User:CoBB|CoBB]] 13:09, 27 March 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:OS:TIOS_Alternatives</id>
		<title>Talk:83Plus:OS:TIOS Alternatives</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:OS:TIOS_Alternatives"/>
				<updated>2006-03-27T21:09:14Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nostalgy ==&lt;br /&gt;
Well, I was on the team for that, and as far as I knew it died. I've not touched my parts of the code for about two years now. I'd be willing to take it back up if it's going to go anywhere, but... I just haven't touched it in so long I'd probably want to start over, especially since I've learned some things since I started working on it. [[User:AndyJ|Andy Janata]] 10:31, 27 March 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Vera = exokernel? ==&lt;br /&gt;
&lt;br /&gt;
In regards to Vera: ''this architecture is very similar to that of an exokernel operating system''.  Having briefly read up on Vera, it doesn't seem to me to be an exokernel.  Even in its current form the operating system seems to do more than securely export hardware resources.  However, I'm not intimately familiar with the project, so I'm leaving some time for someone to correct me before I change the text.  --[[User:Dan Englender|Dan Englender]] 12:25, 27 March 2006 (PST)&lt;br /&gt;
:Vera seems to have died in her cradle... Anyway, the idea is to provide a filesystem (possibly integrated with memory management), a plugin system that would be enable user code to extend the assembly interface, user program execution (naturally) and maybe a common link protocol and a customisable ISR at $0038. Everything above that, including the UI and maths capabilities is not an integral part of the system. [[User:CoBB|CoBB]] 13:09, 27 March 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User_talk:CoBB</id>
		<title>User talk:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User_talk:CoBB"/>
				<updated>2006-03-16T10:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Very nice job. Let us know when it's &amp;quot;done&amp;quot; then we can move it into the main namespace. :) [[User:AndyJ|Andy Janata]] 04:28, 1 Mar 2006 (PST)&lt;br /&gt;
:It is finished now, although someone else should proofread it for safety. It is formatted not to break lines at 1024x768. [[User:CoBB|CoBB]] 00:54, 7 Mar 2006 (PST)&lt;br /&gt;
::The only (minor) complaint I see is that in, for example,  &amp;quot;ld Q,A 	 00qq0001 alalalal ahahahah&amp;quot;, the a1a1a1a1 looks like A one, A one, A one, A one, which confused me until I noticed that the number one and the letter L are nearly identical in the default fixed width font (for my browser anyway).  In general though, I'd say it's in good shape to transfer over to the instruction set page. --[[User:Dan Englender|Dan Englender]] 22:41, 15 March 2006 (PST)&lt;br /&gt;
:::Indeed, they look identical, but I guess it's quite obvious if you realise that A is a 16-bit constant. Okay then, I'm handing it over, do as you wish. [[User:CoBB|CoBB]] 02:00, 16 March 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Ports:2E</id>
		<title>Talk:83Plus:Ports:2E</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Ports:2E"/>
				<updated>2006-03-07T15:29:24Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: a pat on the shoulder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay I did more research into port 2e, it does not affect the CPU clock speed at all. It still runs at either 6mhz or 15mhz. The effects of this port makes it appear that the clock has slowed down, rather reads and writes to the memory have slowed. Please bare with me, it's rather difficult to explain.&lt;br /&gt;
&lt;br /&gt;
On whim I decided to test the accuracy of opcodes tstates. I set up the SE timers to run on the CPU clock. Between setting the clock and reading the clock I would be able to calculate the tstates of any given opcode. Here is the code.&lt;br /&gt;
&lt;br /&gt;
    xor a          ;clear&lt;br /&gt;
    out ($30),a&lt;br /&gt;
    out ($31),a&lt;br /&gt;
    ld a,$80       ;cpu clock&lt;br /&gt;
    out ($30),a&lt;br /&gt;
    xor a          ;no looping, no interrupt&lt;br /&gt;
    out ($31),a&lt;br /&gt;
    ld a,100       ;countdown from 100.&lt;br /&gt;
    out ($32),a&lt;br /&gt;
    ;---OP CODES HERE!!!---&lt;br /&gt;
    in a,($32)     ;read ticks since write&lt;br /&gt;
    ld l,a&lt;br /&gt;
    ld a,90&lt;br /&gt;
    sub l          ;from writing to reading is 10 clocks&lt;br /&gt;
    ld l,a         ;I adjust so the output gives me only the tstates of the opcodes&lt;br /&gt;
    ld h,0&lt;br /&gt;
    bcall(_disphl)&lt;br /&gt;
&lt;br /&gt;
The code above simply display the number of tstates in the given space. 'Nothing' renders an answer of 0, NOP renders 4, ld a,($8000) renders 13, jp c,$ when NO CARRY renders 10. I've tested enough to assume that this working correctly.&lt;br /&gt;
&lt;br /&gt;
I will state my findings based on my inputs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the 83+SE the default value of port 2E is 44. The default value of port 29 is 14. Port 2E and the LCD delay ports are linked.  I used only a range of a few opcodes on each test. They were:&lt;br /&gt;
&lt;br /&gt;
    ld (ix+0),0            ;ix=ramaddress&lt;br /&gt;
    ld (ramaddress),a&lt;br /&gt;
    ld a,(ramaddress)&lt;br /&gt;
    ldi                    ;hl=ramaddress, de=ramaddress, bc=1&lt;br /&gt;
    out (1),a              ;a=100&lt;br /&gt;
    &amp;quot;NULL&amp;quot;                 ;NO OPCODE!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a table of the tested opcodes, and some of the trials. I excluded most due to the fact they did not show relevant info. The values under ports 29 and 2e are the contents of the ports at given trial. the values under the opcodes are the return TStates. NOTE: Although no opcode should always return a value of 0, the difference is probably because of writing to port 32 prior and reading port 32 after. So take that into consideration when you look at the other tstates in the given trial.&lt;br /&gt;
&lt;br /&gt;
{| WIDTH=590 BORDER=1 CELLPADDING=2 CELLSPACING=2 STYLE=&amp;quot;page-break-before: always&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=27 | &amp;lt;P ALIGN=CENTER&amp;gt;Port 29&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;Port 2E&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;ld (ix+0),0&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;ld (*),a&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;ld a,(*)&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;ldi&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;out (1),a&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;NO OPCODE&amp;lt;/P&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=31 | &amp;lt;P ALIGN=CENTER&amp;gt;14&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;44&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;19&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;13&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;13&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;16&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;11&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;0&amp;lt;/P&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=31 | &amp;lt;P ALIGN=CENTER&amp;gt;14&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;CF&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;19&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;13&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;13&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;16&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;11&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;0&amp;lt;/P&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=31 | &amp;lt;P ALIGN=CENTER&amp;gt;16&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;44&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;20&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;14&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;13&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;17&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;11&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;0&amp;lt;/P&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=31 | &amp;lt;P ALIGN=CENTER&amp;gt;16&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;54&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;23&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;16&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;15&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;20&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;13&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;1&amp;lt;/P&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=31 | &amp;lt;P ALIGN=CENTER&amp;gt;16&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;64&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;23&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;17&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;17&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;19&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;13&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;1&amp;lt;/P&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=31 | &amp;lt;P ALIGN=CENTER&amp;gt;16&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;75&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;26&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;19&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;19&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;22&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;15&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;2&amp;lt;/P&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WIDTH=55 HEIGHT=30 | &amp;lt;P ALIGN=CENTER&amp;gt;17&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=55 | &amp;lt;P ALIGN=CENTER&amp;gt;FF&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;26&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;19&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;19&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;22&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=75 | &amp;lt;P ALIGN=CENTER&amp;gt;15&amp;lt;/P&amp;gt;&lt;br /&gt;
| WIDTH=105 | &amp;lt;P ALIGN=CENTER&amp;gt;2&amp;lt;/P&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When bit 1 of port 29 is set and 2e is default, all writes to the ram take 1 extra tstate per byte.&lt;br /&gt;
&lt;br /&gt;
When bit 1 of port 29 is set and 2e contains 74, all  reads and writes to the ram take 1 extras tstate per bytes.&lt;br /&gt;
&lt;br /&gt;
The other information on seems rather confusing...&lt;br /&gt;
&lt;br /&gt;
Also my test only occurred on an 83+SE, at 6mhz, and all other ports at default. I made no tests for the 84+SE yet. Also I'd like to note that i believe timers based on the cpu clock are correct, I timed these instructions be hand to verify that. Finally all code occurred in the ram, as did reads and writes.&lt;br /&gt;
&lt;br /&gt;
So I post this on the discussion page due to the fact I lack a certain bit of knowledge on how memory is access on this system. What exactly goes on between the micro controller and the cpu? (though the SE cpu is in the micro controller) Is there a memory clock or is it based on the cpu clocks? I really don't the info to explain the effects when port 2e contains 54 or 64. I'd hope some one else can shed some more light on the subject.&lt;br /&gt;
&lt;br /&gt;
....sigh... I have a feeling that I am the only one in the world that would actually care about this.--[[User:Jim e|Jim e]] 05:02, 7 Mar 2006 (PST)&lt;br /&gt;
:Just remember that someone has to implement all this, and that someone wouldn't want to backtrack after realising that the implementation is based on a fundamentally wrong model. ;) [[User:CoBB|CoBB]] 07:29, 7 Mar 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User_talk:CoBB</id>
		<title>User talk:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User_talk:CoBB"/>
				<updated>2006-03-07T08:54:54Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Very nice job. Let us know when it's &amp;quot;done&amp;quot; then we can move it into the main namespace. :) [[User:AndyJ|Andy Janata]] 04:28, 1 Mar 2006 (PST)&lt;br /&gt;
:It is finished now, although someone else should proofread it for safety. It is formatted not to break lines at 1024x768. [[User:CoBB|CoBB]] 00:54, 7 Mar 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User_talk:CoBB</id>
		<title>User talk:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User_talk:CoBB"/>
				<updated>2006-03-07T08:53:03Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Very nice job. Let us know when it's &amp;quot;done&amp;quot; then we can move it into the main namespace. :) [[User:AndyJ|Andy Janata]] 04:28, 1 Mar 2006 (PST)&lt;br /&gt;
:It is finished now, although someone else should proofread it for safety. [[User:CoBB|CoBB]] 00:53, 7 Mar 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-07T08:50:20Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R, xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J, xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N, xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl), xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D), xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || tmp := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| rla || &amp;lt;tt&amp;gt;00010111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.7, a := [a &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl R || &amp;lt;tt&amp;gt;11001011 00010rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.7, R := [R &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (hl) || &amp;lt;tt&amp;gt;11001011 00010110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rlca || &amp;lt;tt&amp;gt;00000111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc R || &amp;lt;tt&amp;gt;11001011 00000rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (hl) || &amp;lt;tt&amp;gt;11001011 00000110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rld || &amp;lt;tt&amp;gt;11101101 01101111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) &amp;lt;&amp;lt; 4] + [a AND 0x0f], (hl) := tmp,&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp &amp;gt;&amp;gt; 8] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rra || &amp;lt;tt&amp;gt;00011111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr R || &amp;lt;tt&amp;gt;11001011 00011rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (hl) || &amp;lt;tt&amp;gt;11001011 00011110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrca || &amp;lt;tt&amp;gt;00001111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc R || &amp;lt;tt&amp;gt;11001011 00001rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (hl) || &amp;lt;tt&amp;gt;11001011 00001110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := [(hl) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrd || &amp;lt;tt&amp;gt;11101101 01100111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := (hl),&amp;lt;br&amp;gt;(hl) := [tmp &amp;gt;&amp;gt; 4] + [[a AND 0x0f] &amp;lt;&amp;lt; 4],&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp AND 0x0f] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rst S || &amp;lt;tt&amp;gt;11sss111&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := S&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,R || &amp;lt;tt&amp;gt;10011rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,J || &amp;lt;tt&amp;gt;11i11101 1001110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,N || &amp;lt;tt&amp;gt;11011110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(hl) || &amp;lt;tt&amp;gt;10011110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10011110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq0010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 1 || + || hl -= Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| scf || &amp;lt;tt&amp;gt;00110111&amp;lt;/tt&amp;gt; || 4 || - || - || A || 0 || A || - || 0 || 1 || nothing else&lt;br /&gt;
|-&lt;br /&gt;
| set B,R || &amp;lt;tt&amp;gt;11001011 11bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(hl) || &amp;lt;tt&amp;gt;11001011 11bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| sla R || &amp;lt;tt&amp;gt;11001011 00100rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := R &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (hl) || &amp;lt;tt&amp;gt;11001011 00100110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := (hl) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sra R || &amp;lt;tt&amp;gt;11001011 00101rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1, R.7 := R.6&lt;br /&gt;
|-&lt;br /&gt;
| sra (hl) || &amp;lt;tt&amp;gt;11001011 00101110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1, (hl).7 := (hl).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := (I+D) &amp;gt;&amp;gt; 1, (I+D).7 := (I+D).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;tmp := (I+D) &amp;gt;&amp;gt; 1, tmp.7 := tmp.6&amp;lt;br&amp;gt;(I+D) := R := tmp&lt;br /&gt;
|-&lt;br /&gt;
| sll R || &amp;lt;tt&amp;gt;11001011 00110rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (hl) || &amp;lt;tt&amp;gt;11001011 00110110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| srl R || &amp;lt;tt&amp;gt;11001011 00111rrr&amp;lt;/tt&amp;gt; || 8 || 0 || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (hl) || &amp;lt;tt&amp;gt;11001011 00111110&amp;lt;/tt&amp;gt; || 15 || 0 || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111110&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111rrr&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := R := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sub R || &amp;lt;tt&amp;gt;10010rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R&lt;br /&gt;
|-&lt;br /&gt;
| sub J || &amp;lt;tt&amp;gt;11i11101 1001010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J&lt;br /&gt;
|-&lt;br /&gt;
| sub N || &amp;lt;tt&amp;gt;11010110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N&lt;br /&gt;
|-&lt;br /&gt;
| sub (hl) || &amp;lt;tt&amp;gt;10010110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl)&lt;br /&gt;
|-&lt;br /&gt;
| sub (I+D) || &amp;lt;tt&amp;gt;11i11101 10010110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| xor R || &amp;lt;tt&amp;gt;10101rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR R&lt;br /&gt;
|-&lt;br /&gt;
| xor J || &amp;lt;tt&amp;gt;11i11101 1010110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR J&lt;br /&gt;
|-&lt;br /&gt;
| xor N || &amp;lt;tt&amp;gt;11101110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR N&lt;br /&gt;
|-&lt;br /&gt;
| xor (hl) || &amp;lt;tt&amp;gt;10101110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| xor (I+D) || &amp;lt;tt&amp;gt;11i11101 10101110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (I+D)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|-&lt;br /&gt;
| S || Restart address: 0x00, 0x08,..., 0x38 || sss = 000, 001,..., 111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags', otherwise by the only non-single-bit operation):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;br /&gt;
* memptr = an internal 16-bit register connected to 16-bit operations&lt;br /&gt;
* tmp, tmp2 = temporary storage whose value is thrown away after each instruction&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-07T08:49:01Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Flags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R, xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J, xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N, xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl), xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D), xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || tmp := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| rla || &amp;lt;tt&amp;gt;00010111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.7, a := [a &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl R || &amp;lt;tt&amp;gt;11001011 00010rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.7, R := [R &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (hl) || &amp;lt;tt&amp;gt;11001011 00010110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rlca || &amp;lt;tt&amp;gt;00000111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc R || &amp;lt;tt&amp;gt;11001011 00000rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (hl) || &amp;lt;tt&amp;gt;11001011 00000110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rld || &amp;lt;tt&amp;gt;11101101 01101111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) &amp;lt;&amp;lt; 4] + [a AND 0x0f], (hl) := tmp,&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp &amp;gt;&amp;gt; 8] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rra || &amp;lt;tt&amp;gt;00011111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr R || &amp;lt;tt&amp;gt;11001011 00011rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (hl) || &amp;lt;tt&amp;gt;11001011 00011110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrca || &amp;lt;tt&amp;gt;00001111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc R || &amp;lt;tt&amp;gt;11001011 00001rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (hl) || &amp;lt;tt&amp;gt;11001011 00001110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := [(hl) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrd || &amp;lt;tt&amp;gt;11101101 01100111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := (hl),&amp;lt;br&amp;gt;(hl) := [tmp &amp;gt;&amp;gt; 4] + [[a AND 0x0f] &amp;lt;&amp;lt; 4],&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp AND 0x0f] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rst S || &amp;lt;tt&amp;gt;11sss111&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := S&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,R || &amp;lt;tt&amp;gt;10011rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,J || &amp;lt;tt&amp;gt;11i11101 1001110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,N || &amp;lt;tt&amp;gt;11011110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(hl) || &amp;lt;tt&amp;gt;10011110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10011110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq0010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 1 || + || hl -= Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| scf || &amp;lt;tt&amp;gt;00110111&amp;lt;/tt&amp;gt; || 4 || - || - || A || 0 || A || - || 0 || 1 || nothing else&lt;br /&gt;
|-&lt;br /&gt;
| set B,R || &amp;lt;tt&amp;gt;11001011 11bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(hl) || &amp;lt;tt&amp;gt;11001011 11bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| sla R || &amp;lt;tt&amp;gt;11001011 00100rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := R &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (hl) || &amp;lt;tt&amp;gt;11001011 00100110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := (hl) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sra R || &amp;lt;tt&amp;gt;11001011 00101rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1, R.7 := R.6&lt;br /&gt;
|-&lt;br /&gt;
| sra (hl) || &amp;lt;tt&amp;gt;11001011 00101110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1, (hl).7 := (hl).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := (I+D) &amp;gt;&amp;gt; 1, (I+D).7 := (I+D).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;tmp := (I+D) &amp;gt;&amp;gt; 1, tmp.7 := tmp.6&amp;lt;br&amp;gt;(I+D) := R := tmp&lt;br /&gt;
|-&lt;br /&gt;
| sll R || &amp;lt;tt&amp;gt;11001011 00110rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (hl) || &amp;lt;tt&amp;gt;11001011 00110110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| srl R || &amp;lt;tt&amp;gt;11001011 00111rrr&amp;lt;/tt&amp;gt; || 8 || 0 || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (hl) || &amp;lt;tt&amp;gt;11001011 00111110&amp;lt;/tt&amp;gt; || 15 || 0 || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111110&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111rrr&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := R := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sub R || &amp;lt;tt&amp;gt;10010rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R&lt;br /&gt;
|-&lt;br /&gt;
| sub J || &amp;lt;tt&amp;gt;11i11101 1001010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J&lt;br /&gt;
|-&lt;br /&gt;
| sub N || &amp;lt;tt&amp;gt;11010110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N&lt;br /&gt;
|-&lt;br /&gt;
| sub (hl) || &amp;lt;tt&amp;gt;10010110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl)&lt;br /&gt;
|-&lt;br /&gt;
| sub (I+D) || &amp;lt;tt&amp;gt;11i11101 10010110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| xor R || &amp;lt;tt&amp;gt;10101rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR R&lt;br /&gt;
|-&lt;br /&gt;
| xor J || &amp;lt;tt&amp;gt;11i11101 1010110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR J&lt;br /&gt;
|-&lt;br /&gt;
| xor N || &amp;lt;tt&amp;gt;11101110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR N&lt;br /&gt;
|-&lt;br /&gt;
| xor (hl) || &amp;lt;tt&amp;gt;10101110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| xor (I+D) || &amp;lt;tt&amp;gt;11i11101 10101110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (I+D)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|-&lt;br /&gt;
| S || Restart address: 0x00, 0x08,..., 0x38 || sss = 000, 001,..., 111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags', otherwise by the only non-single-bit operation):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;br /&gt;
* memptr = an internal 16-bit register connected to 16-bit operations&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-07T08:48:00Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R, xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J, xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N, xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl), xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D), xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || tmp := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| rla || &amp;lt;tt&amp;gt;00010111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.7, a := [a &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl R || &amp;lt;tt&amp;gt;11001011 00010rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.7, R := [R &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (hl) || &amp;lt;tt&amp;gt;11001011 00010110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rlca || &amp;lt;tt&amp;gt;00000111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc R || &amp;lt;tt&amp;gt;11001011 00000rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (hl) || &amp;lt;tt&amp;gt;11001011 00000110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rld || &amp;lt;tt&amp;gt;11101101 01101111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) &amp;lt;&amp;lt; 4] + [a AND 0x0f], (hl) := tmp,&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp &amp;gt;&amp;gt; 8] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rra || &amp;lt;tt&amp;gt;00011111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr R || &amp;lt;tt&amp;gt;11001011 00011rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (hl) || &amp;lt;tt&amp;gt;11001011 00011110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrca || &amp;lt;tt&amp;gt;00001111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc R || &amp;lt;tt&amp;gt;11001011 00001rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (hl) || &amp;lt;tt&amp;gt;11001011 00001110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := [(hl) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrd || &amp;lt;tt&amp;gt;11101101 01100111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := (hl),&amp;lt;br&amp;gt;(hl) := [tmp &amp;gt;&amp;gt; 4] + [[a AND 0x0f] &amp;lt;&amp;lt; 4],&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp AND 0x0f] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rst S || &amp;lt;tt&amp;gt;11sss111&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := S&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,R || &amp;lt;tt&amp;gt;10011rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,J || &amp;lt;tt&amp;gt;11i11101 1001110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,N || &amp;lt;tt&amp;gt;11011110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(hl) || &amp;lt;tt&amp;gt;10011110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10011110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq0010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 1 || + || hl -= Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| scf || &amp;lt;tt&amp;gt;00110111&amp;lt;/tt&amp;gt; || 4 || - || - || A || 0 || A || - || 0 || 1 || nothing else&lt;br /&gt;
|-&lt;br /&gt;
| set B,R || &amp;lt;tt&amp;gt;11001011 11bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(hl) || &amp;lt;tt&amp;gt;11001011 11bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| sla R || &amp;lt;tt&amp;gt;11001011 00100rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := R &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (hl) || &amp;lt;tt&amp;gt;11001011 00100110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := (hl) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sra R || &amp;lt;tt&amp;gt;11001011 00101rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1, R.7 := R.6&lt;br /&gt;
|-&lt;br /&gt;
| sra (hl) || &amp;lt;tt&amp;gt;11001011 00101110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1, (hl).7 := (hl).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := (I+D) &amp;gt;&amp;gt; 1, (I+D).7 := (I+D).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;tmp := (I+D) &amp;gt;&amp;gt; 1, tmp.7 := tmp.6&amp;lt;br&amp;gt;(I+D) := R := tmp&lt;br /&gt;
|-&lt;br /&gt;
| sll R || &amp;lt;tt&amp;gt;11001011 00110rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (hl) || &amp;lt;tt&amp;gt;11001011 00110110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| srl R || &amp;lt;tt&amp;gt;11001011 00111rrr&amp;lt;/tt&amp;gt; || 8 || 0 || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (hl) || &amp;lt;tt&amp;gt;11001011 00111110&amp;lt;/tt&amp;gt; || 15 || 0 || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111110&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111rrr&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := R := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sub R || &amp;lt;tt&amp;gt;10010rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R&lt;br /&gt;
|-&lt;br /&gt;
| sub J || &amp;lt;tt&amp;gt;11i11101 1001010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J&lt;br /&gt;
|-&lt;br /&gt;
| sub N || &amp;lt;tt&amp;gt;11010110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N&lt;br /&gt;
|-&lt;br /&gt;
| sub (hl) || &amp;lt;tt&amp;gt;10010110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl)&lt;br /&gt;
|-&lt;br /&gt;
| sub (I+D) || &amp;lt;tt&amp;gt;11i11101 10010110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| xor R || &amp;lt;tt&amp;gt;10101rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR R&lt;br /&gt;
|-&lt;br /&gt;
| xor J || &amp;lt;tt&amp;gt;11i11101 1010110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR J&lt;br /&gt;
|-&lt;br /&gt;
| xor N || &amp;lt;tt&amp;gt;11101110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR N&lt;br /&gt;
|-&lt;br /&gt;
| xor (hl) || &amp;lt;tt&amp;gt;10101110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| xor (I+D) || &amp;lt;tt&amp;gt;11i11101 10101110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (I+D)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|-&lt;br /&gt;
| S || Restart address: 0x00, 0x08,..., 0x38 || sss = 000, 001,..., 111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;br /&gt;
* memptr = an internal 16-bit register connected to 16-bit operations&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-07T08:47:12Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B],&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags, xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J, xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N, xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl), xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D),&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || tmp := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| rla || &amp;lt;tt&amp;gt;00010111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.7, a := [a &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl R || &amp;lt;tt&amp;gt;11001011 00010rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.7, R := [R &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (hl) || &amp;lt;tt&amp;gt;11001011 00010110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rlca || &amp;lt;tt&amp;gt;00000111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc R || &amp;lt;tt&amp;gt;11001011 00000rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (hl) || &amp;lt;tt&amp;gt;11001011 00000110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rld || &amp;lt;tt&amp;gt;11101101 01101111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) &amp;lt;&amp;lt; 4] + [a AND 0x0f], (hl) := tmp,&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp &amp;gt;&amp;gt; 8] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rra || &amp;lt;tt&amp;gt;00011111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr R || &amp;lt;tt&amp;gt;11001011 00011rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (hl) || &amp;lt;tt&amp;gt;11001011 00011110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrca || &amp;lt;tt&amp;gt;00001111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc R || &amp;lt;tt&amp;gt;11001011 00001rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (hl) || &amp;lt;tt&amp;gt;11001011 00001110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := [(hl) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrd || &amp;lt;tt&amp;gt;11101101 01100111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := (hl),&amp;lt;br&amp;gt;(hl) := [tmp &amp;gt;&amp;gt; 4] + [[a AND 0x0f] &amp;lt;&amp;lt; 4],&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp AND 0x0f] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rst S || &amp;lt;tt&amp;gt;11sss111&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := S&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,R || &amp;lt;tt&amp;gt;10011rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,J || &amp;lt;tt&amp;gt;11i11101 1001110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,N || &amp;lt;tt&amp;gt;11011110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(hl) || &amp;lt;tt&amp;gt;10011110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10011110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq0010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 1 || + || hl -= Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| scf || &amp;lt;tt&amp;gt;00110111&amp;lt;/tt&amp;gt; || 4 || - || - || A || 0 || A || - || 0 || 1 || nothing else&lt;br /&gt;
|-&lt;br /&gt;
| set B,R || &amp;lt;tt&amp;gt;11001011 11bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(hl) || &amp;lt;tt&amp;gt;11001011 11bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| sla R || &amp;lt;tt&amp;gt;11001011 00100rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := R &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (hl) || &amp;lt;tt&amp;gt;11001011 00100110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := (hl) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sra R || &amp;lt;tt&amp;gt;11001011 00101rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1, R.7 := R.6&lt;br /&gt;
|-&lt;br /&gt;
| sra (hl) || &amp;lt;tt&amp;gt;11001011 00101110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1, (hl).7 := (hl).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := (I+D) &amp;gt;&amp;gt; 1, (I+D).7 := (I+D).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;tmp := (I+D) &amp;gt;&amp;gt; 1, tmp.7 := tmp.6&amp;lt;br&amp;gt;(I+D) := R := tmp&lt;br /&gt;
|-&lt;br /&gt;
| sll R || &amp;lt;tt&amp;gt;11001011 00110rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (hl) || &amp;lt;tt&amp;gt;11001011 00110110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| srl R || &amp;lt;tt&amp;gt;11001011 00111rrr&amp;lt;/tt&amp;gt; || 8 || 0 || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (hl) || &amp;lt;tt&amp;gt;11001011 00111110&amp;lt;/tt&amp;gt; || 15 || 0 || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111110&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111rrr&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := R := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sub R || &amp;lt;tt&amp;gt;10010rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R&lt;br /&gt;
|-&lt;br /&gt;
| sub J || &amp;lt;tt&amp;gt;11i11101 1001010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J&lt;br /&gt;
|-&lt;br /&gt;
| sub N || &amp;lt;tt&amp;gt;11010110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N&lt;br /&gt;
|-&lt;br /&gt;
| sub (hl) || &amp;lt;tt&amp;gt;10010110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl)&lt;br /&gt;
|-&lt;br /&gt;
| sub (I+D) || &amp;lt;tt&amp;gt;11i11101 10010110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| xor R || &amp;lt;tt&amp;gt;10101rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR R&lt;br /&gt;
|-&lt;br /&gt;
| xor J || &amp;lt;tt&amp;gt;11i11101 1010110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR J&lt;br /&gt;
|-&lt;br /&gt;
| xor N || &amp;lt;tt&amp;gt;11101110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR N&lt;br /&gt;
|-&lt;br /&gt;
| xor (hl) || &amp;lt;tt&amp;gt;10101110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| xor (I+D) || &amp;lt;tt&amp;gt;11i11101 10101110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (I+D)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|-&lt;br /&gt;
| S || Restart address: 0x00, 0x08,..., 0x38 || sss = 000, 001,..., 111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;br /&gt;
* memptr = an internal 16-bit register connected to 16-bit operations&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-07T08:43:44Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags, xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags, xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags, xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags, xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| rla || &amp;lt;tt&amp;gt;00010111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.7, a := [a &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl R || &amp;lt;tt&amp;gt;11001011 00010rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.7, R := [R &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (hl) || &amp;lt;tt&amp;gt;11001011 00010110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + ocf&lt;br /&gt;
|-&lt;br /&gt;
| rlca || &amp;lt;tt&amp;gt;00000111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc R || &amp;lt;tt&amp;gt;11001011 00000rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (hl) || &amp;lt;tt&amp;gt;11001011 00000110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + cf&lt;br /&gt;
|-&lt;br /&gt;
| rld || &amp;lt;tt&amp;gt;11101101 01101111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) &amp;lt;&amp;lt; 4] + [a AND 0x0f], (hl) := tmp,&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp &amp;gt;&amp;gt; 8] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rra || &amp;lt;tt&amp;gt;00011111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr R || &amp;lt;tt&amp;gt;11001011 00011rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (hl) || &amp;lt;tt&amp;gt;11001011 00011110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrca || &amp;lt;tt&amp;gt;00001111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc R || &amp;lt;tt&amp;gt;11001011 00001rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (hl) || &amp;lt;tt&amp;gt;11001011 00001110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := [(hl) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7]&lt;br /&gt;
|-&lt;br /&gt;
| rrd || &amp;lt;tt&amp;gt;11101101 01100111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := (hl),&amp;lt;br&amp;gt;(hl) := [tmp &amp;gt;&amp;gt; 4] + [[a AND 0x0f] &amp;lt;&amp;lt; 4],&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp AND 0x0f] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rst S || &amp;lt;tt&amp;gt;11sss111&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := S&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,R || &amp;lt;tt&amp;gt;10011rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,J || &amp;lt;tt&amp;gt;11i11101 1001110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,N || &amp;lt;tt&amp;gt;11011110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(hl) || &amp;lt;tt&amp;gt;10011110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10011110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq0010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 1 || + || hl -= Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| scf || &amp;lt;tt&amp;gt;00110111&amp;lt;/tt&amp;gt; || 4 || - || - || A || 0 || A || - || 0 || 1 || nothing else&lt;br /&gt;
|-&lt;br /&gt;
| set B,R || &amp;lt;tt&amp;gt;11001011 11bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(hl) || &amp;lt;tt&amp;gt;11001011 11bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| sla R || &amp;lt;tt&amp;gt;11001011 00100rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := R &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (hl) || &amp;lt;tt&amp;gt;11001011 00100110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := (hl) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sla (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00100rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := (I+D) &amp;lt;&amp;lt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sra R || &amp;lt;tt&amp;gt;11001011 00101rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1, R.7 := R.6&lt;br /&gt;
|-&lt;br /&gt;
| sra (hl) || &amp;lt;tt&amp;gt;11001011 00101110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1, (hl).7 := (hl).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := (I+D) &amp;gt;&amp;gt; 1, (I+D).7 := (I+D).6&lt;br /&gt;
|-&lt;br /&gt;
| sra (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00101rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;tmp := (I+D) &amp;gt;&amp;gt; 1, tmp.7 := tmp.6&amp;lt;br&amp;gt;(I+D) := R := tmp&lt;br /&gt;
|-&lt;br /&gt;
| sll R || &amp;lt;tt&amp;gt;11001011 00110rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (hl) || &amp;lt;tt&amp;gt;11001011 00110110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| sll (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00110rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7, (I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + 1&lt;br /&gt;
|-&lt;br /&gt;
| srl R || &amp;lt;tt&amp;gt;11001011 00111rrr&amp;lt;/tt&amp;gt; || 8 || 0 || + || + || 0 || + || P || 0 || X || cf := R.0, R := R &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (hl) || &amp;lt;tt&amp;gt;11001011 00111110&amp;lt;/tt&amp;gt; || 15 || 0 || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111110&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| srl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00111rrr&amp;lt;/tt&amp;gt; || 23 || 0 || + || + || 0 || + || P || 0 || X || cf := (I+D).0, (I+D) := R := (I+D) &amp;gt;&amp;gt; 1&lt;br /&gt;
|-&lt;br /&gt;
| sub R || &amp;lt;tt&amp;gt;10010rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R&lt;br /&gt;
|-&lt;br /&gt;
| sub J || &amp;lt;tt&amp;gt;11i11101 1001010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J&lt;br /&gt;
|-&lt;br /&gt;
| sub N || &amp;lt;tt&amp;gt;11010110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N&lt;br /&gt;
|-&lt;br /&gt;
| sub (hl) || &amp;lt;tt&amp;gt;10010110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl)&lt;br /&gt;
|-&lt;br /&gt;
| sub (I+D) || &amp;lt;tt&amp;gt;11i11101 10010110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || + || a -= (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| xor R || &amp;lt;tt&amp;gt;10101rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR R&lt;br /&gt;
|-&lt;br /&gt;
| xor J || &amp;lt;tt&amp;gt;11i11101 1010110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR J&lt;br /&gt;
|-&lt;br /&gt;
| xor N || &amp;lt;tt&amp;gt;11101110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR N&lt;br /&gt;
|-&lt;br /&gt;
| xor (hl) || &amp;lt;tt&amp;gt;10101110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| xor (I+D) || &amp;lt;tt&amp;gt;11i11101 10101110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (I+D)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|-&lt;br /&gt;
| S || Restart address: 0x00, 0x08,..., 0x38 || sss = 000, 001,..., 111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;br /&gt;
* memptr = an internal 16-bit register connected to 16-bit operations&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-06T21:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags, xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags, xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags, xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags, xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| rla || &amp;lt;tt&amp;gt;00010111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.7,&amp;lt;br&amp;gt;a := [a &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl R || &amp;lt;tt&amp;gt;11001011 00010rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.7,&amp;lt;br&amp;gt;R := [R &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl (hl) || &amp;lt;tt&amp;gt;11001011 00010110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlca || &amp;lt;tt&amp;gt;00000111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc R || &amp;lt;tt&amp;gt;11001011 00000rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc (hl) || &amp;lt;tt&amp;gt;11001011 00000110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rld || &amp;lt;tt&amp;gt;11101101 01101111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) &amp;lt;&amp;lt; 4] + [a AND 0x0f], (hl) := tmp,&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp &amp;gt;&amp;gt; 8] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rra || &amp;lt;tt&amp;gt;00011111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0,&amp;lt;br&amp;gt;a := [a &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr R || &amp;lt;tt&amp;gt;11001011 00011rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.0,&amp;lt;br&amp;gt;R := [R &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr (hl) || &amp;lt;tt&amp;gt;11001011 00011110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrca || &amp;lt;tt&amp;gt;00001111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc R || &amp;lt;tt&amp;gt;11001011 00001rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc (hl) || &amp;lt;tt&amp;gt;11001011 00001110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrd || &amp;lt;tt&amp;gt;11101101 01100111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := (hl),&amp;lt;br&amp;gt;(hl) := [tmp &amp;gt;&amp;gt; 4] + [[a AND 0x0f] &amp;lt;&amp;lt; 4],&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp AND 0x0f] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rst S || &amp;lt;tt&amp;gt;11sss111&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := S&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,R || &amp;lt;tt&amp;gt;10011rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || + || a -= R + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,J || &amp;lt;tt&amp;gt;11i11101 1001110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a -= J + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,N || &amp;lt;tt&amp;gt;11011110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= N + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(hl) || &amp;lt;tt&amp;gt;10011110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || + || a -= (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| sbc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10011110 dddddddd&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 1 || + || a -= (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| scf || &amp;lt;tt&amp;gt;00110111&amp;lt;/tt&amp;gt; || 4 || - || - || A || 0 || A || - || 0 || 1 || nothing else&lt;br /&gt;
|-&lt;br /&gt;
| set B,R || &amp;lt;tt&amp;gt;11001011 11bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(hl) || &amp;lt;tt&amp;gt;11001011 11bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| set B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 11bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) OR [1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|-&lt;br /&gt;
| S || Restart address: 0x00, 0x08,..., 0x38 || sss = 000, 001,..., 111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-06T08:07:07Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags, xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags, xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags, xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags, xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := R := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| rla || &amp;lt;tt&amp;gt;00010111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.7,&amp;lt;br&amp;gt;a := [a &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl R || &amp;lt;tt&amp;gt;11001011 00010rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.7,&amp;lt;br&amp;gt;R := [R &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl (hl) || &amp;lt;tt&amp;gt;11001011 00010110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rl (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00010rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + ocf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlca || &amp;lt;tt&amp;gt;00000111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc R || &amp;lt;tt&amp;gt;11001011 00000rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc (hl) || &amp;lt;tt&amp;gt;11001011 00000110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rlc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00000rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).7,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;lt;&amp;lt; 1] + cf =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rld || &amp;lt;tt&amp;gt;11101101 01101111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) &amp;lt;&amp;lt; 4] + [a AND 0x0f], (hl) := tmp,&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp &amp;gt;&amp;gt; 8] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rra || &amp;lt;tt&amp;gt;00011111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0,&amp;lt;br&amp;gt;a := [a &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr R || &amp;lt;tt&amp;gt;11001011 00011rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := R.0,&amp;lt;br&amp;gt;R := [R &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr (hl) || &amp;lt;tt&amp;gt;11001011 00011110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rr (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00011rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [ocf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrca || &amp;lt;tt&amp;gt;00001111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc R || &amp;lt;tt&amp;gt;11001011 00001rrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := [R &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc (hl) || &amp;lt;tt&amp;gt;11001011 00001110&amp;lt;/tt&amp;gt; || 15 || + || + || + || 0 || + || P || 0 || X || cf := (hl).0,&amp;lt;br&amp;gt;(hl) := [(hl) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001110&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrc (I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 00001rrr&amp;lt;/tt&amp;gt; || 23 || + || + || + || 0 || + || P || 0 || X || cf := (I+D).0,&amp;lt;br&amp;gt;(I+D) := R := [(I+D) &amp;gt;&amp;gt; 1] + [cf &amp;lt;&amp;lt; 7] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| rrd || &amp;lt;tt&amp;gt;11101101 01100111&amp;lt;/tt&amp;gt; || 18 || + || + || + || 0 || + || P || 0 || - || tmp := (hl),&amp;lt;br&amp;gt;(hl) := [tmp &amp;gt;&amp;gt; 4] + [[a AND 0x0f] &amp;lt;&amp;lt; 4],&amp;lt;br&amp;gt;a := [a AND 0xf0] + [tmp AND 0x0f] =&amp;gt; flags&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-05T17:47:24Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || X || 1 || X || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := memptr.13, yf := memptr.11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01*0*110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01*10110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01*11110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| outd || &amp;lt;tt&amp;gt;11101101 10101011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otdr || &amp;lt;tt&amp;gt;11101101 10111011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outd, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| outi || &amp;lt;tt&amp;gt;11101101 10100011&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := (hl), ((c)) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7, tmp2 = tmp + l,&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| otir || &amp;lt;tt&amp;gt;11101101 10110011&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || outi, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| pop I || &amp;lt;tt&amp;gt;11i11101 11100001&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| push I || &amp;lt;tt&amp;gt;11i11101 11100101&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := I&lt;br /&gt;
|-&lt;br /&gt;
| res B,R || &amp;lt;tt&amp;gt;11001011 10bbbrrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := R AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(hl) || &amp;lt;tt&amp;gt;11001011 10bbb110&amp;lt;/tt&amp;gt; || 15 || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbb110&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| res B,(I+D)-&amp;gt;R || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 10bbbrrr&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || R := (I+D) := (I+D) AND ~[1 &amp;lt;&amp;lt; B]&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| ret C || &amp;lt;tt&amp;gt;11ccc000&amp;lt;/tt&amp;gt; || 11/5 || - || - || - || - || - || - || - || - || if C then pc := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| reti || &amp;lt;tt&amp;gt;11101101 01**1101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|-&lt;br /&gt;
| retn || &amp;lt;tt&amp;gt;11101101 01**0101&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2, iff1 := iff2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-05T10:29:49Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl -= 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpd, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || C || 1 || - || tmp := a - (hl) =&amp;gt; flags, bc -= 1, hl += 1,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || C || 1 || - || cpi, if bc &amp;lt;&amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| ldd || &amp;lt;tt&amp;gt;11101101 10101000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de -= 1, hl -= 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| lddr || &amp;lt;tt&amp;gt;11101101 10111000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldd, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ldi || &amp;lt;tt&amp;gt;11101101 10100000&amp;lt;/tt&amp;gt; || 16 || - || - || X || 0 || X || C || 0 || - || tmp := (hl), (de) := tmp, de += 1, hl += 1,&amp;lt;br&amp;gt;bc -= 1, xf := [tmp + a].1, yf = [tmp + a].3&lt;br /&gt;
|-&lt;br /&gt;
| ldir || &amp;lt;tt&amp;gt;11101101 10110000&amp;lt;/tt&amp;gt; || 21/16 || - || - || X || 0 || X || C || 0 || - || ldi, if bc &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| neg || &amp;lt;tt&amp;gt;11101101 01***100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || + || a := 0 - a&lt;br /&gt;
|-&lt;br /&gt;
| nop || &amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || nothing&lt;br /&gt;
|-&lt;br /&gt;
| or R || &amp;lt;tt&amp;gt;10110rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 0 || + || P || 0 || 0 || a := a OR R&lt;br /&gt;
|-&lt;br /&gt;
| or J || &amp;lt;tt&amp;gt;11i11101 1011010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 0 || + || P || 0 || 0 || a := a OR J&lt;br /&gt;
|-&lt;br /&gt;
| or N || &amp;lt;tt&amp;gt;11110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR N&lt;br /&gt;
|-&lt;br /&gt;
| or (hl) || &amp;lt;tt&amp;gt;10110110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)&lt;br /&gt;
|-&lt;br /&gt;
| or (I+D) || &amp;lt;tt&amp;gt;11i11101 10110110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 0 || + || P || 0 || 0 || a := a OR (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| out (N),a || &amp;lt;tt&amp;gt;11010011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || ((N)) := a&lt;br /&gt;
|-&lt;br /&gt;
| out (c),R || &amp;lt;tt&amp;gt;11101101 01rrr001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := R&lt;br /&gt;
|-&lt;br /&gt;
| out (c),0 || &amp;lt;tt&amp;gt;11101101 01110001&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || ((c)) := ? (seems to vary with CPU)&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
* C = set if the counter (bc) is nonzero after decrementing&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;br /&gt;
* &amp;amp;#42; = any bit value (0 or 1)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-03T17:26:31Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(A) || &amp;lt;tt&amp;gt;00111010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || a := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (bc),a || &amp;lt;tt&amp;gt;00000010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (bc) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (de),a || &amp;lt;tt&amp;gt;00010010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (de) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),a || &amp;lt;tt&amp;gt;00110010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 13 || - || - || - || - || - || - || - || - || (A) := a&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,A || &amp;lt;tt&amp;gt;00qq0001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || Q := A&lt;br /&gt;
|-&lt;br /&gt;
| ld I,A || &amp;lt;tt&amp;gt;11i11101 00100001 alalalal ahahahah&amp;lt;/tt&amp;gt; || 14 || - || - || - || - || - || - || - || - || I := A&lt;br /&gt;
|-&lt;br /&gt;
| ld Q,(A) || &amp;lt;tt&amp;gt;11101101 01qq1011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || Q := (A) [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld hl,(A) || &amp;lt;tt&amp;gt;00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || hl := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld I,(A) || &amp;lt;tt&amp;gt;11i11101 00101010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || I := (A)&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),Q || &amp;lt;tt&amp;gt;11101101 01qq0011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := Q [Q shouldn't be hl, see below]&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),hl || &amp;lt;tt&amp;gt;00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld (A),I || &amp;lt;tt&amp;gt;11i11101 00100010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 20 || - || - || - || - || - || - || - || - || (A) := I&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,hl || &amp;lt;tt&amp;gt;11111001&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || sp := hl&lt;br /&gt;
|-&lt;br /&gt;
| ld sp,I || &amp;lt;tt&amp;gt;11i11101 11111001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || sp := I&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address or immediate || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-03T17:13:07Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jr E || &amp;lt;tt&amp;gt;00011000 dddddddd&amp;lt;/tt&amp;gt; || 12 || - || - || - || - || - || - || - || - || pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nz,E || &amp;lt;tt&amp;gt;00100000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nz then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr z,E || &amp;lt;tt&amp;gt;00101000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if zf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr nc,E || &amp;lt;tt&amp;gt;00110000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if nc then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| jr c,E || &amp;lt;tt&amp;gt;00111000 dddddddd&amp;lt;/tt&amp;gt; || 12/7 || - || - || - || - || - || - || - || - || if cf then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| ld R,J || &amp;lt;tt&amp;gt;11i11101 01rrr10b&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || R := J&lt;br /&gt;
|-&lt;br /&gt;
| ld J,R || &amp;lt;tt&amp;gt;11i11101 0110brrr&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || J := R&lt;br /&gt;
|-&lt;br /&gt;
| ld ixh,ixl || &amp;lt;tt&amp;gt;11011101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixh := ixl&lt;br /&gt;
|-&lt;br /&gt;
| ld ixl,ixh || &amp;lt;tt&amp;gt;11011101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || ixl := ixh&lt;br /&gt;
|-&lt;br /&gt;
| ld iyh,iyl || &amp;lt;tt&amp;gt;11111101 01100101&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyh := iyl&lt;br /&gt;
|-&lt;br /&gt;
| ld iyl,iyh || &amp;lt;tt&amp;gt;11111101 01101100&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || iyl := iyh&lt;br /&gt;
|-&lt;br /&gt;
| ld R,N || &amp;lt;tt&amp;gt;00rrr110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := N&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(hl) || &amp;lt;tt&amp;gt;01rrr110&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || R := (hl)&lt;br /&gt;
|-&lt;br /&gt;
| ld R,(I+D) || &amp;lt;tt&amp;gt;11i11101 01rrr110 dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || R := (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),R || &amp;lt;tt&amp;gt;01110rrr&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || (hl) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (hl),N || &amp;lt;tt&amp;gt;00110110 nnnnnnnn&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || (hl) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),R || &amp;lt;tt&amp;gt;11i11101 01110rrr dddddddd&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := R&lt;br /&gt;
|-&lt;br /&gt;
| ld (I+D),N || &amp;lt;tt&amp;gt;11i11101 00110110 dddddddd nnnnnnnn&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (I+D) := N&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(bc) || &amp;lt;tt&amp;gt;00001010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (bc)&lt;br /&gt;
|-&lt;br /&gt;
| ld a,(de) || &amp;lt;tt&amp;gt;00011010&amp;lt;/tt&amp;gt; || 7 || - || - || - || - || - || - || - || - || a := (de)&lt;br /&gt;
|-&lt;br /&gt;
| ld i,a || &amp;lt;tt&amp;gt;11101101 01000111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || i := a&lt;br /&gt;
|-&lt;br /&gt;
| ld r,a || &amp;lt;tt&amp;gt;11101101 01001111&amp;lt;/tt&amp;gt; || 9 || - || - || - || - || - || - || - || - || r := a&lt;br /&gt;
|-&lt;br /&gt;
| ld a,i || &amp;lt;tt&amp;gt;11101101 01010111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := i, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| ld a,r || &amp;lt;tt&amp;gt;11101101 01011111&amp;lt;/tt&amp;gt; || 9 || + || + || + || 0 || + || X || 0 || - || a := r, pf := iff2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-03T15:29:38Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;lt;&amp;gt; 0 then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-03T08:03:19Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or [a AND 0x0f &amp;gt; 9] then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or [a &amp;gt; 0x99] then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR [a &amp;gt; 0x99],&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + [[c - 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + [[c + 1] AND 0xff],&amp;lt;br&amp;gt;pf := parity of [[tmp2 AND 0x07] XOR b],&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-03T07:58:07Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 = tmp + ((c - 1) AND 0xff),&amp;lt;br&amp;gt;pf := parity((tmp2 AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;tmp2 := tmp + ((c + 1) AND 0xff),&amp;lt;br&amp;gt;pf := parity((tmp2 AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := tmp2 &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-02T16:49:46Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;pf := PAR(((tmp + c - 1) AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := (tmp + c - 1) &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;pf := PAR(((tmp + c + 1) AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := (tmp + c + 1) &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-02T16:30:58Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;pf := PAR(((tmp + cf - 1) AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := (tmp + cf - 1) &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ind, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;pf := PAR(((tmp + cf + 1) AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := (tmp + cf + 1) &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || + || X || + || X || X || X || ini, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-02T16:27:36Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ind || &amp;lt;tt&amp;gt;11101101 10101010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl -= 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;pf := PAR(((tmp + cf - 1) AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := (tmp + cf - 1) &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| indr || &amp;lt;tt&amp;gt;11101101 10111010&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || ind, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| ini || &amp;lt;tt&amp;gt;11101101 10100010&amp;lt;/tt&amp;gt; || 16 || + || + || + || X || + || X || X || X || tmp := ((c)), (hl) := tmp, hl += 1,&amp;lt;br&amp;gt;b -= 1 =&amp;gt; flags, nf := tmp.7,&amp;lt;br&amp;gt;pf := PAR(((tmp + cf + 1) AND 0x07) XOR b),&amp;lt;br&amp;gt;hf := cf := (tmp + cf + 1) &amp;gt; 255&lt;br /&gt;
|-&lt;br /&gt;
| inir || &amp;lt;tt&amp;gt;11101101 10110010&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || ini, if b &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| jp A || &amp;lt;tt&amp;gt;11000011 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := A&lt;br /&gt;
|-&lt;br /&gt;
| jp (hl) || &amp;lt;tt&amp;gt;11101001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || pc := hl&lt;br /&gt;
|-&lt;br /&gt;
| jp (I) || &amp;lt;tt&amp;gt;11i11101 11101001&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || pc := I&lt;br /&gt;
|-&lt;br /&gt;
| jp C,A || &amp;lt;tt&amp;gt;11ccc010 alalalal ahahahah&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || if C then pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition (if noted, by the operation marked with '=&amp;gt; flags'):&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-02T07:15:01Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),hl || &amp;lt;tt&amp;gt;11100011&amp;lt;/tt&amp;gt; || 19 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| ex (sp),I || &amp;lt;tt&amp;gt;11i11101 11100011&amp;lt;/tt&amp;gt; || 23 || - || - || - || - || - || - || - || - || (sp) &amp;lt;=&amp;gt; I&lt;br /&gt;
|-&lt;br /&gt;
| ex af,af' || &amp;lt;tt&amp;gt;00001000&amp;lt;/tt&amp;gt; || 4 || X || X || X || X || X || X || X || X || af &amp;lt;=&amp;gt; af'&lt;br /&gt;
|-&lt;br /&gt;
| ex de,hl || &amp;lt;tt&amp;gt;11101011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || de &amp;lt;=&amp;gt; hl&lt;br /&gt;
|-&lt;br /&gt;
| exx || &amp;lt;tt&amp;gt;11011001&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || bc, de, hl &amp;lt;=&amp;gt; bc', de', hl'&lt;br /&gt;
|-&lt;br /&gt;
| halt || &amp;lt;tt&amp;gt;01110110&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || wait for interrupt&lt;br /&gt;
|-&lt;br /&gt;
| im 0 || &amp;lt;tt&amp;gt;11101101 01000110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 0: execute instruction on bus&lt;br /&gt;
|-&lt;br /&gt;
| im 1 || &amp;lt;tt&amp;gt;11101101 01010110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 1: execute rst $38&lt;br /&gt;
|-&lt;br /&gt;
| im 2 || &amp;lt;tt&amp;gt;11101101 01011110&amp;lt;/tt&amp;gt; || 8 || - || - || - || - || - || - || - || - || mode 2: call (i * 256 + byte on bus)&lt;br /&gt;
|-&lt;br /&gt;
| in a,(N) || &amp;lt;tt&amp;gt;11011011 nnnnnnnn&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || a := ((N))&lt;br /&gt;
|-&lt;br /&gt;
| in R,(c) || &amp;lt;tt&amp;gt;11101101 01rrr000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || R := ((c))&lt;br /&gt;
|-&lt;br /&gt;
| in f,(c) || &amp;lt;tt&amp;gt;11101101 01110000&amp;lt;/tt&amp;gt; || 12 || + || + || + || 0 || + || P || 0 || - || ((c)) =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| inc R || &amp;lt;tt&amp;gt;00rrr100&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || - || R += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc J || &amp;lt;tt&amp;gt;11i11101 0010b100&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || - || J += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (hl) || &amp;lt;tt&amp;gt;00110100&amp;lt;/tt&amp;gt; || 11 || + || + || + || + || + || V || 0 || - || (hl) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc (I+D) || &amp;lt;tt&amp;gt;11i11101 00110100 dddddddd&amp;lt;/tt&amp;gt; || 23 || + || + || + || + || + || V || 0 || - || (I+D) += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc Q || &amp;lt;tt&amp;gt;00qq0011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q += 1&lt;br /&gt;
|-&lt;br /&gt;
| inc I || &amp;lt;tt&amp;gt;11i11101 00100011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I += 1&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* (()) = I/O port&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:3D_engines</id>
		<title>Talk:3D engines</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:3D_engines"/>
				<updated>2006-03-01T20:42:30Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have the source of Matt Roberts's engine. However, I'm not sure if I'm allowed to distribute it. [[User:CoBB|CoBB]] 12:42, 1 Mar 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-01T13:50:18Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00100111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-01T13:44:49Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-03-01T07:41:25Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,J || &amp;lt;tt&amp;gt;11i11101 1000110b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,J || &amp;lt;tt&amp;gt;11i11101 1000010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 0 || + || a += J&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and J || &amp;lt;tt&amp;gt;11i11101 1010010b&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || 0 || a := a AND J&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb***&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp J || &amp;lt;tt&amp;gt;11i11101 1011110b&amp;lt;/tt&amp;gt; || 8 || + || + || X || + || X || V || 1 || + || tmp := a - J =&amp;gt; flags,&amp;lt;br&amp;gt;xf := J.5, yf = J.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| dec R || &amp;lt;tt&amp;gt;00rrr101&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 1 || - || R -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec J || &amp;lt;tt&amp;gt;11i11101 0010b101&amp;lt;/tt&amp;gt; || 8 || + || + || + || + || + || V || 1 || - || J -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (hl) || &amp;lt;tt&amp;gt;00110101&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 1 || - || (hl) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec (I+D) || &amp;lt;tt&amp;gt;11i11101 00110101 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 1 || - || (I+D) -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec Q || &amp;lt;tt&amp;gt;00qq1011&amp;lt;/tt&amp;gt; || 6 || - || - || - || - || - || - || - || - || Q -= 1&lt;br /&gt;
|-&lt;br /&gt;
| dec I || &amp;lt;tt&amp;gt;11i11101 00101011&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || I -= 1&lt;br /&gt;
|-&lt;br /&gt;
| di || &amp;lt;tt&amp;gt;11110011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 0, iff2 := 0&lt;br /&gt;
|-&lt;br /&gt;
| djnz E || &amp;lt;tt&amp;gt;00010000 dddddddd&amp;lt;/tt&amp;gt; || 13/8 || - || - || - || - || - || - || - || - || b -= 1, if b &amp;lt;&amp;gt; 0 then pc := E&lt;br /&gt;
|-&lt;br /&gt;
| ei || &amp;lt;tt&amp;gt;11111011&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || iff1 := 1, iff2 := 1 after the next instruction&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| E || 16-bit relative address || dddddddd (E minus address of next instruction)&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| J || Half index register: ixh, ixl, iyh, iyl || (i, b) = (0, 0), (0, 1), (1, 0), (1, 1)&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-28T18:09:06Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 dddddddd 01bbb110&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-28T14:40:33Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;11001011 01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;11001011 01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 11001011 01bbb110 dddddddd&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-27T19:16:19Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 01bbb110 dddddddd&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := N.5, yf = N.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (hl).5, yf = (hl).3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := (I+D).5, yf = (I+D).3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-27T13:01:58Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 01bbb110 dddddddd&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| call C,A || &amp;lt;tt&amp;gt;11ccc100 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17/10 || - || - || - || - || - || - || - || - || if C then sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| cp R || &amp;lt;tt&amp;gt;10111rrr&amp;lt;/tt&amp;gt; || 4 || + || + || X || + || X || V || 1 || + || tmp := a - R =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp N || &amp;lt;tt&amp;gt;11111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - N =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (hl) || &amp;lt;tt&amp;gt;10111110&amp;lt;/tt&amp;gt; || 7 || + || + || X || + || X || V || 1 || + || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cp (I+D) || &amp;lt;tt&amp;gt;11i11101 10111110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || X || + || X || V || 1 || + || tmp := a - (I+D) =&amp;gt; flags,&amp;lt;br&amp;gt;xf := R.5, yf = R.3&lt;br /&gt;
|-&lt;br /&gt;
| cpd || &amp;lt;tt&amp;gt;11101101 10101001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl -= 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpdr || &amp;lt;tt&amp;gt;11101101 10111001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpd, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpi || &amp;lt;tt&amp;gt;11101101 10100001&amp;lt;/tt&amp;gt; || 16 || + || + || X || + || X || X || 1 || - || tmp := a - (hl) =&amp;gt; flags,&amp;lt;br&amp;gt;bc -= 1, hl += 1, pf := bc &amp;lt;&amp;gt; 0,&amp;lt;br&amp;gt;xf := [tmp - hf].1, yf = [tmp - hf].3&lt;br /&gt;
|-&lt;br /&gt;
| cpir || &amp;lt;tt&amp;gt;11101101 10110001&amp;lt;/tt&amp;gt; || 21/16 || + || + || X || + || X || X || 1 || - || cpi, if bc &amp;gt; 0 and nz then pc -= 2&lt;br /&gt;
|-&lt;br /&gt;
| cpl || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || - || - || + || 1 || + || - || 1 || - || a := ~a&lt;br /&gt;
|-&lt;br /&gt;
| daa || &amp;lt;tt&amp;gt;00101111&amp;lt;/tt&amp;gt; || 4 || + || + || + || X || + || P || - || X || tmp := a,&amp;lt;br&amp;gt;if nf then&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp -= 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp -= 0x60&amp;lt;br&amp;gt;else&amp;lt;br&amp;gt;&amp;amp;nbsp;if hf or (a AND 0x0f &amp;gt; 9) then tmp += 0x06&amp;lt;br&amp;gt;&amp;amp;nbsp;if cf or (a &amp;gt; 0x99) then tmp += 0x60&amp;lt;br&amp;gt;endif,&amp;lt;br&amp;gt;tmp =&amp;gt; flags, cf := cf OR (a &amp;gt; 0x99),&amp;lt;br&amp;gt;hf := a.4 XOR tmp.4, a := tmp&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| C || Condition: nz, z, nc, c, po, pe, p, m || ccc = 000, 001, 010, 011, 100, 101, 110, 111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry (theoretical bit 4) of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-26T22:22:39Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(I+D) || &amp;lt;tt&amp;gt;11i11101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add I,Q || &amp;lt;tt&amp;gt;11i11101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || I += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (I+D) || &amp;lt;tt&amp;gt;11i11101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (I+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(I+D) || &amp;lt;tt&amp;gt;11i11101 01bbb110 dddddddd&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (I+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [I+D].13, yf := [I+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| I || Index register: ix, iy || i = 0, 1&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-26T22:16:19Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add ix,Q || &amp;lt;tt&amp;gt;11011101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || ix += Q&lt;br /&gt;
|-&lt;br /&gt;
| add iy,Q || &amp;lt;tt&amp;gt;11111101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || iy += Q&lt;br /&gt;
|-&lt;br /&gt;
| and R || &amp;lt;tt&amp;gt;10100rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || 1 || + || P || 0 || 0 || a := a AND R&lt;br /&gt;
|-&lt;br /&gt;
| and N || &amp;lt;tt&amp;gt;11100110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND N&lt;br /&gt;
|-&lt;br /&gt;
| and (hl) || &amp;lt;tt&amp;gt;10100110&amp;lt;/tt&amp;gt; || 7 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)&lt;br /&gt;
|-&lt;br /&gt;
| and (ix+D) || &amp;lt;tt&amp;gt;11011101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (ix+D)&lt;br /&gt;
|-&lt;br /&gt;
| and (iy+D) || &amp;lt;tt&amp;gt;11111101 10100110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || 1 || + || P || 0 || 0 || a := a AND (iy+D)&lt;br /&gt;
|-&lt;br /&gt;
| bit B,R || &amp;lt;tt&amp;gt;01bbbrrr&amp;lt;/tt&amp;gt; || 8 || + || + || + || 1 || + || P || 0 || - || tmp := R AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(hl) || &amp;lt;tt&amp;gt;01bbb110&amp;lt;/tt&amp;gt; || 12 || + || + || ? || 1 || ? || P || 0 || - || tmp := (hl) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(ix+D) || &amp;lt;tt&amp;gt;11011101 01bbb110 dddddddd&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (ix+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [ix+D].13, yf := [ix+D].11&lt;br /&gt;
|-&lt;br /&gt;
| bit B,(iy+D) || &amp;lt;tt&amp;gt;11111101 01bbb110 dddddddd&amp;lt;/tt&amp;gt; || 20 || + || + || X || 1 || X || P || 0 || - || tmp := (iy+D) AND [1 &amp;lt;&amp;lt; B] =&amp;gt; flags,&amp;lt;br&amp;gt;xf := [iy+D].13, yf := [iy+D].11&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| B || Bit number: 0..7 || bbb = 000..111&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl/ix/iy, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* () = indirection&lt;br /&gt;
* [] = operator precedence (to avoid confusion with indirection)&lt;br /&gt;
* E.B = the Bth bit of the value of expression E&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-26T08:20:28Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add ix,Q || &amp;lt;tt&amp;gt;11011101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || ix += Q&lt;br /&gt;
|-&lt;br /&gt;
| add iy,Q || &amp;lt;tt&amp;gt;11111101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || iy += Q&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-26T08:14:56Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q&lt;br /&gt;
|-&lt;br /&gt;
| add ix,Q || &amp;lt;tt&amp;gt;11011101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || ix += Q&lt;br /&gt;
|-&lt;br /&gt;
| add iy,Q || &amp;lt;tt&amp;gt;11111101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || iy += Q&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-26T07:46:51Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| adc a,R || &amp;lt;tt&amp;gt;10001rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,N || &amp;lt;tt&amp;gt;11001110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(hl) || &amp;lt;tt&amp;gt;10001110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10001110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D) + cf&lt;br /&gt;
|-&lt;br /&gt;
| adc hl,Q || &amp;lt;tt&amp;gt;11101101 01qq1010&amp;lt;/tt&amp;gt; || 15 || + || + || + || + || + || V || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add a,R || &amp;lt;tt&amp;gt;10000rrr&amp;lt;/tt&amp;gt; || 4 || + || + || + || + || + || V || 0 || + || a += R&lt;br /&gt;
|-&lt;br /&gt;
| add a,N || &amp;lt;tt&amp;gt;11000110 nnnnnnnn&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += N&lt;br /&gt;
|-&lt;br /&gt;
| add a,(hl) || &amp;lt;tt&amp;gt;10000110&amp;lt;/tt&amp;gt; || 7 || + || + || + || + || + || V || 0 || + || a += (hl)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(ix+D) || &amp;lt;tt&amp;gt;11011101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (ix+D)&lt;br /&gt;
|-&lt;br /&gt;
| add a,(iy+D) || &amp;lt;tt&amp;gt;11111101 10000110 dddddddd&amp;lt;/tt&amp;gt; || 19 || + || + || + || + || + || V || 0 || + || a += (iy+D)&lt;br /&gt;
|-&lt;br /&gt;
| add hl,Q || &amp;lt;tt&amp;gt;00qq1001&amp;lt;/tt&amp;gt; || 11 || - || - || + || + || + || - || 0 || + || hl += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add ix,Q || &amp;lt;tt&amp;gt;11011101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || ix += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| add iy,Q || &amp;lt;tt&amp;gt;11111101 00qq1001&amp;lt;/tt&amp;gt; || 15 || - || - || + || + || + || - || 0 || + || iy += Q + cf&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 alalalal ahahahah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || A || X || A || - || 0 || X || hf := cf, cf := ~cf&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01rrrsss&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11pp0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11pp0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || alalalal ahahahah&lt;br /&gt;
|-&lt;br /&gt;
| D || 8-bit signed relative offset || dddddddd&lt;br /&gt;
|-&lt;br /&gt;
| N || 8-bit immediate || nnnnnnnn&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || pp = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl, sp || qq = 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || rrr (or sss) = 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* + = change by definition:&lt;br /&gt;
** S = sign, bit 7 of the result byte (accumulator or high byte for 16-bit operations)&lt;br /&gt;
** Z = zero, set if the result is zero (8 or 16-bit value)&lt;br /&gt;
** X = undocumented, bit 5 of the result byte&lt;br /&gt;
** H = half-carry, the carry of the low nibble of the result byte&lt;br /&gt;
** Y = undocumented, bit 3 of the result byte&lt;br /&gt;
** P = parity (set if the result byte has an even number of bits set) or overflow (set when crossing the boundary of the signed range); always specified&lt;br /&gt;
** N = negative, set if the previous operation was a subtraction; always specified&lt;br /&gt;
** C = carry, the theoretical bit 8 of the result byte&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change described under Effect&lt;br /&gt;
* P = parity (only for the parity flag)&lt;br /&gt;
* V = overflow (only for the parity flag)&lt;br /&gt;
* A = OR with the respective bit of the accumulator&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-25T11:32:46Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: /* Z80 instruction set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 Al Ah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ccf || &amp;lt;tt&amp;gt;00111111&amp;lt;/tt&amp;gt; || 4 || - || - || v || X || v || - || 0 || X || hf := cf, cf := !cf&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01xxxyyy&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11xx0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11xx0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || Al - low byte, Ah - high byte&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl, sp || 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
* - = no change&lt;br /&gt;
* 0 = always reset&lt;br /&gt;
* 1 = always set&lt;br /&gt;
* X = change, described under Effect&lt;br /&gt;
* v = OR with the respective bit of the accumulator&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-25T11:18:03Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About this page ==&lt;br /&gt;
Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;br /&gt;
&lt;br /&gt;
== Z80 instruction set ==&lt;br /&gt;
=== Reference ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Instruction !! Opcode !! Time !! S !! Z !! X !! H !! Y !! P !! N !! C !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| call A || &amp;lt;tt&amp;gt;11001101 Al Ah&amp;lt;/tt&amp;gt; || 17 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pc, pc := A&lt;br /&gt;
|-&lt;br /&gt;
| ld R1,R2 || &amp;lt;tt&amp;gt;01xxxyyy&amp;lt;/tt&amp;gt; || 4 || - || - || - || - || - || - || - || - || R1 := R2&lt;br /&gt;
|-&lt;br /&gt;
| pop P || &amp;lt;tt&amp;gt;11xx0001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || P := (sp), sp += 2&lt;br /&gt;
|-&lt;br /&gt;
| push P || &amp;lt;tt&amp;gt;11xx0101&amp;lt;/tt&amp;gt; || 11 || - || - || - || - || - || - || - || - || sp -= 2, (sp) := P&lt;br /&gt;
|-&lt;br /&gt;
| ret || &amp;lt;tt&amp;gt;11001001&amp;lt;/tt&amp;gt; || 10 || - || - || - || - || - || - || - || - || pc := (sp), sp += 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Legend ===&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
! Notation !! Meaning !! Respective opcode bits&lt;br /&gt;
|-&lt;br /&gt;
| A || 16-bit address || Al - low byte, Ah - high byte&lt;br /&gt;
|-&lt;br /&gt;
| P || 16-bit register pair: bc, de, hl, af || 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| Q || 16-bit register: bc, de, hl, sp || 00, 01, 10, 11&lt;br /&gt;
|-&lt;br /&gt;
| R || 8-bit general purpose register: a, b, c, d, e, h, l || 111, 000, 001, 010, 011, 100, 101&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:Z80_Instruction_Set</id>
		<title>Talk:Z80 Instruction Set</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:Z80_Instruction_Set"/>
				<updated>2006-02-25T10:52:04Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We could probably just use one of the publically available instruction set lists to save the time and trouble of typing everything out again.&lt;br /&gt;
--Dan 00:28, 22 Dec 2005&lt;br /&gt;
&lt;br /&gt;
:Emacs.&lt;br /&gt;
:Anyway, what you've got so far is not particularly clear, and doesn't really present the important information.  I'm thinking of a series of tables something like this:&lt;br /&gt;
 &lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Oct !! Hex !! Instruction !! States !! Clock !! S !! Z !! X !! H !! Y !! P !! N !! C&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 40 || ld b, b || OCF(4) || 4 || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 41 || ld b, c || OCF(4) || 4 || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| 102 || 42 || ld b, d || OCF(4) || 4 || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| 103 || 43 || ld b, e || OCF(4) || 4 || - || - || - || - || - || - || - || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:A quick reference for people who actually know what they're doing.  For those who don't, these tables should of course be accompanied by detailed descriptions of what the various opcodes actually do.&lt;br /&gt;
:Any comments before I go and waste a few hours wikifying the rest of the Z80 instruction set?&lt;br /&gt;
::Perhaps we can be more intelligent about this and not do this by hand? At least have some source file and then we have a nice program we auto-generate the list from? I sure don't want you wasting hours wikifying the instruction set, no matter how good vi might be. ;-) --[[User:JasonM|JasonM]] 14:13, 30 Dec 2005 (PST)&lt;br /&gt;
:Please don't use parentheses for anything other than indirection!&lt;br /&gt;
:[[User:FloppusMaximus|FloppusMaximus]] 12:28, 23 Dec 2005 (PST)&lt;br /&gt;
::Is providing an octal representation actually useful for anything?&lt;br /&gt;
&lt;br /&gt;
:A binary representation would be more useful -- [[User:Jib|Jib]]&lt;br /&gt;
&lt;br /&gt;
::You're right, it could be.  Of course octal is useful -- just take a look at a complete table of the instructions; everything is grouped by eights and sixty-fours.  So I know that 1''r'' ''s'' = LD ''r'',''s'', or that 3''a''6 ''nnn'' = ALU(''a'') ''nnn'', or that 3''z''7 = RST 0''z''0, or less obviously that 3''c''0 = RET ''c''.  Much easier to remember than hexadecimal.  But that's just me.  I think you're right, binary would be better. [[User:FloppusMaximus|FloppusMaximus]] 15:53, 25 Dec 2005 (PST)&lt;br /&gt;
:::Can we just do both? I think I have enough screen real-estate. --[[User:JasonM|JasonM]] 14:13, 30 Dec 2005 (PST)&lt;br /&gt;
&lt;br /&gt;
:Since I coded the Z80 core of PindurTI from scratch, I have some useful information at my disposal that I hunted down from various places on the web, especially regarding flags. A big table would be the most effective method in my opinion, I'll start building something on my user page. [[User:CoBB|CoBB]] 02:52, 25 Feb 2006 (PST)&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:CoBB</id>
		<title>User:CoBB</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:CoBB"/>
				<updated>2006-02-25T10:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;CoBB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ez az Ã©n kis jÃ¡tszÃ³terem.&lt;/div&gt;</summary>
		<author><name>CoBB</name></author>	</entry>

	</feed>