cursos:ensamblador:lenguaje_5

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cursos:ensamblador:lenguaje_5 [14-01-2024 10:18] – [La ULA y los dispositivos I/O del Spectrum] sromerocursos:ensamblador:lenguaje_5 [24-01-2024 11:55] (actual) – [Enlaces] sromero
Línea 33: Línea 33:
  
 \\  \\ 
-**IN r, (C)** \\  +**in r, (c)** \\  
-Leemos el puerto apuntado por el valor contenido en el registro **BC** y ponemos su contenido en el registro de 8 bits 'r' especificado. En realidad, pese a que teóricamente el Spectrum sólo tiene acceso a puertos E/S de 8 bits (0-255), para acceder a los puertos, ''IN r, (C)'' pone todo el valor de BC en el bus de direcciones.+Leemos el puerto apuntado por el valor contenido en el registro **BC** y ponemos su contenido en el registro de 8 bits 'r' especificado. En realidad, pese a que teóricamente el Spectrum sólo tiene acceso a puertos E/S de 8 bits (0-255), para acceder a los puertos, ''in r, (c)'' pone todo el valor de BC en el bus de direcciones.
  
 \\  \\ 
Línea 49: Línea 49:
 <code z80> <code z80>
 ; Forma 1 ; Forma 1
-LD BC, $FFFE +ld bc, $fffe 
-IN A, (C)       ; A = Lectura de puerto $FFFE+in a, (c)       ; A = Lectura de puerto $fffe
  
 ; Forma 2 ; Forma 2
-LD A, $FF +ld a, $ff 
-IN A, ($FE)     ; A = Lectura de puerto $FFFE+in a, ($fe)     ; A = Lectura de puerto $fffe
 </code> </code>
  
Línea 66: Línea 66:
  
 \\  \\ 
-**OUT (C), r** \\ +**out (c), r** \\ 
 Escribimos en el puerto "C" el valor contenido en el registro de 8 bits "r" (aunque se pone el valor de BC completo en el bus de direcciones). Escribimos en el puerto "C" el valor contenido en el registro de 8 bits "r" (aunque se pone el valor de BC completo en el bus de direcciones).
 \\  \\ 
Línea 79: Línea 79:
    Instrucción       |S Z H P N C|    Instrucción       |S Z H P N C|
  ----------------------------------  ----------------------------------
-   IN A, (n)         |- - - - - -| +   in a, (n)         |- - - - - -| 
-   IN r, (C)         |* * * P 0 -| +   in r, (c)         |* * * P 0 -| 
-   OUT (C), r        |- - - - - -| +   out (c), r        |- - - - - -| 
-   OUT (n),        |- - - - - -|+   out (n),        |- - - - - -|
 </code> </code>
  
- Aunque entre los 2 formatos OUT no debería haber ninguna diferencia funcional, cabe destacar que ''OUT (N), A'' es 1 t-estado o ciclo de reloj más rápida que ''OUT (C), A'', tardando 11 y 12 t-estados respectivamente.+ Aunque entre los 2 formatos OUT no debería haber ninguna diferencia funcional, cabe destacar que ''out (N), a'' es 1 t-estado o ciclo de reloj más rápida que ''out (c), a'', tardando 11 y 12 t-estados respectivamente.
  
- Finalmente, comentar que también existe una instrucción no descrita en la documentación del Z80 llamada ''OUT (C), 0'', la cual nos puede permitir mandar un 0 a un puerto sin la necesidad de utilizar un registro para establecer dicho valor.+ Finalmente, comentar que también existe una instrucción no descrita en la documentación del Z80 llamada ''out (c), 0'', la cual nos puede permitir mandar un 0 a un puerto sin la necesidad de utilizar un registro para establecer dicho valor.
  
 \\  \\ 
Línea 108: Línea 108:
 Todos estos dispositivos básicos, los que vienen de serie con un Spectrum, están conectados a la ULA, y los accederemos a través de ella. Todos estos dispositivos básicos, los que vienen de serie con un Spectrum, están conectados a la ULA, y los accederemos a través de ella.
  
-Por otra parte, los dispositivos que se conectan al conector de expansión trasero tendrán su propio puerto para leerlos y escribir en ellos, que deberemos consultar en la documentación técnica del fabricante de dicho dispositivos si queremos hacer código que lo use. Por ejemplo, el **Kempston Mouse** utiliza los puertos $FBDF (coordenada X del ratón), $FFDF (coordenada Y del ratón) y $FADF para el estado de los botones.+Por otra parte, los dispositivos que se conectan al conector de expansión trasero tendrán su propio puerto para leerlos y escribir en ellos, que deberemos consultar en la documentación técnica del fabricante de dicho dispositivos si queremos hacer código que lo use. Por ejemplo, el **Kempston Mouse** utiliza los puertos $fbdf (coordenada X del ratón), $ffdf (coordenada Y del ratón) y $fadf para el estado de los botones.
  
 Y ahora viene una peculiaridad: los diseñadores del Spectrum conectaron el bit 0 del bus de direcciones de I/O a la ULA, de forma que un 0 en el bit 0 en este puerto (BC par) "seleccionará" a la ULA como dispositivo destinatario del ''IN'' o el ''OUT''. Por tanto, para acceder a la ULA dejaremos el resto de los bits a uno pero el bit 0 debe de estar inactivo: Y ahora viene una peculiaridad: los diseñadores del Spectrum conectaron el bit 0 del bus de direcciones de I/O a la ULA, de forma que un 0 en el bit 0 en este puerto (BC par) "seleccionará" a la ULA como dispositivo destinatario del ''IN'' o el ''OUT''. Por tanto, para acceder a la ULA dejaremos el resto de los bits a uno pero el bit 0 debe de estar inactivo:
Línea 117: Línea 117:
 Por eso, utilizaremos un valor **$XXFE** para seleccionar la ULA, y será el valor de **XX** (la parte alta de BC) la que marcará qué dispositivo exacto de la ULA se quiere acceder. Por eso, utilizaremos un valor **$XXFE** para seleccionar la ULA, y será el valor de **XX** (la parte alta de BC) la que marcará qué dispositivo exacto de la ULA se quiere acceder.
  
-La mayoría de los puertos que veremos en código de Spectrum que accede a puertos acaban por este motivo en $FE.+La mayoría de los puertos que veremos en código de Spectrum que accede a puertos acaban por este motivo en $fe.
  
-Por ejemplo, para leer el estado de las diferentes filas del teclado usaremos la instrucción ''IN $XXFE'', estableciendo **$XX** con ciertos valores concretos para indicar a la ULA qué fila exacta queremos leer (cada fila contiene el estado -pulsado o no- de 5 teclas).+Por ejemplo, para leer el estado de las diferentes filas del teclado usaremos la instrucción ''IN $XXfe'', estableciendo **$XX** con ciertos valores concretos para indicar a la ULA qué fila exacta queremos leer (cada fila contiene el estado -pulsado o no- de 5 teclas).
  
-En cambio, todas las direcciones de BC impares (bit 0 a 1), se utilizan para acceder a otros dispositivos diferentes de la ULA que podamos tener conectados al bus de expansión. Se puede apreciar en el ejemplo del Kempston Mouse que hemos visto hace un momento que todos sus puertos son impares (acaban en **$DF**).+En cambio, todas las direcciones de BC impares (bit 0 a 1), se utilizan para acceder a otros dispositivos diferentes de la ULA que podamos tener conectados al bus de expansión. Se puede apreciar en el ejemplo del Kempston Mouse que hemos visto hace un momento que todos sus puertos son impares (acaban en **$df**).
  
 Para escribir tenemos otra peculiaridad. Si queremos escribir en un dispositivo externo diferente de la ULA, utilizaremos un valor de BC impar, y podremos escribir en él por ejemplo el valor del registro A. Para acceder a otros dispositivos que no sean la ULA, necesitaremos usar ''OUT'' junto al registro BC. Para escribir tenemos otra peculiaridad. Si queremos escribir en un dispositivo externo diferente de la ULA, utilizaremos un valor de BC impar, y podremos escribir en él por ejemplo el valor del registro A. Para acceder a otros dispositivos que no sean la ULA, necesitaremos usar ''OUT'' junto al registro BC.
Línea 127: Línea 127:
 Pero en el caso de escribir en dispositivos conectados a la ULA, la escritura está "centralizada" en un sólo valor de 8 bits. No podemos mandarle un valor al borde, o un valor al cassette, o un valor al altavoz del Spectrum, sino que sólo podemos "mandarle un valor a la ULA", un único valor de 8 bits cuyos bits se envían a los diferentes dispositivos. Es como si la ULA, para escritura I/O, sólo tuviera un puerto. Pero en el caso de escribir en dispositivos conectados a la ULA, la escritura está "centralizada" en un sólo valor de 8 bits. No podemos mandarle un valor al borde, o un valor al cassette, o un valor al altavoz del Spectrum, sino que sólo podemos "mandarle un valor a la ULA", un único valor de 8 bits cuyos bits se envían a los diferentes dispositivos. Es como si la ULA, para escritura I/O, sólo tuviera un puerto.
  
-De nuevo la parte baja de BC selecciona la ULA con el valor *$FE* pero en este caso, realmente no seleccionamos un puerto al que escribir sino que la parte alta es ignorada y el valor de A llega directamente a la ULA con el siguiente significado:+De nuevo la parte baja de BC selecciona la ULA con el valor *$fe* pero en este caso, realmente no seleccionamos un puerto al que escribir sino que la parte alta es ignorada y el valor de A llega directamente a la ULA con el siguiente significado:
  
 \\  \\ 
Línea 145: Línea 145:
  Así:  Así:
  
-  * **IND** :+  * **ind** :
     * Leemos en la dirección de memoria apuntada por HL ([HL]) el valor contenido en el puerto C.     * Leemos en la dirección de memoria apuntada por HL ([HL]) el valor contenido en el puerto C.
     * Decrementamos HL.     * Decrementamos HL.
     * Decrementamos B     * Decrementamos B
  
-  * **INI** :+  * **ini** :
     * Leemos en la dirección de memoria apuntada por HL ([HL]) el valor contenido en el puerto C.     * Leemos en la dirección de memoria apuntada por HL ([HL]) el valor contenido en el puerto C.
     * Incrementamos HL.     * Incrementamos HL.
     * Decrementamos B     * Decrementamos B
  
-  * **OUTD** :+  * **outd** :
     * Escribimos en el puerto C el valor de la dirección de memoria apuntada por HL ([HL])     * Escribimos en el puerto C el valor de la dirección de memoria apuntada por HL ([HL])
     * Decrementamos HL.     * Decrementamos HL.
     * Decrementamos B     * Decrementamos B
  
-  * **OUTI** :+  * **outi** :
     * Escribimos en el puerto C el valor de la dirección de memoria apuntada por HL ([HL])     * Escribimos en el puerto C el valor de la dirección de memoria apuntada por HL ([HL])
     * Incrementamos HL.     * Incrementamos HL.
Línea 175: Línea 175:
    Instrucción       |S Z H P N C|    Instrucción       |S Z H P N C|
  ----------------------------------  ----------------------------------
-   INI               |? * ? ? 1 ?| +   ini               |? * ? ? 1 ?| 
-   IND               |? * ? ? 1 ?| +   ind               |? * ? ? 1 ?| 
-   OUTI              |? * ? ? 1 ?| +   outi              |? * ? ? 1 ?| 
-   OUTD              |? * ? ? 1 ?| +   outd              |? * ? ? 1 ?| 
-   INDR              |? 1 ? ? 1 ?| +   indr              |? 1 ? ? 1 ?| 
-   INIR              |? 1 ? ? 1 ?| +   inir              |? 1 ? ? 1 ?| 
-   OTDR              |? 1 ? ? 1 ?| +   otdr              |? 1 ? ? 1 ?| 
-   OTIR              |? 1 ? ? 1 ?|+   otir              |? 1 ? ? 1 ?|
 </code> </code>
  
Línea 199: Línea 199:
  
 bucle: bucle:
-    LD BC, $DFFE         ; Semifila "P" a "Y" +    ld bc, $dffe         ; Semifila "P" a "Y" 
-    IN A, (C)            ; Leemos el puerto +    in a, (c)            ; Leemos el puerto 
-    BIT 0,             ; Testeamos el bit 0 +    bit 0,             ; Testeamos el bit 0 
-    JR Z, salir          ; Si esta a 0 (pulsado) salir. +    jr z, salir          ; Si esta a 0 (pulsado) salir. 
-    JR bucle             ; Si no (a 1, no pulsado) repetimos+    jr bucle             ; Si no (a 1, no pulsado) repetimos
  
 salir: salir:
-    RET+    ret
  
     END 50000     END 50000
 </code> </code>
  
- El anterior ejemplo lee constantemente el puerto **$DFFE** a la espera de que el bit 0 de la respuesta obtenida de dicha lectura sea 0, lo que quiere decir que la tecla "p" ha sido pulsada.+ El anterior ejemplo lee constantemente el puerto **$dffe** a la espera de que el bit 0 de la respuesta obtenida de dicha lectura sea 0, lo que quiere decir que la tecla "p" ha sido pulsada.
  
- La parte baja de **$DFFE** (es decir, **$FE**) especifica al Z80 que queremos acceder a alguno de los puertos controlados por la ULA, mientras que la parte alta (**$DF**) indica a qué dispositivo exacto de los que controla la ULA queremos acceder. En este caso, la fila del teclado que contiene el estado de las teclas "Y", "U", "I", "O", y "P". Manteniendo la parte baja fija ("acceso a la ULA") y variando la parte alta ("fila del teclado") podríamos mediante varios ''IN'' leer el estado de todo el teclado, fila a fila.+ La parte baja de **$dffe** (es decir, **$fe**) especifica al Z80 que queremos acceder a alguno de los puertos controlados por la ULA, mientras que la parte alta (**$df**) indica a qué dispositivo exacto de los que controla la ULA queremos acceder. En este caso, la fila del teclado que contiene el estado de las teclas "Y", "U", "I", "O", y "P". Manteniendo la parte baja fija ("acceso a la ULA") y variando la parte alta ("fila del teclado") podríamos mediante varios ''IN'' leer el estado de todo el teclado, fila a fila.
  
  Aunque los veremos en su momento en profundidad, estos son los puertos asociados a las diferentes filas de teclas:  Aunque los veremos en su momento en profundidad, estos son los puertos asociados a las diferentes filas de teclas:
Línea 220: Línea 220:
 |< 60% >| |< 60% >|
 ^ Puerto ^ Bits: ^ D4 ^ D3 ^ D2 ^ D1 ^ D0 ^ ^ Puerto ^ Bits: ^ D4 ^ D3 ^ D2 ^ D1 ^ D0 ^
-| 65278d ($FEFE) | Teclas: | "V" | "C" | "X" | "Z" | CAPS | +| 65278d ($fefe) | Teclas: | "V" | "C" | "X" | "Z" | CAPS | 
-| 65022d ($FDFE) | Teclas: | "G" | "F" | "D" | "S" | "A"+| 65022d ($fdfe) | Teclas: | "G" | "F" | "D" | "S" | "A"
-| 64510d ($FBFE) | Teclas: | "T" | "R" | "E" | "W" | "Q"+| 64510d ($fbfe) | Teclas: | "T" | "R" | "E" | "W" | "Q"
-| 63486d ($F7FE) | Teclas: | "5" | "4" | "3" | "2" | "1"+| 63486d ($f7fe) | Teclas: | "5" | "4" | "3" | "2" | "1"
-| 61438d ($EFFE) | Teclas: | "0" | "9" | "8" | "7" | "6"+| 61438d ($effe) | Teclas: | "0" | "9" | "8" | "7" | "6"
-| 57342d ($DFFE) | Teclas: | "Y" | "U" | "I" | "O" | "P"+| 57342d ($dffe) | Teclas: | "Y" | "U" | "I" | "O" | "P"
-| 49150d ($BFFE) | Teclas: | "H" | "J" | "K" | "L" | ENTER | +| 49150d ($bffe) | Teclas: | "H" | "J" | "K" | "L" | ENTER | 
-| 32766d ($7FFE) | Teclas: | "B" | "N" | "M" | SYMB | SPACE |+| 32766d ($7ffe) | Teclas: | "B" | "N" | "M" | SYMB | SPACE |
 \\  \\ 
  
 El bit 6 de los puertos que hemos visto para el teclado tiene un valor aleatorio, excepto cuando se pulsa PLAY en el cassette, y es a través de dicho bit de donde podremos obtener los datos a cargar. El bit 6 de los puertos que hemos visto para el teclado tiene un valor aleatorio, excepto cuando se pulsa PLAY en el cassette, y es a través de dicho bit de donde podremos obtener los datos a cargar.
  
- La escritura en el puerto **$00FE** permite //acceder al altavoz// (bit 4) y a la señal de audio para grabar a cinta (bit 3). Los bits 0, 1 y 2 controlan //el color del borde//, como podemos ver en el siguiente ejemplo:+ La escritura en el puerto **$00fe** permite //acceder al altavoz// (bit 4) y a la señal de audio para grabar a cinta (bit 3). Los bits 0, 1 y 2 controlan //el color del borde//, como podemos ver en el siguiente ejemplo:
  
 <code z80> <code z80>
Línea 238: Línea 238:
     ORG 50000     ORG 50000
  
-    LD B, 6              ; 6 iteraciones, color inicial borde+    ld b, 6              ; 6 iteraciones, color inicial borde
  
 bucle: bucle:
-    LD A, $7F            ; Semifila B a ESPACIO +    ld a, $7f            ; Semifila B a ESPACIO 
-    IN A, ($FE)          ; Leemos el puerto +    in a, ($fe)          ; Leemos el puerto 
-    BIT 0,             ; Testeamos el bit 0 (ESPACIO) +    bit 0,             ; Testeamos el bit 0 (ESPACIO) 
-    JR NZ, bucle         ; Si esta a 1 (no pulsado), esperar+    jr nz, bucle         ; Si esta a 1 (no pulsado), esperar
  
-    LD A             ; A = B +    ld a             ; A = B 
-    OUT ($FE),         ; Cambiamos el color del borde+    out ($fe),         ; Cambiamos el color del borde
  
 suelta_tecla:            ; Ahora esperamos a que se suelte la tecla suelta_tecla:            ; Ahora esperamos a que se suelte la tecla
-    LD A, $7F            ; Semifila B a ESPACIO +    ld a, $7f            ; Semifila B a ESPACIO 
-    IN A, ($FE)          ; Leemos el puerto +    in a, ($fe)          ; Leemos el puerto 
-    BIT 0,             ; Testeamos el bit 0 +    bit 0,             ; Testeamos el bit 0 
-    JR Z, suelta_tecla   ; Saltamos hasta que se suelte+    jr z, suelta_tecla   ; Saltamos hasta que se suelte
  
-    DJNZ bucle           ; Repetimos "B" veces+    djnz bucle           ; Repetimos "B" veces
  
 salir: salir:
-    RET+    ret
  
     END 50000            ; Ejecucion en 50000     END 50000            ; Ejecucion en 50000
Línea 267: Línea 267:
 \\  \\ 
  
- El puerto **$7FFD** gestiona la //paginación en los modos de 128K//, permitiendo cambiar el modelo de páginas de memoria (algo que no vamos a ver en este capítulo).+ El puerto **$7ffd** gestiona la //paginación en los modos de 128K//, permitiendo cambiar el modelo de páginas de memoria (algo que no vamos a ver en este capítulo).
  
- Los puertos **$BFFD** y **$FFFD** gestionan el //chip de sonido// en aquellos modelos que dispongan de él, así como el RS232/MIDI y el interfaz AUX.+ Los puertos **$bffd** y **$fffd** gestionan el //chip de sonido// en aquellos modelos que dispongan de él, así como el RS232/MIdi y el interfaz AUX.
  
- Finalmente, el puerto **$0FFD** gestiona //el puerto paralelo de impresora//, y los puertos **$2FFD** y **$3FFD** permiten gestionar la controladora de disco en aquellos modelos de Spectrum que dispongan de ella.+ Finalmente, el puerto **$0ffd** gestiona //el puerto paralelo de impresora//, y los puertos **$2ffd** y **$3ffd** permiten gestionar la controladora de disco en aquellos modelos de Spectrum que dispongan de ella.
  
  Podéis encontrar más información sobre los puertos de Entrada y Salida en el //capítulo 8 sección 23 del manual del +2A y +3//, disponible online en World Of Spectrum.  Podéis encontrar más información sobre los puertos de Entrada y Salida en el //capítulo 8 sección 23 del manual del +2A y +3//, disponible online en World Of Spectrum.
Línea 288: Línea 288:
 |Mnemonic     |Clck|Siz|SZHPNC|  OP-Code      Description      |        Notes         | |Mnemonic     |Clck|Siz|SZHPNC|  OP-Code      Description      |        Notes         |
 --------------+----+---+------+------------+---------------------+----------------------- --------------+----+---+------+------------+---------------------+-----------------------
-|ADC A,r      | 4  | 1 |***V0*|88+rb       |Add with Carry       |A=A+s+CY              | +|adc a,r      | 4  | 1 |***V0*|88+rb       |Add with Carry       |A=A+s+CY              | 
-|ADC A,N      | 7  | 2 |      |CE XX                                                | +|adc a,N      | 7  | 2 |      |CE XX                                                | 
-|ADC A,(HL)   | 7  | 1 |      |8E          |                                          | +|adc a,(hl)   | 7  | 1 |      |8E          |                                          | 
-|ADC A,(IX+N) | 19 | 3 |      |DD 8E XX    |                                          | +|adc a,(ix+n) | 19 | 3 |      |DD 8E XX    |                                          | 
-|ADC A,(IY+N) | 19 | 3 |      |FD 8E XX    |                                          | +|adc a,(iy+n) | 19 | 3 |      |FD 8E XX    |                                          | 
-|ADC HL,BC    | 15 | 2 |**?V0*|ED 4A       |Add with Carry       |HL=HL+ss+CY           | +|adc hl,bc    | 15 | 2 |**?V0*|ED 4A       |Add with Carry       |HL=HL+ss+CY           | 
-|ADC HL,DE    | 15 | 2 |      |ED 5A                                                | +|adc hl,de    | 15 | 2 |      |ED 5A                                                | 
-|ADC HL,HL    | 15 | 2 |      |ED 6A                                                | +|adc hl,hl    | 15 | 2 |      |ED 6A                                                | 
-|ADC HL,SP    | 15 | 2 |      |ED 7A                                                |+|adc hl,sp    | 15 | 2 |      |ED 7A                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|ADD A,r      | 4  | 1 |***V0*|80+rb       |Add (8-bit)          |A=A+s                 | +|add a,r      | 4  | 1 |***V0*|80+rb       |Add (8-bit)          |A=A+s                 | 
-|ADD A,N      | 7  | 2 |      |C6 XX                                                | +|add a,N      | 7  | 2 |      |C6 XX                                                | 
-|ADD A,(HL)   | 7  | 1 |      |86          |                                          | +|add a,(hl)   | 7  | 1 |      |86          |                                          | 
-|ADD A,(IX+N) | 19 | 3 |      |DD 86 XX    |                                          | +|add a,(ix+n) | 19 | 3 |      |DD 86 XX    |                                          | 
-|ADD A,(IY+N) | 19 | 3 |      |FD 86 XX    |                                          | +|add a,(iy+n) | 19 | 3 |      |FD 86 XX    |                                          | 
-|ADD HL,BC    | 11 | 1 |--?-0*|09          |Add (16-bit)         |HL=HL+ss              | +|add hl,bc    | 11 | 1 |--?-0*|09          |Add (16-bit)         |HL=HL+ss              | 
-|ADD HL,DE    | 11 | 1 |      |19          |                                          | +|add hl,de    | 11 | 1 |      |19          |                                          | 
-|ADD HL,HL    | 11 | 1 |      |29          |                                          | +|add hl,hl    | 11 | 1 |      |29          |                                          | 
-|ADD HL,SP    | 11 | 1 |      |39          |                                          | +|add hl,sp    | 11 | 1 |      |39          |                                          | 
-|ADD IX,BC    | 15 | 2 |--?-0*|DD 09       |Add (IX register)    |IX=IX+pp              | +|add ix,bc    | 15 | 2 |--?-0*|DD 09       |Add (IX register)    |IX=IX+pp              | 
-|ADD IX,DE    | 15 | 2 |      |DD 19                                                | +|add ix,de    | 15 | 2 |      |DD 19                                                | 
-|ADD IX,IX    | 15 | 2 |      |DD 29                                                | +|add ix,ix    | 15 | 2 |      |DD 29                                                | 
-|ADD IX,SP    | 15 | 2 |      |DD 39                                                | +|add ix,sp    | 15 | 2 |      |DD 39                                                | 
-|ADD IY,BC    | 15 | 2 |--?-0*|FD 09       |Add (IY register)    |IY=IY+rr              | +|add iy,bc    | 15 | 2 |--?-0*|FD 09       |Add (IY register)    |IY=IY+rr              | 
-|ADD IY,DE    | 15 | 2 |      |FD 19                                                | +|add iy,de    | 15 | 2 |      |FD 19                                                | 
-|ADD IY,IY    | 15 | 2 |      |FD 29                                                | +|add iy,iy    | 15 | 2 |      |FD 29                                                | 
-|ADD IY,SP    | 15 | 2 |      |FD 39                                                |+|add iy,sp    | 15 | 2 |      |FD 39                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|AND r        | 4  | 1 |***P00|A0+rb       |Logical AND          |A=A&                | +|and r        | 4  | 1 |***P00|A0+rb       |Logical AND          |A=A&                | 
-|AND N        | 7  | 2 |      |E6 XX                                                | +|and N        | 7  | 2 |      |E6 XX                                                | 
-|AND (HL)     | 7  | 1 |      |A6          |                                          | +|and (hl)     | 7  | 1 |      |A6          |                                          | 
-|AND (IX+N)   | 19 | 3 |      |DD A6 XX    |                                          | +|and (ix+n)   | 19 | 3 |      |DD A6 XX    |                                          | 
-|AND (IY+N)   | 19 | 3 |      |FD A6 XX    |                                          |+|and (iy+n)   | 19 | 3 |      |FD A6 XX    |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|BIT b,r      | 8  | 2 |?*1?0-|CB 40+8*b+rb|Test Bit             |m&{2^b}               | +|bit b,r      | 8  | 2 |?*1?0-|CB 40+8*b+rb|Test Bit             |m&{2^b}               | 
-|BIT b,(HL)   | 12 | 2 |      |CB 46+8*b                                            | +|bit b,(hl)   | 12 | 2 |      |CB 46+8*b                                            | 
-|BIT b,(IX+N) | 20 | 4 |      |DD CB XX 46+8*b                                        | +|bit b,(ix+N) | 20 | 4 |      |DD CB XX 46+8*b                                        | 
-|BIT b,(IY+N) | 20 | 4 |      |FD CB XX 46+8*b                                        |+|bit b,(iy+N) | 20 | 4 |      |FD CB XX 46+8*b                                        |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|CALL NN      | 17 | 3 |------|CD XX XX    |Unconditional Call   |-(SP)=PC,PC=nn        | +|call NN      | 17 | 3 |------|CD XX XX    |Unconditional Call   |-(SP)=PC,PC=nn        | 
-|CALL C,NN    |17/1| 3 |------|DC XX XX    |Conditional Call     |If Carry = 1          | +|call c,NN    |17/1| 3 |------|DC XX XX    |Conditional Call     |If Carry = 1          | 
-|CALL NC,NN   |17/1| 3 |      |D4 XX XX    |                     |If carry = 0          | +|call nc,NN   |17/1| 3 |      |D4 XX XX    |                     |If carry = 0          | 
-|CALL M,NN    |17/1| 3 |      |FC XX XX    |                     |If Sign = 1 (negative)| +|call m,NN    |17/1| 3 |      |FC XX XX    |                     |If Sign = 1 (negative)| 
-|CALL P,NN    |17/1| 3 |      |F4 XX XX    |                     |If Sign = 0 (positive)| +|call p,NN    |17/1| 3 |      |F4 XX XX    |                     |If Sign = 0 (positive)| 
-|CALL Z,NN    |17/1| 3 |      |CC XX XX    |                     |If Zero = 1 (ans.=0) +|call z,NN    |17/1| 3 |      |CC XX XX    |                     |If Zero = 1 (ans.=0) 
-|CALL NZ,NN   |17/1| 3 |      |C4 XX XX    |                     |If Zero = 0 (non-zero)| +|call nz,NN   |17/1| 3 |      |C4 XX XX    |                     |If Zero = 0 (non-zero)| 
-|CALL PE,NN   |17/1| 3 |      |EC XX XX    |                     |If Parity = 1 (even) +|call pe,NN   |17/1| 3 |      |EC XX XX    |                     |If Parity = 1 (even) 
-|CALL PO,NN   |17/1| 3 |      |E4 XX XX    |                     |If Parity = 0 (odd)   |+|call po,NN   |17/1| 3 |      |E4 XX XX    |                     |If Parity = 0 (odd)   |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|CCF          | 4  | 1 |--?-0*|3F          |Complement Carry Flag|CY=~CY                |+|ccf          | 4  | 1 |--?-0*|3F          |Complement Carry Flag|CY=~CY                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|CP r         | 4  | 1 |***V1*|B8+rb       |Compare              |Compare A-s           | +|cp r         | 4  | 1 |***V1*|B8+rb       |Compare              |Compare A-s           | 
-|CP N         | 7  | 2 |      |FE XX                                                | +|cp N         | 7  | 2 |      |FE XX                                                | 
-|CP (HL)      | 7  | 1 |      |BE          |                                          | +|cp (hl)      | 7  | 1 |      |BE          |                                          | 
-|CP (IX+N)    | 19 | 3 |      |DD BE XX    |                                          | +|cp (ix+n)    | 19 | 3 |      |DD BE XX    |                                          | 
-|CP (IY+N)    | 19 | 3 |      |FD BE XX    |                                          | +|cp (iy+n)    | 19 | 3 |      |FD BE XX    |                                          | 
-|CPD          | 16 | 2 |****1-|ED A9       |Compare and Decrement|A-(HL),HL=HL-1,BC=BC-1| +|cpd          | 16 | 2 |****1-|ED A9       |Compare and Decrement|A-(HL),HL=HL-1,BC=BC-1| 
-|CPDR         |21/1| 2 |****1-|ED B9       |Compare, Dec., Repeat|CPD till A=(HL)or BC=0| +|cpdr         |21/1| 2 |****1-|ED B9       |Compare, Dec., Repeat|cpd till A=(HL)or BC=0| 
-|CPI          | 16 | 2 |****1-|ED A1       |Compare and Increment|A-(HL),HL=HL+1,BC=BC-1| +|cpi          | 16 | 2 |****1-|ED A1       |Compare and Increment|A-(HL),HL=HL+1,BC=BC-1| 
-|CPIR         |21/1| 2 |****1-|ED B1       |Compare, Inc., Repeat|CPI till A=(HL)or BC=0|+|cpir         |21/1| 2 |****1-|ED B1       |Compare, Inc., Repeat|cpi till A=(HL)or BC=0|
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|CPL          | 4  | 1 |--1-1-|2F          |Complement           |A=~A                  |+|cpl          | 4  | 1 |--1-1-|2F          |Complement           |A=~A                  |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|DAA          | 4  | 1 |***P-*|27          |Decimal Adjust Acc.  |A=BCD format  (dec.)  |+|daa          | 4  | 1 |***P-*|27          |Decimal Adjust Acc.  |A=BCD format  (dec.)  |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|DEC A        | 4  | 1 |***V1-|3D          |Decrement (8-bit)    |s=s-1                 | +|dec a        | 4  | 1 |***V1-|3D          |Decrement (8-bit)    |s=s-1                 | 
-|DEC B        | 4  | 1 |      |05          |                                          | +|dec b        | 4  | 1 |      |05          |                                          | 
-|DEC C        | 4  | 1 |      |0D          |                                          | +|dec c        | 4  | 1 |      |0D          |                                          | 
-|DEC D        | 4  | 1 |      |15          |                                          | +|dec d        | 4  | 1 |      |15          |                                          | 
-|DEC E        | 4  | 1 |      |1D          |                                          | +|dec e        | 4  | 1 |      |1D          |                                          | 
-|DEC H        | 4  | 1 |      |25          |                                          | +|dec h        | 4  | 1 |      |25          |                                          | 
-|DEC L        | 4  | 2 |      |2D          |                                          | +|dec l        | 4  | 2 |      |2D          |                                          | 
-|DEC (HL)     | 11 | 1 |      |35          |                                          | +|dec (hl)     | 11 | 1 |      |35          |                                          | 
-|DEC (IX+N)   | 23 | 3 |      |DD 35 XX    |                                          | +|dec (ix+n)   | 23 | 3 |      |DD 35 XX    |                                          | 
-|DEC (IY+N)   | 23 | 3 |      |FD 35 XX    |                                          | +|dec (iy+n)   | 23 | 3 |      |FD 35 XX    |                                          | 
-|DEC BC       | 6  | 1 |------|0B          |Decrement (16-bit)   |ss=ss-1               | +|dec bc       | 6  | 1 |------|0B          |Decrement (16-bit)   |ss=ss-1               | 
-|DEC DE       | 6  | 1 |      |1B          |                                          | +|dec de       | 6  | 1 |      |1B          |                                          | 
-|DEC HL       | 6  | 1 |      |2B          |                                          | +|dec hl       | 6  | 1 |      |2B          |                                          | 
-|DEC SP       | 6  | 1 |      |3B          |                                          | +|dec sp       | 6  | 1 |      |3B          |                                          | 
-|DEC IX       | 10 | 2 |------|DD 2B       |Decrement            |xx=xx-1               | +|dec ix       | 10 | 2 |------|DD 2B       |Decrement            |xx=xx-1               | 
-|DEC IY       | 10 | 2 |      |FD 2B                                                |+|dec iy       | 10 | 2 |      |FD 2B                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|DI           | 4  | 1 |------|F3          |Disable Interrupts                        |+|di           | 4  | 1 |------|F3          |Disable Interrupts                        |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|DJNZ $+2     |13/8| 1 |------|10          |Dec., Jump Non-Zero  |B=B-1 till B=0        |+|djnz $+2     |13/8| 1 |------|10          |Dec., Jump Non-Zero  |B=B-1 till B=0        |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|EI           | 4  | 1 |------|FB          |Enable Interrupts    |                      |+|ei           | 4  | 1 |------|FB          |Enable Interrupts    |                      |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|EX (SP),HL   | 19 | 1 |------|E3          |Exchange             |(SP)<->HL             | +|ex (sp),hl   | 19 | 1 |------|E3          |Exchange             |(SP)<->HL             | 
-|EX (SP),IX   | 23 | 2 |------|DD E3                           |(SP)<->xx             | +|ex (sp),ix   | 23 | 2 |------|DD E3                           |(SP)<->xx             | 
-|EX (SP),IY   | 23 | 2 |      |FD E3                                                | +|ex (sp),iy   | 23 | 2 |      |FD E3                                                | 
-|EX AF,AF   | 4  | 1 |------|08          |                     |AF<->AF'              | +|ex af,af   | 4  | 1 |------|08          |                     |AF<->AF'              | 
-|EX DE,HL     | 4  | 1 |------|EB          |                     |DE<->HL               | +|ex de,hl     | 4  | 1 |------|EB          |                     |DE<->HL               | 
-|EXX          | 4  | 1 |------|D9          |Exchange             |qq<->qq'   (except AF)|+|exx          | 4  | 1 |------|D9          |Exchange             |qq<->qq'   (except AF)|
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|HALT         | 4  | 1 |------|76          |Halt                                      |+|halt         | 4  | 1 |------|76          |Halt                                      |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|IM 0         | 8  | 2 |------|ED 46       |Interrupt Mode                   (n=0,1,2)| +|im 0         | 8  | 2 |------|ED 46       |Interrupt Mode                   (n=0,1,2)| 
-|IM 1         | 8  | 2 |      |ED 56                                                | +|im 1         | 8  | 2 |      |ED 56                                                | 
-|IM 2         | 8  | 2 |      |ED 5E                                                |+|im 2         | 8  | 2 |      |ED 5E                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|IN A,(N)     | 11 | 2 |------|DB XX       |Input                |A=(n)                 | +|in a,(N)     | 11 | 2 |------|DB XX       |Input                |A=(n)                 | 
-|IN (C)       | 12 | 2 |***P0-|ED 70       |Input*                       (Unsupported)| +|in (c)       | 12 | 2 |***P0-|ED 70       |Input*                       (Unsupported)| 
-|IN A,(C)     | 12 | 2 |***P0-|ED 78       |Input                |r=(C)                 | +|in a,(c)     | 12 | 2 |***P0-|ED 78       |Input                |r=(C)                 | 
-|IN B,(C)     | 12 | 2 |      |ED 40                                                | +|in b,(c)     | 12 | 2 |      |ED 40                                                | 
-|IN C,(C)     | 12 | 2 |      |ED 48                                                | +|in c,(c)     | 12 | 2 |      |ED 48                                                | 
-|IN D,(C)     | 12 | 2 |      |ED 50                                                | +|in d,(c)     | 12 | 2 |      |ED 50                                                | 
-|IN E,(C)     | 12 | 2 |      |ED 58                                                | +|in e,(c)     | 12 | 2 |      |ED 58                                                | 
-|IN H,(C)     | 12 | 2 |      |ED 60                                                | +|in h,(c)     | 12 | 2 |      |ED 60                                                | 
-|IN L,(C)     | 12 | 2 |      |ED 68                                                |+|in l,(c)     | 12 | 2 |      |ED 68                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|INC A        | 4  | 1 |***V0-|3C          |Increment (8-bit)    |r=r+1                 | +|inc a        | 4  | 1 |***V0-|3C          |Increment (8-bit)    |r=r+1                 | 
-|INC B        | 4  | 1 |      |04          |                                          | +|inc b        | 4  | 1 |      |04          |                                          | 
-|INC C        | 4  | 1 |      |0C          |                                          | +|inc c        | 4  | 1 |      |0C          |                                          | 
-|INC D        | 4  | 1 |      |14          |                                          | +|inc d        | 4  | 1 |      |14          |                                          | 
-|INC E        | 4  | 1 |      |1C          |                                          | +|inc e        | 4  | 1 |      |1C          |                                          | 
-|INC H        | 4  | 1 |      |24          |                                          | +|inc h        | 4  | 1 |      |24          |                                          | 
-|INC L        | 4  | 1 |      |2C          |                                          | +|inc l        | 4  | 1 |      |2C          |                                          | 
-|INC BC       | 6  | 1 |------|03          |Increment (16-bit)   |ss=ss+1               | +|inc bc       | 6  | 1 |------|03          |Increment (16-bit)   |ss=ss+1               | 
-|INC DE       | 6  | 1 |      |13          |                                          | +|inc de       | 6  | 1 |      |13          |                                          | 
-|INC HL       | 6  | 1 |      |23          |                                          | +|inc hl       | 6  | 1 |      |23          |                                          | 
-|INC SP       | 6  | 1 |      |33          |                                          | +|inc sp       | 6  | 1 |      |33          |                                          | 
-|INC IX       | 10 | 2 |------|DD 23       |Increment            |xx=xx+1               | +|inc ix       | 10 | 2 |------|DD 23       |Increment            |xx=xx+1               | 
-|INC IY       | 10 | 2 |      |FD 23                                                | +|inc iy       | 10 | 2 |      |FD 23                                                | 
-|INC (HL)     | 11 | 1 |***V0-|34          |Increment (indirect) |(HL)=(HL)+1           | +|inc (hl)     | 11 | 1 |***V0-|34          |Increment (indirect) |(HL)=(HL)+1           | 
-|INC (IX+N)   | 23 | 3 |***V0-|DD 34 XX    |Increment            |(xx+d)=(xx+d)+1       | +|inc (ix+n)   | 23 | 3 |***V0-|DD 34 XX    |Increment            |(xx+d)=(xx+d)+1       | 
-|INC (IY+N)   | 23 | 3 |      |FD 34 XX    |                                          |+|inc (iy+n)   | 23 | 3 |      |FD 34 XX    |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|IND          | 16 | 2 |?*??1-|ED AA       |Input and Decrement  |(HL)=(C),HL=HL-1,B=B-1| +|ind          | 16 | 2 |?*??1-|ED AA       |Input and Decrement  |(HL)=(C),HL=HL-1,B=B-1| 
-|INDR         |21/1| 2 |?1??1-|ED BA       |Input, Dec., Repeat  |IND till B=0          | +|indr         |21/1| 2 |?1??1-|ED BA       |Input, Dec., Repeat  |ind till B=0          | 
-|INI          | 16 | 2 |?*??1-|ED A2       |Input and Increment  |(HL)=(C),HL=HL+1,B=B-1| +|ini          | 16 | 2 |?*??1-|ED A2       |Input and Increment  |(HL)=(C),HL=HL+1,B=B-1| 
-|INIR         |21/1| 2 |?1??1-|ED B2       |Input, Inc., Repeat  |INI till B=0          |+|inir         |21/1| 2 |?1??1-|ED B2       |Input, Inc., Repeat  |ini till B=0          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|JP $NN       | 10 | 3 |------|C3 XX XX    |Unconditional Jump   |PC=nn                 | +|jp $NN       | 10 | 3 |------|C3 XX XX    |Unconditional Jump   |PC=nn                 | 
-|JP (HL)      | 4  | 1 |------|E9          |Unconditional Jump   |PC=(HL)               | +|jp (hl)      | 4  | 1 |------|E9          |Unconditional Jump   |PC=(HL)               | 
-|JP (IX)      | 8  | 2 |------|DD E9       |Unconditional Jump   |PC=(xx)               | +|jp (ix)      | 8  | 2 |------|DD E9       |Unconditional Jump   |PC=(xx)               | 
-|JP (IY)      | 8  | 2 |      |FD E9                                                | +|jp (iy)      | 8  | 2 |      |FD E9                                                | 
-|JP C,$NN     |10/1| 3 |------|DA XX XX    |Conditional Jump     |If Carry = 1          | +|jp c,$NN     |10/1| 3 |------|DA XX XX    |Conditional Jump     |If Carry = 1          | 
-|JP NC,$NN    |10/1| 3 |      |D2 XX XX    |                     |If Carry = 0          | +|jp nc,$NN    |10/1| 3 |      |D2 XX XX    |                     |If Carry = 0          | 
-|JP M,$NN     |10/1| 3 |      |FA XX XX    |                     |If Sign = 1 (negative)| +|jp m,$NN     |10/1| 3 |      |FA XX XX    |                     |If Sign = 1 (negative)| 
-|JP P,$NN     |10/1| 3 |      |F2 XX XX    |                     |If Sign = 0 (positive)| +|jp p,$NN     |10/1| 3 |      |F2 XX XX    |                     |If Sign = 0 (positive)| 
-|JP Z,$NN     |10/1| 3 |      |CA XX XX    |                     |If Zero = 1 (ans.= 0) | +|jp z,$NN     |10/1| 3 |      |CA XX XX    |                     |If Zero = 1 (ans.= 0) | 
-|JP NZ,$NN    |10/1| 3 |      |C2 XX XX    |                     |If Zero = 0 (non-zero)| +|jp nz,$NN    |10/1| 3 |      |C2 XX XX    |                     |If Zero = 0 (non-zero)| 
-|JP PE,$NN    |10/1| 3 |      |EA XX XX    |                     |If Parity = 1 (even) +|jp pe,$NN    |10/1| 3 |      |EA XX XX    |                     |If Parity = 1 (even) 
-|JP PO,$NN    |10/1| 3 |      |E2 XX XX    |                     |If Parity = 0 (odd)   |+|jp po,$NN    |10/1| 3 |      |E2 XX XX    |                     |If Parity = 0 (odd)   |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|JR $N+2      | 12 | 2 |------|18 XX       |Relative Jump        |PC=PC+e               | +|jr $N+2      | 12 | 2 |------|18 XX       |Relative Jump        |PC=PC+e               | 
-|JR C,$N+2    |12/7| 2 |------|38 XX       |Cond. Relative Jump  |If cc JR(cc=C,NC,NZ,Z)| +|jr c,$N+2    |12/7| 2 |------|38 XX       |Cond. Relative Jump  |If cc jr(cc=C,NC,NZ,Z)| 
-|JR NC,$N+2   |12/7| 2 |      |30 XX                                                | +|jr nc,$N+2   |12/7| 2 |      |30 XX                                                | 
-|JR Z,$N+2    |12/7| 2 |      |28 XX                                                | +|jr z,$N+2    |12/7| 2 |      |28 XX                                                | 
-|JR NZ,$N+2   |12/7| 2 |      |20 XX                                                |+|jr nz,$N+2   |12/7| 2 |      |20 XX                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|LD I,      | 9  | 2 |------|ED 47       |Load*                |dst=src               | +|ld i,      | 9  | 2 |------|ED 47       |Load*                |dst=src               | 
-|LD R,      | 9  | 2 |      |ED 4F                                                | +|ld r,      | 9  | 2 |      |ED 4F                                                | 
-|LD A,      | 9  | 2 |**0*0-|ED 57       |Load*                |dst=src               | +|ld a,      | 9  | 2 |**0*0-|ED 57       |Load*                |dst=src               | 
-|LD A,      | 9  | 2 |      |ED 5F                                                | +|ld a,      | 9  | 2 |      |ED 5F                                                | 
-|LD A,r       | 4  | 1 |------|78+rb       |Load (8-bit)         |dst=src               | +|ld a,r       | 4  | 1 |------|78+rb       |Load (8-bit)         |dst=src               | 
-|LD A,N       | 7  | 2 |      |3E XX                                                | +|ld a,N       | 7  | 2 |      |3E XX                                                | 
-|LD A,(BC)    | 7  | 1 |      |0A          |                                          | +|ld a,(bc)    | 7  | 1 |      |0A          |                                          | 
-|LD A,(DE)    | 7  | 1 |      |1A          |                                          | +|ld a,(de)    | 7  | 1 |      |1A          |                                          | 
-|LD A,(HL)    | 7  | 1 |      |7E          |                                          | +|ld a,(hl)    | 7  | 1 |      |7E          |                                          | 
-|LD A,(IX+N)  | 19 | 3 |      |DD 7E XX    |                                          | +|ld a,(ix+n)  | 19 | 3 |      |DD 7E XX    |                                          | 
-|LD A,(IY+N)  | 19 | 3 |      |FD 7E XX    |                                          | +|ld a,(iy+n)  | 19 | 3 |      |FD 7E XX    |                                          | 
-|LD A,(NN)    | 13 | 3 |      |3A XX XX    |                                          | +|ld a,(NN)    | 13 | 3 |      |3A XX XX    |                                          | 
-|LD B,r       | 4  | 1 |      |40+rb                                                | +|ld b,r       | 4  | 1 |      |40+rb                                                | 
-|LD B,N       | 7  | 2 |      |06 XX                                                | +|ld b,N       | 7  | 2 |      |06 XX                                                | 
-|LD B,(HL)    | 7  | 1 |      |46          |                                          | +|ld b,(hl)    | 7  | 1 |      |46          |                                          | 
-|LD B,(IX+N)  | 19 | 3 |      |DD 46 XX    |                                          | +|ld b,(ix+n)  | 19 | 3 |      |DD 46 XX    |                                          | 
-|LD B,(IY+N)  | 19 | 3 |      |FD 46 XX    |                                          | +|ld b,(iy+n)  | 19 | 3 |      |FD 46 XX    |                                          | 
-|LD C,r       | 4  | 1 |      |48+rb                                                | +|ld c,r       | 4  | 1 |      |48+rb                                                | 
-|LD C,N       | 7  | 2 |      |0E XX                                                | +|ld c,N       | 7  | 2 |      |0E XX                                                | 
-|LD C,(HL)    | 7  | 1 |      |4E          |                                          | +|ld c,(hl)    | 7  | 1 |      |4E          |                                          | 
-|LD C,(IX+N)  | 19 | 3 |      |DD 4E XX    |                                          | +|ld c,(ix+n)  | 19 | 3 |      |DD 4E XX    |                                          | 
-|LD C,(IY+N)  | 19 | 3 |      |FD 4E XX    |                                          | +|ld c,(iy+n)  | 19 | 3 |      |FD 4E XX    |                                          | 
-|LD D,r       | 4  | 1 |      |50+rb                                                | +|ld d,r       | 4  | 1 |      |50+rb                                                | 
-|LD D,N       | 7  | 2 |      |16 XX                                                | +|ld d,N       | 7  | 2 |      |16 XX                                                | 
-|LD D,(HL)    | 7  | 1 |      |56          |                                          | +|ld d,(hl)    | 7  | 1 |      |56          |                                          | 
-|LD D,(IX+N)  | 19 | 3 |      |DD 56 XX    |                                          | +|ld d,(ix+n)  | 19 | 3 |      |DD 56 XX    |                                          | 
-|LD D,(IY+N)  | 19 | 3 |      |FD 56 XX    |                                          | +|ld d,(iy+n)  | 19 | 3 |      |FD 56 XX    |                                          | 
-|LD E,r       | 4  | 1 |      |58+rb                                                | +|ld e,r       | 4  | 1 |      |58+rb                                                | 
-|LD E,N       | 7  | 2 |      |1E XX                                                | +|ld e,N       | 7  | 2 |      |1E XX                                                | 
-|LD E,(HL)    | 7  | 1 |      |5E          |                                          | +|ld e,(hl)    | 7  | 1 |      |5E          |                                          | 
-|LD E,(IX+N)  | 19 | 3 |      |DD 5E XX    |                                          | +|ld e,(ix+n)  | 19 | 3 |      |DD 5E XX    |                                          | 
-|LD E,(IY+N)  | 19 | 3 |      |FD 5E XX    |                                          | +|ld e,(iy+n)  | 19 | 3 |      |FD 5E XX    |                                          | 
-|LD H,r       | 4  | 1 |      |60+rb                                                | +|ld h,r       | 4  | 1 |      |60+rb                                                | 
-|LD H,N       | 7  | 2 |      |26 XX                                                | +|ld h,N       | 7  | 2 |      |26 XX                                                | 
-|LD H,(HL)    | 7  | 1 |      |66          |                                          | +|ld h,(hl)    | 7  | 1 |      |66          |                                          | 
-|LD H,(IX+N)  | 19 | 3 |      |DD 66 XX    |                                          | +|ld h,(ix+n)  | 19 | 3 |      |DD 66 XX    |                                          | 
-|LD H,(IY+N)  | 19 | 3 |      |FD 66 XX    |                                          | +|ld h,(iy+n)  | 19 | 3 |      |FD 66 XX    |                                          | 
-|LD L,r       | 4  | 1 |      |68+rb                                                | +|ld l,r       | 4  | 1 |      |68+rb                                                | 
-|LD L,N       | 7  | 2 |      |2E XX                                                | +|ld l,N       | 7  | 2 |      |2E XX                                                | 
-|LD L,(HL)    | 7  | 1 |      |6E          |                                          | +|ld l,(hl)    | 7  | 1 |      |6E          |                                          | 
-|LD L,(IX+N)  | 19 | 3 |      |DD 6E XX    |                                          | +|ld l,(ix+n)  | 19 | 3 |      |DD 6E XX    |                                          | 
-|LD L,(IY+N)  | 19 | 3 |      |FD 6E XX    |                                          | +|ld l,(iy+n)  | 19 | 3 |      |FD 6E XX    |                                          | 
-|LD BC,(NN)   | 20 | 4 |------|ED 4B XX XX |Load (16-bit)        |dst=src               | +|ld bc,(NN)   | 20 | 4 |------|ED 4B XX XX |Load (16-bit)        |dst=src               | 
-|LD BC,NN     | 10 | 3 |      |01 XX XX    |                                          | +|ld bc,NN     | 10 | 3 |      |01 XX XX    |                                          | 
-|LD DE,(NN)   | 20 | 4 |      |ED 5B XX XX |                                          | +|ld de,(NN)   | 20 | 4 |      |ED 5B XX XX |                                          | 
-|LD DE,NN     | 10 | 3 |      |11 XX XX    |                                          | +|ld de,NN     | 10 | 3 |      |11 XX XX    |                                          | 
-|LD HL,(NN)   | 20 | 3 |      |2A XX XX    |                                          | +|ld hl,(NN)   | 20 | 3 |      |2A XX XX    |                                          | 
-|LD HL,NN     | 10 | 3 |      |21 XX XX    |                                          | +|ld hl,NN     | 10 | 3 |      |21 XX XX    |                                          | 
-|LD SP,(NN)   | 20 | 4 |      |ED 7B XX XX |                                          | +|ld sp,(NN)   | 20 | 4 |      |ED 7B XX XX |                                          | 
-|LD SP,HL     | 6  | 1 |      |F9          |                                          | +|ld sp,hl     | 6  | 1 |      |F9          |                                          | 
-|LD SP,IX     | 10 | 2 |      |DD F9                                                | +|ld sp,ix     | 10 | 2 |      |DD F9                                                | 
-|LD SP,IY     | 10 | 2 |      |FD F9                                                | +|ld sp,iy     | 10 | 2 |      |FD F9                                                | 
-|LD SP,NN     | 10 | 3 |      |31 XX XX    |                                          | +|ld sp,NN     | 10 | 3 |      |31 XX XX    |                                          | 
-|LD IX,(NN)   | 20 | 4 |      |DD 2A XX XX |                                          | +|ld ix,(NN)   | 20 | 4 |      |DD 2A XX XX |                                          | 
-|LD IX,NN     | 14 | 4 |      |DD 21 XX XX |                                          | +|ld ix,NN     | 14 | 4 |      |DD 21 XX XX |                                          | 
-|LD IY,(NN)   | 20 | 4 |      |FD 2A XX XX |                                          | +|ld iy,(NN)   | 20 | 4 |      |FD 2A XX XX |                                          | 
-|LD IY,NN     | 14 | 4 |      |FD 21 XX XX |                                          | +|ld iy,NN     | 14 | 4 |      |FD 21 XX XX |                                          | 
-|LD (HL),r    | 7  | 1 |------|70+rb       |Load (Indirect)      |dst=src               | +|ld (hl),r    | 7  | 1 |------|70+rb       |Load (Indirect)      |dst=src               | 
-|LD (HL),N    | 10 | 2 |      |36 XX                                                | +|ld (hl),N    | 10 | 2 |      |36 XX                                                | 
-|LD (BC),   | 7  | 1 |      |02          |                                          | +|ld (bc),   | 7  | 1 |      |02          |                                          | 
-|LD (DE),   | 7  | 1 |      |12          |                                          | +|ld (de),   | 7  | 1 |      |12          |                                          | 
-|LD (NN),   | 13 | 3 |      |32 XX XX    |                                          | +|ld (NN),   | 13 | 3 |      |32 XX XX    |                                          | 
-|LD (NN),BC   | 20 | 4 |      |ED 43 XX XX |                                          | +|ld (NN),bc   | 20 | 4 |      |ED 43 XX XX |                                          | 
-|LD (NN),DE   | 20 | 4 |      |ED 53 XX XX |                                          | +|ld (NN),de   | 20 | 4 |      |ED 53 XX XX |                                          | 
-|LD (NN),HL   | 16 | 3 |      |22 XX XX    |                                          | +|ld (NN),hl   | 16 | 3 |      |22 XX XX    |                                          | 
-|LD (NN),IX   | 20 | 4 |      |DD 22 XX XX |                                          | +|ld (NN),ix   | 20 | 4 |      |DD 22 XX XX |                                          | 
-|LD (NN),IY   | 20 | 4 |      |FD 22 XX XX |                                          | +|ld (NN),iy   | 20 | 4 |      |FD 22 XX XX |                                          | 
-|LD (NN),SP   | 20 | 4 |      |ED 73 XX XX |                                          | +|ld (NN),sp   | 20 | 4 |      |ED 73 XX XX |                                          | 
-|LD (IX+N),r  | 19 | 3 |      |DD 70+rb XX |                                          | +|ld (ix+n),r  | 19 | 3 |      |DD 70+rb XX |                                          | 
-|LD (IX+N),N  | 19 | 4 |      |DD 36 XX XX |                                          | +|ld (ix+n),N  | 19 | 4 |      |DD 36 XX XX |                                          | 
-|LD (IY+N),r  | 19 | 3 |      |FD 70+rb XX |                                          | +|ld (iy+n),r  | 19 | 3 |      |FD 70+rb XX |                                          | 
-|LD (IY+N),N  | 19 | 4 |      |FD 36 XX XX |                                          |+|ld (iy+n),N  | 19 | 4 |      |FD 36 XX XX |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|LDD          | 16 | 2 |--0*0-|ED A8       |Load and Decrement   |(DE)=(HL),HL=HL-1,#   | +|ldd          | 16 | 2 |--0*0-|ED A8       |Load and Decrement   |(DE)=(HL),HL=HL-1,#   | 
-|LDDR         |21/1| 2 |--000-|ED B8       |Load, Dec., Repeat   |LDD till BC=0         | +|lddr         |21/1| 2 |--000-|ED B8       |Load, Dec., Repeat   |ldd till BC=0         | 
-|LDI          | 16 | 2 |--0*0-|ED A0       |Load and Increment   |(DE)=(HL),HL=HL+1,#   | +|ldi          | 16 | 2 |--0*0-|ED A0       |Load and Increment   |(DE)=(HL),HL=HL+1,#   | 
-|LDIR         |21/1| 2 |--000-|ED B0       |Load, Inc., Repeat   |LDI till BC=0         |+|ldir         |21/1| 2 |--000-|ED B0       |Load, Inc., Repeat   |ldi till BC=0         |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|NEG          | 8  | 2 |***V1*|ED 44       |Negate               |A=-A                  |+|neg          | 8  | 2 |***V1*|ED 44       |Negate               |A=-A                  |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|NOP          | 4  | 1 |------|00          |No Operation                              |+|nop          | 4  | 1 |------|00          |No Operation                              |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|OR r         | 4  | 1 |***P00|B0+rb       |Logical inclusive OR |A=Avs                 | +|or r         | 4  | 1 |***P00|B0+rb       |Logical inclusive OR |A=Avs                 | 
-|OR N         | 7  | 2 |      |F6 XX                                                | +|or N         | 7  | 2 |      |F6 XX                                                | 
-|OR (HL)      | 7  | 1 |      |B6          |                                          | +|or (hl)      | 7  | 1 |      |B6          |                                          | 
-|OR (IX+N)    | 19 | 3 |      |DD B6 XX    |                                          | +|or (ix+n)    | 19 | 3 |      |DD B6 XX    |                                          | 
-|OR (IY+N)    | 19 | 3 |      |FD B6 XX    |                                          |+|or (iy+n)    | 19 | 3 |      |FD B6 XX    |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|OUT (N),   | 11 | 2 |------|D3 XX       |Output               |(n)=A                 | +|out (N),   | 11 | 2 |------|D3 XX       |Output               |(n)=A                 | 
-|OUT (C),0    | 12 | 2 |------|ED 71       |Output*              |         (Unsupported)| +|out (c),0    | 12 | 2 |------|ED 71       |Output*              |         (Unsupported)| 
-|OUT (C),   | 12 | 2 |------|ED 79       |Output               |(C)=r                 | +|out (c),   | 12 | 2 |------|ED 79       |Output               |(C)=r                 | 
-|OUT (C),   | 12 | 2 |      |ED 41                                                | +|out (c),   | 12 | 2 |      |ED 41                                                | 
-|OUT (C),   | 12 | 2 |      |ED 49                                                | +|out (c),   | 12 | 2 |      |ED 49                                                | 
-|OUT (C),   | 12 | 2 |      |ED 51                                                | +|out (c),   | 12 | 2 |      |ED 51                                                | 
-|OUT (C),   | 12 | 2 |      |ED 59                                                | +|out (c),   | 12 | 2 |      |ED 59                                                | 
-|OUT (C),   | 12 | 2 |      |ED 61                                                | +|out (c),   | 12 | 2 |      |ED 61                                                | 
-|OUT (C),   | 12 | 2 |      |ED 69                                                |+|out (c),   | 12 | 2 |      |ED 69                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|OUTD         | 16 | 2 |?*??1-|ED AB       |Output and Decrement |(C)=(HL),HL=HL-1,B=B-1| +|outd         | 16 | 2 |?*??1-|ED AB       |Output and Decrement |(C)=(HL),HL=HL-1,B=B-1| 
-|OTDR         |21/1| 2 |?1??1-|ED BB       |Output, Dec., Repeat |OUTD till B=0         | +|otdr         |21/1| 2 |?1??1-|ED BB       |Output, Dec., Repeat |outd till B=0         | 
-|OUTI         | 16 | 2 |?*??1-|ED A3       |Output and Increment |(C)=(HL),HL=HL+1,B=B-1| +|outi         | 16 | 2 |?*??1-|ED A3       |Output and Increment |(C)=(HL),HL=HL+1,B=B-1| 
-|OTIR         |21/1| 2 |?1??1-|ED B3       |Output, Inc., Repeat |OUTI till B=0         |+|otir         |21/1| 2 |?1??1-|ED B3       |Output, Inc., Repeat |outi till B=0         |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|POP AF       | 10 | 1 |------|F1          |Pop                  |qq=(SP)+              | +|pop af       | 10 | 1 |------|F1          |Pop                  |qq=(SP)+              | 
-|POP BC       | 10 | 1 |      |C1          |                                          | +|pop bc       | 10 | 1 |      |C1          |                                          | 
-|POP DE       | 10 | 1 |      |D1          |                                          | +|pop de       | 10 | 1 |      |D1          |                                          | 
-|POP HL       | 10 | 1 |      |E1          |                                          | +|pop hl       | 10 | 1 |      |E1          |                                          | 
-|POP IX       | 14 | 2 |------|DD E1       |Pop                  |xx=(SP)+              | +|pop ix       | 14 | 2 |------|DD E1       |Pop                  |xx=(SP)+              | 
-|POP IY       | 14 | 2 |      |FD E1                                                | +|pop iy       | 14 | 2 |      |FD E1                                                | 
-|PUSH AF      | 11 | 1 |------|F5          |Push                 |-(SP)=qq              | +|push af      | 11 | 1 |------|F5          |Push                 |-(SP)=qq              | 
-|PUSH BC      | 11 | 1 |      |C5          |                                          | +|push bc      | 11 | 1 |      |C5          |                                          | 
-|PUSH DE      | 11 | 1 |      |D5          |                                          | +|push de      | 11 | 1 |      |D5          |                                          | 
-|PUSH HL      | 11 | 1 |      |E5          |                                          | +|push hl      | 11 | 1 |      |E5          |                                          | 
-|PUSH IX      | 15 | 2 |------|DD E5       |Push                 |-(SP)=xx              | +|push ix      | 15 | 2 |------|DD E5       |Push                 |-(SP)=xx              | 
-|PUSH IY      | 15 | 2 |      |FD E5                                                |+|push iy      | 15 | 2 |      |FD E5                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|RES b,r      | 8  | 2 |------|CB 80+8*b+rb|Reset bit            |m=m&{~2^b}            | +|res b,r      | 8  | 2 |------|CB 80+8*b+rb|Reset bit            |m=m&{~2^b}            | 
-|RES b,(HL)   | 15 | 2 |------|CB 86+8*b                                            | +|res b,(hl)   | 15 | 2 |------|CB 86+8*b                                            | 
-|RES b,(IX+N) | 23 | 4 |------|DD CB XX 86+8*b                                        | +|res b,(ix+N) | 23 | 4 |------|DD CB XX 86+8*b                                        | 
-|RES b,(IY+N) | 23 | 4 |------|FD CB XX 86+8*b                                        |+|res b,(iy+N) | 23 | 4 |------|FD CB XX 86+8*b                                        |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|RET          | 10 | 1 |------|C9          |Return               |PC=(SP)+              | +|ret          | 10 | 1 |------|C9          |Return               |PC=(SP)+              | 
-|RET C        |11/5| 1 |------|D8          |Conditional Return   |If Carry = 1          | +|ret c        |11/5| 1 |------|D8          |Conditional Return   |If Carry = 1          | 
-|RET NC       |11/5| 1 |      |D0          |                     |If Carry = 0          | +|ret nc       |11/5| 1 |      |D0          |                     |If Carry = 0          | 
-|RET M        |11/5| 1 |      |F8          |                     |If Sign = 1 (negative)| +|ret m        |11/5| 1 |      |F8          |                     |If Sign = 1 (negative)| 
-|RET P        |11/5| 1 |      |F0          |                     |If Sign = 0 (positive)| +|ret p        |11/5| 1 |      |F0          |                     |If Sign = 0 (positive)| 
-|RET Z        |11/5| 1 |      |C8          |                     |If Zero = 1 (ans.=0) +|ret z        |11/5| 1 |      |C8          |                     |If Zero = 1 (ans.=0) 
-|RET NZ       |11/5| 1 |      |C0          |                     |If Zero = 0 (non-zero)| +|ret nz       |11/5| 1 |      |C0          |                     |If Zero = 0 (non-zero)| 
-|RET PE       |11/5| 1 |      |E8          |                     |If Parity = 1 (even) +|ret pe       |11/5| 1 |      |E8          |                     |If Parity = 1 (even) 
-|RET PO       |11/5| 1 |      |E0          |                     |If Parity = 0 (odd)   |+|ret po       |11/5| 1 |      |E0          |                     |If Parity = 0 (odd)   |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|RETI         | 14 | 2 |------|ED 4D       |Return from Interrupt|PC=(SP)+              | +|reti         | 14 | 2 |------|ED 4D       |Return from Interrupt|PC=(SP)+              | 
-|RETN         | 14 | 2 |------|ED 45       |Return from NMI      |PC=(SP)+              |+|retn         | 14 | 2 |------|ED 45       |Return from NMI      |PC=(SP)+              |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|RLA          | 4  | 1 |--0-0*|17          |Rotate Left Acc.     |A={CY,A}<           | +|rla          | 4  | 1 |--0-0*|17          |Rotate Left Acc.     |A={CY,A}<           | 
-|RL r         | 8  | 2 |**0P0*|CB 10+rb    |Rotate Left          |m={CY,m}<           | +|rl r         | 8  | 2 |**0P0*|CB 10+rb    |Rotate Left          |m={CY,m}<           | 
-|RL (HL)      | 15 | 2 |      |CB 16                                                | +|rl (hl)      | 15 | 2 |      |CB 16                                                | 
-|RL (IX+N)    | 23 | 4 |      |DD CB XX 16 |                                          | +|rl (ix+n)    | 23 | 4 |      |DD CB XX 16 |                                          | 
-|RL (IY+N)    | 23 | 4 |      |FD CB XX 16 |                                          | +|rl (iy+n)    | 23 | 4 |      |FD CB XX 16 |                                          | 
-|RLCA         | 4  | 1 |--0-0*|07          |Rotate Left Cir. Acc.|A=A<                | +|rlca         | 4  | 1 |--0-0*|07          |Rotate Left Cir. Acc.|A=A<                | 
-|RLC r        | 8  | 2 |**0P0*|CB 00+rb    |Rotate Left Circular |m=m<                | +|rlc r        | 8  | 2 |**0P0*|CB 00+rb    |Rotate Left Circular |m=m<                | 
-|RLC (HL)     | 15 | 2 |      |CB 06                                                | +|rlc (hl)     | 15 | 2 |      |CB 06                                                | 
-|RLC (IX+N)   | 23 | 4 |      |DD CB XX 06 |                                          | +|rlc (ix+n)   | 23 | 4 |      |DD CB XX 06 |                                          | 
-|RLC (IY+N)   | 23 | 4 |      |FD CB XX 06 |                                          | +|rlc (iy+n)   | 23 | 4 |      |FD CB XX 06 |                                          | 
-|RLD          | 18 | 2 |**0P0-|ED 6F       |Rotate Left 4 bits   |{A,(HL)}={A,(HL)}<- ##| +|rld          | 18 | 2 |**0P0-|ED 6F       |Rotate Left 4 bits   |{A,(hl)}={A,(hl)}<- ##| 
-|RRA          | 4  | 1 |--0-0*|1F          |Rotate Right Acc.    |A=->{CY,A}            | +|rra          | 4  | 1 |--0-0*|1F          |Rotate Right Acc.    |A=->{CY,A}            | 
-|RR r         | 8  | 2 |**0P0*|CB 18+rb    |Rotate Right         |m=->{CY,m}            | +|rr r         | 8  | 2 |**0P0*|CB 18+rb    |Rotate Right         |m=->{CY,m}            | 
-|RR (HL)      | 15 | 2 |      |CB 1E                                                | +|rr (hl)      | 15 | 2 |      |CB 1E                                                | 
-|RR (IX+N)    | 23 | 4 |      |DD CB XX 1E |                                          | +|rr (ix+n)    | 23 | 4 |      |DD CB XX 1E |                                          | 
-|RR (IY+N)    | 23 | 4 |      |FD CB XX 1E |                                          | +|rr (iy+n)    | 23 | 4 |      |FD CB XX 1E |                                          | 
-|RRCA         | 4  | 1 |--0-0*|0F          |Rotate Right Cir.Acc.|A=->                | +|rrca         | 4  | 1 |--0-0*|0F          |Rotate Right Cir.Acc.|A=->                | 
-|RRC r        | 8  | 2 |**0P0*|CB 08+rb    |Rotate Right Circular|m=->                | +|rrc r        | 8  | 2 |**0P0*|CB 08+rb    |Rotate Right Circular|m=->                | 
-|RRC (HL)     | 15 | 2 |      |CB 0E                                                | +|rrc (hl)     | 15 | 2 |      |CB 0E                                                | 
-|RRC (IX+N)   | 23 | 4 |      |DD CB XX 0E |                                          | +|rrc (ix+n)   | 23 | 4 |      |DD CB XX 0E |                                          | 
-|RRC (IY+N)   | 23 | 4 |      |FD CB XX 0E |                                          | +|rrc (iy+n)   | 23 | 4 |      |FD CB XX 0E |                                          | 
-|RRD          | 18 | 2 |**0P0-|ED 67       |Rotate Right 4 bits  |{A,(HL)}=->{A,(HL)} ##|+|rrd          | 18 | 2 |**0P0-|ED 67       |Rotate Right 4 bits  |{A,(hl)}=->{A,(hl)} ##|
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|RST 0        | 11 | 1 |------|C7          |Restart              | (p=0H,8H,10H,...,38H)| +|rst 0        | 11 | 1 |------|C7          |Restart              | (p=0H,8H,10H,...,38H)| 
-|RST 08H      | 11 | 1 |      |CF          |                                          | +|rst 08H      | 11 | 1 |      |CF          |                                          | 
-|RST 10H      | 11 | 1 |      |D7          |                                          | +|rst 10H      | 11 | 1 |      |D7          |                                          | 
-|RST 18H      | 11 | 1 |      |DF          |                                          | +|rst 18H      | 11 | 1 |      |DF          |                                          | 
-|RST 20H      | 11 | 1 |      |E7          |                                          | +|rst 20H      | 11 | 1 |      |E7          |                                          | 
-|RST 28H      | 11 | 1 |      |EF          |                                          | +|rst 28H      | 11 | 1 |      |EF          |                                          | 
-|RST 30H      | 11 | 1 |      |F7          |                                          | +|rst 30H      | 11 | 1 |      |F7          |                                          | 
-|RST 38H      | 11 | 1 |      |FF          |                                          |+|rst 38H      | 11 | 1 |      |FF          |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|SBC r        | 4  | 1 |***V1*|98+rb       |Subtract with Carry  |A=A-s-CY              | +|sbc r        | 4  | 1 |***V1*|98+rb       |Subtract with Carry  |A=A-s-CY              | 
-|SBC A,N      | 7  | 2 |      |DE XX                                                | +|sbc a,N      | 7  | 2 |      |DE XX                                                | 
-|SBC (HL)     | 7  | 1 |      |9E          |                                          | +|sbc (hl)     | 7  | 1 |      |9E          |                                          | 
-|SBC A,(IX+N) | 19 | 3 |      |DD 9E XX    |                                          | +|sbc a,(ix+n) | 19 | 3 |      |DD 9E XX    |                                          | 
-|SBC A,(IY+N) | 19 | 3 |      |FD 9E XX    |                                          | +|sbc a,(iy+n) | 19 | 3 |      |FD 9E XX    |                                          | 
-|SBC HL,BC    | 15 | 2 |**?V1*|ED 42       |Subtract with Carry  |HL=HL-ss-CY           | +|sbc hl,bc    | 15 | 2 |**?V1*|ED 42       |Subtract with Carry  |HL=HL-ss-CY           | 
-|SBC HL,DE    | 15 | 2 |      |ED 52                                                | +|sbc hl,de    | 15 | 2 |      |ED 52                                                | 
-|SBC HL,HL    | 15 | 2 |      |ED 62                                                | +|sbc hl,hl    | 15 | 2 |      |ED 62                                                | 
-|SBC HL,SP    | 15 | 2 |      |ED 72                                                |+|sbc hl,sp    | 15 | 2 |      |ED 72                                                |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|SCF          | 4  | 1 |--0-01|37          |Set Carry Flag       |CY=1                  |+|scf          | 4  | 1 |--0-01|37          |Set Carry Flag       |CY=1                  |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|SET b,r      | 8  | 2 |------|CB C0+8*b+rb|Set bit              |m=mv{2^b}             | +|set b,r      | 8  | 2 |------|CB C0+8*b+rb|Set bit              |m=mv{2^b}             | 
-|SET b,(HL)   | 15 | 2 |      |CB C6+8*b                                            | +|set b,(hl)   | 15 | 2 |      |CB C6+8*b                                            | 
-|SET b,(IX+N) | 23 | 4 |      |DD CB XX C6+8*b                                        | +|set b,(ix+N) | 23 | 4 |      |DD CB XX C6+8*b                                        | 
-|SET b,(IY+N) | 23 | 4 |      |FD CB XX C6+8*b                                        |+|set b,(iy+N) | 23 | 4 |      |FD CB XX C6+8*b                                        |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|SLA r        | 8  | 2 |**0P0*|CB 20+rb    |Shift Left Arithmetic|m=m*2                 | +|sla r        | 8  | 2 |**0P0*|CB 20+rb    |Shift Left Arithmetic|m=m*2                 | 
-|SLA (HL)     | 15 | 2 |      |CB 26                                                | +|sla (hl)     | 15 | 2 |      |CB 26                                                | 
-|SLA (IX+N)   | 23 | 4 |      |DD CB XX 26 |                                          | +|sla (ix+n)   | 23 | 4 |      |DD CB XX 26 |                                          | 
-|SLA (IY+N)   | 23 | 4 |      |FD CB XX 26 |                                          | +|sla (iy+n)   | 23 | 4 |      |FD CB XX 26 |                                          | 
-|SRA r        | 8  | 2 |**0P0*|CB 28+rb    |Shift Right Arith.   |m=m/                | +|sra r        | 8  | 2 |**0P0*|CB 28+rb    |Shift Right Arith.   |m=m/                | 
-|SRA (HL)     | 15 | 2 |      |CB 2E                                                | +|sra (hl)     | 15 | 2 |      |CB 2E                                                | 
-|SRA (IX+N)   | 23 | 4 |      |DD CB XX 2E |                                          | +|sra (ix+n)   | 23 | 4 |      |DD CB XX 2E |                                          | 
-|SRA (IY+N)   | 23 | 4 |      |FD CB XX 2E |                                          |+|sra (iy+n)   | 23 | 4 |      |FD CB XX 2E |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|SLL r        | 8  | 2 |**0P0*|CB 30+rb    |Shift Left Logical*  |m={0,m,CY}<         | +|sll r        | 8  | 2 |**0P0*|CB 30+rb    |Shift Left Logical*  |m={0,m,CY}<         | 
-|SLL (HL)     | 15 | 2 |      |CB 36                            (SLL instructions   | +|sll (hl)     | 15 | 2 |      |CB 36                            (SLL instructions   | 
-|SLL (IX+N)   | 23 | 4 |      |DD CB XX 36 |                         are Unsupported) | +|sll (ix+n)   | 23 | 4 |      |DD CB XX 36 |                         are Unsupported) | 
-|SLL (IY+N)   | 23 | 4 |      |FD CB XX 36 |                                          | +|sll (iy+n)   | 23 | 4 |      |FD CB XX 36 |                                          | 
-|SRL r        | 8  | 2 |**0P0*|CB 38+rb    |Shift Right Logical  |m=->{0,m,CY}          | +|srl r        | 8  | 2 |**0P0*|CB 38+rb    |Shift Right Logical  |m=->{0,m,CY}          | 
-|SRL (HL)     | 15 | 2 |      |CB 3E                                                | +|srl (hl)     | 15 | 2 |      |CB 3E                                                | 
-|SRL (IX+N)   | 23 | 4 |      |DD CB XX 3E |                                          | +|srl (ix+n)   | 23 | 4 |      |DD CB XX 3E |                                          | 
-|SRL (IY+N)   | 23 | 4 |      |FD CB XX 3E |                                          |+|srl (iy+n)   | 23 | 4 |      |FD CB XX 3E |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|SUB r        | 4  | 1 |***V1*|90+rb       |Subtract             |A=A-s                 | +|sub r        | 4  | 1 |***V1*|90+rb       |Subtract             |A=A-s                 | 
-|SUB N        | 7  | 2 |      |D6 XX                                                | +|sub N        | 7  | 2 |      |D6 XX                                                | 
-|SUB (HL)     | 7  | 1 |      |96          |                                          | +|sub (hl)     | 7  | 1 |      |96          |                                          | 
-|SUB (IX+N)   | 19 | 3 |      |DD 96 XX    |                                          | +|sub (ix+n)   | 19 | 3 |      |DD 96 XX    |                                          | 
-|SUB (IY+N)   | 19 | 3 |      |FD 96 XX    |                                          |+|sub (iy+n)   | 19 | 3 |      |FD 96 XX    |                                          |
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
-|XOR r        | 4  | 1 |***P00|A8+rb       |Logical Exclusive OR |A=Axs                 | +|xor r        | 4  | 1 |***P00|A8+rb       |Logical Exclusive OR |A=Axs                 | 
-|XOR N        | 7  | 2 |      |EE XX                                                | +|xor N        | 7  | 2 |      |EE XX                                                | 
-|XOR (HL)     | 7  | 1 |      |AE          |                                          | +|xor (hl)     | 7  | 1 |      |AE          |                                          | 
-|XOR (IX+N)   | 19 | 3 |      |DD AE XX    |                                          | +|xor (ix+n)   | 19 | 3 |      |DD AE XX    |                                          | 
-|XOR (IY+N)   | 19 | 3 |      |FD AE XX    |                                          |+|xor (iy+n)   | 19 | 3 |      |FD AE XX    |                                          |
 --------------+----+---+------+------------+---------------------+----------------------- --------------+----+---+------+------------+---------------------+-----------------------
  
Línea 681: Línea 681:
 | cc            |Condition (C,M,NC,NZ,P,PE,PO,Z)              | | cc            |Condition (C,M,NC,NZ,P,PE,PO,Z)              |
 | d             |One-byte expression (-128 to +127)           | | d             |One-byte expression (-128 to +127)           |
-| dst           |Destination s, ss, (BC), (DE), (HL), (nn)    |+| dst           |Destination s, ss, (BC), (de), (HL), (nn)    |
 | e             |One-byte expression (-126 to +129)           | | e             |One-byte expression (-126 to +129)           |
-| m             |Any register r, (HL) or (xx+d)               |+| m             |Any register r, (hl) or (xx+d)               |
 | n             |One-byte expression (0 to 255)               | | n             |One-byte expression (0 to 255)               |
 | nn            |Two-byte expression (0 to 65535)             | | nn            |Two-byte expression (0 to 65535)             |
 | pp            |Register pair BC, DE, IX or SP               | | pp            |Register pair BC, DE, IX or SP               |
-| qq            |Register pair AF, BC, DE or HL               | +| qq            |Register pair AF, BC, de or HL               | 
-| qq'           |Alternative register pair AF, BC, DE or HL   |+| qq'           |Alternative register pair AF, BC, de or HL   |
 | r             |Register A, B, C, D, E, H or L               | | r             |Register A, B, C, D, E, H or L               |
 | rr            |Register pair BC, DE, IY or SP               | | rr            |Register pair BC, DE, IY or SP               |
-| s             |Any register r, value n, (HL) or (xx+d)      | +| s             |Any register r, value n, (hl) or (xx+d)      | 
-| src           |Source s, ss, (BC), (DE), (HL), nn, (nn)     | +| src           |Source s, ss, (BC), (de), (HL), nn, (nn)     | 
-| ss            |Register pair BC, DE, HL or SP               |+| ss            |Register pair BC, DE, hl or SP               |
 | xx            |Index register IX or IY                      | | xx            |Index register IX or IY                      |
 | +  -  *  /  ^ |Add/subtract/multiply/divide/exponent        | | +  -  *  /  ^ |Add/subtract/multiply/divide/exponent        |
Línea 708: Línea 708:
  Unos apuntes sobre esta tabla:  Unos apuntes sobre esta tabla:
  
-1.- En instrucciones como ''ADC A, r'' podemos ver una defición del OPCODE como "88+rb". En este caso, el opcode final se obtendría sumando a "88h" un valor de 0 a 7 según el registro al que nos referimos:+1.- En instrucciones como ''adc a, r'' podemos ver una defición del OPCODE como "$88+rb". En este caso, el opcode final se obtendría sumando a "$88" un valor de 0 a 7 según el registro al que nos referimos:
  
 |< 40% 50% 50% >| |< 40% 50% 50% >|
-^ Registro ^ Valor RB ^+^ Registro ^ Valor rb ^
 | A | 7 | | A | 7 |
 | B | 0 | | B | 0 |
Línea 721: Línea 721:
 | (HL) | 6 | | (HL) | 6 |
  
- Por ejemplo, ''ADC AB'' se codificaría en memoria como "88+0=88".+ Por ejemplo, ''adc ab'' se codificaría en memoria como "$88+0=$88".
  
  
Línea 756: Línea 756:
  
 \\  \\ 
-==== Prefijo CB ====+==== Prefijo $CB ====
  
- Por ejemplo, los opcodes CB 30, CB 31, CB 32, CB 33, CB 34, CB 35, CB 36 y CB 37 definen una nueva instrucción: **SLL**.+ Por ejemplo, los opcodes $CB $30, $CB $31, $CB $32, $CB $33, $CB $34, $CB $35, $CB $36 y $CB $37 definen una nueva instrucción: **SLL**.
  
 |< 40% 50% 50% >| |< 40% 50% 50% >|
 ^ OPCODE ^ INSTRUCCION ^ ^ OPCODE ^ INSTRUCCION ^
-| CB 30 | SLL B +$CB $30 | sll b 
-| CB 31 | SLL C +$CB $31 | sll c 
-| CB 32 | SLL D +$CB $32 | sll d 
-| CB 33 | SLL E +$CB $33 | sll e 
-| CB 34 | SLL H +$CB $34 | sll h 
-| CB 35 | SLL L +$CB $35 | sll l 
-| CB 36 | SLL (HL) | +$CB $36 | sll (hl) | 
-| CB 37 | SLL A |+$CB $37 | sll a |
  
- ''SLL'' (Shift Logical Left) funciona exactamente igual que ''SLA'' salvo porque pone a 1 el bit 0 (mientras que SLA lo ponía a 0).+ ''SLL'' (Shift Logical Left) funciona exactamente igual que ''SLA'' salvo porque pone a 1 el bit 0 (mientras que sla lo ponía a 0).
  
 \\  \\ 
-==== Prefijos DD y FD ====+==== Prefijos $DD y $FD ====
  
- En general, una instrucción precedida por el opcode DD se ejecuta igual que sin él excepto por las siguientes reglas:+ En general, una instrucción precedida por el opcode ''$DD'' se ejecuta igual que sin él excepto por las siguientes reglas:
  
-  * Si la instrucción usaba el registro HL, éste se sustituye por IX (excepto en las instrucciones ''EX DEHL'' y ''EXX''). +  * Si la instrucción usaba el registro HL, éste se sustituye por IX (excepto en las instrucciones ''ex dehl'' y ''EXX''). 
-  * Cualquier uso de (HL) se reemplaza por (IX+d), excepto ''JP (HL)''+  * Cualquier uso de (HL) se reemplaza por (IX+d), excepto ''jp (hl)''
-  * Cualquier acceso a H se reemplaza por IXh (byte alto de IX), excepto en el uso de (IX+d). +  * Cualquier acceso a H se reemplaza por IXh (byte alto de IX), excepto en el uso de (ix+d). 
-  * Cualquier acceso a L se reemplaza por IXl (byte alto de IX), excepto en el uso de (IX+d).+  * Cualquier acceso a L se reemplaza por IXl (byte alto de IX), excepto en el uso de (ix+d).
  
  Por ejemplo:  Por ejemplo:
  
 |< 40% 50% 50% >| |< 40% 50% 50% >|
-^ Sin el prefijo DD ^ Con el Prefijo DD ^ +^ Sin el prefijo $DD ^ Con el Prefijo $DD ^ 
-LD HL, 0 | LD IX, 0 | +ld hl, 0 | ld ix, 0 | 
-LD HLD IXh+ld hld ixh
-LD H, (HL) | LD H, (IX+d) |+ld h, (hl) | ld h, (ix+d) |
  
-El caso de FD es exactamente igual que el de DD, pero usando el registro IY en lugar del IX.+El caso de $FD es exactamente igual que el de $DD, pero usando el registro IY en lugar del IX.
  
 \\  \\ 
 ==== Prefijo ED ==== ==== Prefijo ED ====
  
- Hay una gran cantidad de instrucciones ED XX indocumentadas. Muchos de ellos realizan la misma función que sus equivalentes sin ED delante, mientras que otros simplemente son leídos y decodificados, resultando, a niveles prácticos, equivalentes a 2 instrucciones ''NOP''. Veamos algunos de ellos:+ Hay una gran cantidad de instrucciones ''$ED XX'' indocumentadas. Muchos de ellos realizan la misma función que sus equivalentes sin $ED delante, mientras que otros simplemente son leídos y decodificados, resultando, a niveles prácticos, equivalentes a 2 instrucciones ''NOP''. Veamos algunos de ellos:
  
 |< 40% 50% 50% >| |< 40% 50% 50% >|
 ^ OPCODE ^ INSTRUCCION ^ ^ OPCODE ^ INSTRUCCION ^
-| ED 4C | NEG +$ED $4C | neg 
-| ED 4E | IM 0 | +$ED $4E | im 0 | 
-| ED 44 | NEG +$ED $44 | neg 
-| ED 45 | RETN +$ED $45 | retn 
-| ED 5C | NEG +$ED $5C | neg 
-| ED 5D | RETN +$ED $5D | retn 
-| ED 64 | NEG +$ED $64 | neg 
-| ED 65 | RETN +$ED $65 | retn 
-| ED 66 | IM 0 | +$ED $66 | im 0 | 
-| ED 6C | NEG +$ED $6C | neg 
-| ED 6D | RETN +$ED $6D | retn 
-| ED 6E | IM 0 | +$ED $6E | im 0 | 
-| ED 70 | IN (C) / IN F,(C) | +$ED $70 | in (c) / in f,(c) | 
-| ED 71 | OUT (C),0 | +$ED $71 | out (c),0 | 
-| ED 74 | NEG +$ED $74 | neg 
-| ED 75 | RETN +$ED $75 | retn 
-| ED 76 | IM1 +$ED $76 | im1 
-| ED 77 | NOP +$ED $77 | nop 
-| ED 7C | NEG +$ED $7C | neg 
-| ED 7D | RETN +$ED $7D | retn 
-| ED 7E | IM2 +$ED $7E | im2 
-| ED 7F | NOP |+$ED $7F | nop |
  
  Aparte de los duplicados de ''NOP'', ''NEG'', ''IM 0'', etc, podemos ver un par de instrucciones curiosas y que nos pueden ser de utilidad. Por ejemplo:  Aparte de los duplicados de ''NOP'', ''NEG'', ''IM 0'', etc, podemos ver un par de instrucciones curiosas y que nos pueden ser de utilidad. Por ejemplo:
  
 <code> <code>
-ED 70       IN (C)+$ED $70       IN (C)
 </code> </code>
  
Línea 833: Línea 833:
  
 \\  \\ 
-==== Prefijos DDCB FDCB ====+==== Prefijos $DD $CB $FD $CB ====
  
- Las instrucciones DDCB FDCB no documentadas almacenan el resultado de la operación de la instrucción equivalente sin prefijo (si existe dicho resultado) en uno de los registros de propósito general: B, C, D, E, H, L, ninguno o A, según los 3 bits más bajos del último byte del opcode (000=B, 001=C, 010=D, etc).+ Las instrucciones de prefijo "$DD $CB" "$FD $CB" no documentadas almacenan el resultado de la operación de la instrucción equivalente sin prefijo (si existe dicho resultado) en uno de los registros de propósito general: B, C, D, E, H, L, ninguno o A, según los 3 bits más bajos del último byte del opcode (000=B, 001=C, 010=D, etc).
  
  Así, supongamos el siguiente opcode sí documentado:  Así, supongamos el siguiente opcode sí documentado:
  
 <code> <code>
-DD CB 01 06         RLC (IX+01h)+$DD $CB $01 $06         rlc (ix+$01)
 </code> </code>
  
- Si hacemos los 3 últimos bits de dicho opcode 010 (010), el resultado de la operación se copia al registro D (010 = D en nuestra definición anterior), con lo que realmente, en lugar de ''RLC (IX+01h)'' se ejecuta:+ Si hacemos los 3 últimos bits de dicho opcode 010 (010), el resultado de la operación se copia al registro D (010 = D en nuestra definición anterior), con lo que realmente, en lugar de ''rlc (ix+$01)'' se ejecuta:
  
 <code z80> <code z80>
-LD D, (IX+01h+ld d, (ix+$01
-RLC D +rlc d 
-LD (IX+01h), D+ld (ix+$01), d
 </code> </code>
  
- La notación que sugiere //Sean Young// para estos opcodes es: ''RLC (IX+01h), D''".+ La notación que sugiere //Sean Young// para estos opcodes es: ''rlc (ix+$01), d''".
  
- Con el prefijo FDCB ocurre igual que con DDCB, salvo que se usa el registro IY en lugar de IX.+ Con el prefijo $FD $CB ocurre igual que con $DD $CB, salvo que se usa el registro IY en lugar de IX.
  
 \\  \\ 
Línea 860: Línea 860:
  Como ya se ha comentado anteriormente, el juego de instrucciones del Z80 no es ortogonal, es decir, todas las instrucciones no están definidas para trabajar con todos los operandos/registros.  Como ya se ha comentado anteriormente, el juego de instrucciones del Z80 no es ortogonal, es decir, todas las instrucciones no están definidas para trabajar con todos los operandos/registros.
  
- Es muy probable que en algún momento estemos programando, escribamos ''LD BCDE'', y nuestro programa ensamblador nos indique con un error que dicha instrucción no existe. ¿Por qué, si parece una instrucción básica? Mover el valor de DE a BC, por ejemplo para preparar un bucle.+ Es muy probable que en algún momento estemos programando, escribamos ''ld bcde'', y nuestro programa ensamblador nos indique con un error que dicha instrucción no existe. ¿Por qué, si parece una instrucción básica? Mover el valor de DE a BC, por ejemplo para preparar un bucle.
  
  El motivo es muy sencillo: el Z80 es una CPU de 8 bits, y por simplicidad interna de su microcódigo, sencillamente no tiene espacio y capacidad para alojar todas las combinaciones de instrucciones y operandos. Esto hubiera encarecido el procesador y su diseño al tener que añadir más prefijos de opcodes y más microcódigo para ejecutarlos.  El motivo es muy sencillo: el Z80 es una CPU de 8 bits, y por simplicidad interna de su microcódigo, sencillamente no tiene espacio y capacidad para alojar todas las combinaciones de instrucciones y operandos. Esto hubiera encarecido el procesador y su diseño al tener que añadir más prefijos de opcodes y más microcódigo para ejecutarlos.
Línea 867: Línea 867:
  
 <code z80> <code z80>
-LD HLDE      ; Esta instruccion no existe en Z80+ld hlde      ; Esta instruccion no existe en Z80
 </code> </code>
  
Línea 873: Línea 873:
  
 <code z80> <code z80>
-PUSH DE +push de 
-POP HL+pop hl
 </code> </code>
  
Línea 880: Línea 880:
  
 <code z80> <code z80>
-LD HD +ld hd 
-LD LE+ld le
 </code> </code>
  
-Estas soluciones alternativas son tan comunes que incluso algunos ensambladores como **sjasmplus** aceptarán ''LD HLDE'' y a la hora de realizar el proceso de ensamblado sustituirán la instrucción por el par de LD's de 8 bits que acabamos de ver.+Estas soluciones alternativas son tan comunes que incluso algunos ensambladores como **sjasmplus** aceptarán ''ld hlde'' y a la hora de realizar el proceso de ensamblado sustituirán la instrucción por el par de LD's de 8 bits que acabamos de ver.
  
-Estas instrucciones "no permitidas" pero "transformadas" son conocidas en **sjasmplus** como "**Fake Instructions**". Cuando sjasmplus encuentra un ''LD HLDE'' lo sustituye en el binario ensamblado por su alternativa de 8 bits.+Estas instrucciones "no permitidas" pero "transformadas" son conocidas en **sjasmplus** como "**Fake Instructions**". Cuando sjasmplus encuentra un ''ld hlde'' lo sustituye en el binario ensamblado por su alternativa de 8 bits.
  
 Como no todos los programas ensambladores las aceptan, **mi recomendación es que no las uses**, y que añadas el flag ''<nowiki>--</nowiki>syntax=f'' a sjasmplus para que te avise con un warning si estás usando alguna de ellas, de forma que puedas reemplazarla por su equivalente aceptado por el Z80. De no hacerlo así, tu código no podrá ser ensamblado por otros programas ensambladores y podrá llevar a confusión a otras personas al estudiarlo. Como no todos los programas ensambladores las aceptan, **mi recomendación es que no las uses**, y que añadas el flag ''<nowiki>--</nowiki>syntax=f'' a sjasmplus para que te avise con un warning si estás usando alguna de ellas, de forma que puedas reemplazarla por su equivalente aceptado por el Z80. De no hacerlo así, tu código no podrá ser ensamblado por otros programas ensambladores y podrá llevar a confusión a otras personas al estudiarlo.
Línea 895: Línea 895:
  
 |< 50% 50% 50% >| |< 50% 50% 50% >|
-^ Instrucción incorrecta ^ Alternativa ^ +^ Instrucción\\ no existente ^ Alternativa ^ 
-LD BCBC LD BB\\ LD C+ld bcbc ld bb\\ ld c
-LD BCDE LD BD\\ LD C+ld bcde ld bd\\ ld c
-LD BCHL LD BH\\ LD C+ld bchl ld bh\\ ld c
-LD BCIX LD BXH\\ LD CXL +ld bcix ld bixh\\ ld cixl 
-LD BCIY LD B, YH\\ LD CYL +ld bciy ld b, YH\\ ld ciyl 
-LD BC, (HL) | LD C, (HL)\\ INC HL\\ LD B, (HL)\\ DEC HL +ld bc, (hl) | ld c, (hl)\\ inc hl\\ ld b, (hl)\\ dec hl 
-LD BC, (IX+NN) | LD C, (IX+NN)\\ LD B, (IX+NN+1) | +ld bc, (ix+nn) | ld c, (ix+nn)\\ ld b, (ix+NN+1) | 
-LD BC, (IY+NN) | LD C, (IY+NN)\\ LD B, (IY+NN+1) | +ld bc, (iy+nn) | ld c, (iy+nn)\\ ld b, (iy+NN+1) | 
-LD DEBC LD DB\\ LD E+ld debc ld db\\ ld e
-LD DEDE LD DD\\ LD E+ld dede ld dd\\ ld e
-LD DEHL LD DH\\ LD E+ld dehl ld dh\\ ld e
-LD DEIX LD DXH\\ LD EXL +ld deix ld dixh\\ ld eixl 
-LD DEIY LD D, YH\\ LD EYL +ld deiy ld d, YH\\ ld eiyl 
-LD DE, (HL)  | LD E, (HL)\\ INC HL\\ LD D, (HL)\\ DEC HL +ld de, (hl)  | ld e, (hl)\\ inc hl\\ ld d, (hl)\\ dec hl 
-LD DE, (IX+NN)  | LD E, (IX+NN)\\ LD D, (IX+NN+1) | +ld de, (ix+nn)  | ld e, (ix+nn)\\ ld d, (ix+NN+1) | 
-LD DE, (IY+NN)  | LD E, (IY+NN)\\ LD D, (IY+NN+1) | +ld de, (iy+nn)  | ld e, (iy+nn)\\ ld d, (iy+NN+1) | 
-LD HLBC LD HB\\ LD L+ld hlbc ld hb\\ ld l
-LD HLDE LD HD\\ LD L+ld hlde ld hd\\ ld l
-LD HLHL LD HH\\ LD L+ld hlhl ld hh\\ ld l
-LD HLIX PUSH IX\\ POP HL +ld hlix push ix\\ pop hl 
-LD HLIY PUSH IY\\ POP HL +ld hliy push iy\\ pop hl 
-LD HL, (IX+NN)  | LD L, (IX+NN)\\ LD H, (IX+NN+1) | +ld hl, (ix+nn)  | ld l, (ix+nn)\\ ld h, (ix+NN+1) | 
-LD HL, (IY+NN)  | LD L, (IY+NN)\\ LD H, (IY+NN+1) | +ld hl, (iy+nn)  | ld l, (iy+nn)\\ ld h, (iy+NN+1) | 
-LD IXBC LD XHB\\ LD XL+ld ixbc ld ixhb\\ ld ixl
-LD IXDE LD XHD\\ LD XL+ld ixde ld ixhd\\ ld ixl
-LD IXHL PUSH HL\\ POP IX +ld ixhl push hl\\ pop ix 
-LD IXIX LD XHXH\\ LD XLXL +ld ixix ld ixhixh\\ ld ixlixl 
-LD IXIY PUSH IY\\ POP IX +ld ixiy push iy\\ pop ix 
-LD IYBC LD YHB\\ LD YL+ld iybc ld iyhb\\ ld iyl
-LD IYDE LD YHD\\ LD YL+ld iyde ld iyhd\\ ld iyl
-LD IYHL PUSH HL\\ POP IY +ld iyhl push hl\\ pop iy 
-LD IYIX PUSH IX\\ POP IY +ld iyix push ix\\ pop iy 
-LD IYIY LD YH, YH\\ LD YLYL +ld iyiy ld iyh, YH\\ ld iyliyl 
-LD (HL), BC LD (HL), C\\ INC HL\\ LD (HL), B\\ DEC HL +ld (hl), bc ld (hl), c\\ inc hl\\ ld (hl), b\\ dec hl 
-LD (HL), DE LD (HL), E\\ INC HL\\ LD (HL), D\\ DEC HL +ld (hl), de ld (hl), e\\ inc hl\\ ld (hl), d\\ dec hl 
-LD (IX+NN), BC LD (IX+NN), C\\ LD (IX+NN+1), +ld (ix+nn), bc ld (ix+nn), c\\ ld (ix+NN+1), 
-LD (IX+NN), DE LD (IX+NN), E\\ LD (IX+NN+1), +ld (ix+nn), de ld (ix+nn), e\\ ld (ix+NN+1), 
-LD (IX+NN), HL LD (IX+NN), L\\ LD (IX+NN+1), +ld (ix+nn), hl ld (ix+nn), l\\ ld (ix+NN+1), 
-LD (IY+NN), BC LD (IY+NN), C\\ LD (IY+NN+1), +ld (iy+nn), bc ld (iy+nn), c\\ ld (iy+NN+1), 
-LD (IY+NN), DE LD (IY+NN), E\\ LD (IY+NN+1), +ld (iy+nn), de ld (iy+nn), e\\ ld (iy+NN+1), 
-LD (IY+NN), HL LD (IY+NN), L\\ LD (IY+NN+1), |+ld (iy+nn), hl ld (iy+nn), l\\ ld (iy+NN+1), |
  
 |< 50% 50% 50% >| |< 50% 50% 50% >|
-^ Instrucción incorrecta ^ Alternativa ^ +^ Instrucción\\ no existente ^ Alternativa ^ 
-ADC DEBC EX DEHL\\ ADC HLBC\\ EX DEHL +adc debc ex dehl\\ adc hlbc\\ ex dehl 
-ADC DEDE EX DEHL\\ ADC HLHL\\ EX DEHL +adc dede ex dehl\\ adc hlhl\\ ex dehl 
-ADC DEDE RL E\\ RL D (-7T) | +adc dede rl e\\ rl d (-7T) | 
-ADC DEHL EX DEHL\\ ADC HLDE\\ EX DEHL +adc dehl ex dehl\\ adc hlde\\ ex dehl 
-ADC DESP EX DEHL\\ ADC HLSP\\ EX DEHL +adc desp ex dehl\\ adc hlsp\\ ex dehl 
-ADD DEBC EX DEHL\\ ADD HLBC\\ EX DEHL +add debc ex dehl\\ add hlbc\\ ex dehl 
-ADD DEDE EX DEHL\\ ADD HLHL\\ EX DEHL +add dede ex dehl\\ add hlhl\\ ex dehl 
-ADD DEDE SRL E\\ RL D (-3T) | +add dede srl e\\ rl d (-3T) | 
-ADD DEHL EX DEHL\\ ADD HLDE\\ EX DEHL +add dehl ex dehl\\ add hlde\\ ex dehl 
-ADD DESP EX DEHL\\ ADD HLSP\\ EX DEHL +add desp ex dehl\\ add hlsp\\ ex dehl 
-SBC DEBC EX DEHL\\ SBC HLBC\\ EX DEHL +sbc debc ex dehl\\ sbc hlbc\\ ex dehl 
-SBC DEDE EX DEHL\\ SBC HLHL\\ EX DEHL +sbc dede ex dehl\\ sbc hlhl\\ ex dehl 
-SBC DEHL EX DEHL\\ SBC HLDE\\ EX DEHL +sbc dehl ex dehl\\ sbc hlde\\ ex dehl 
-SBC DESP EX DEHL\\ SBC HLSP\\ EX DEHL +sbc desp ex dehl\\ sbc hlsp\\ ex dehl 
-SUB DEBC OR A\\ EX DEHL\\ SBC HLBC\\ EX DEHL +sub debc or a\\ ex dehl\\ sbc hlbc\\ ex dehl 
-SUB DEDE OR A\\ EX DEHL\\ SBC HLHL\\ EX DEHL +sub dede or a\\ ex dehl\\ sbc hlhl\\ ex dehl 
-SUB DEDE LD DE,  0 (-17T) | +sub dede ld de,  0 (-17T) | 
-SUB DEHL OR A\\ EX DEHL\\ SBC HLDE\\ EX DEHL +sub dehl or a\\ ex dehl\\ sbc hlde\\ ex dehl 
-SUB DESP OR A\\ EX DEHL\\ SBC HLSP\\ EX DEHL +sub desp or a\\ ex dehl\\ sbc hlsp\\ ex dehl 
-SUB HLBC OR A\\ SBC HLBC +sub hlbc or a\\ sbc hlbc 
-SUB HLDE OR A\\ SBC HLDE +sub hlde or a\\ sbc hlde 
-SUB HLHL OR A\\ SBC HLHL +sub hlhl or a\\ sbc hlhl 
-SUB HLHL LD HL, 0 (-9T) | +sub hlhl ld hl, 0 (-9T) | 
-SUB HLSP OR A\\ SBC HLSP |+sub hlsp or a\\ sbc hlsp |
  
 |< 50% 50% 50% >| |< 50% 50% 50% >|
-^ Instrucción incorrecta ^ Alternativa ^ +^ Instrucción\\ no existente ^ Alternativa ^ 
-RL BC RL C\\ RL B +rl bc rl c\\ rl b 
-RL DE RL E\\ RL D +rl de rl e\\ rl d 
-RL HL RL L\\ RL H +rl hl rl l\\ rl h 
-RR BC RR B\\ RR C +rr bc rr b\\ rr c 
-RR DE RR D\\ RR E +rr de rr d\\ rr e 
-RR HL RR H\\ RR L +rr hl rr h\\ rr l 
-SLA BC SLA C\\ RL B +sla bc sla c\\ rl b 
-SLA DE SLA E\\ RL D +sla de sla e\\ rl d 
-SLA HL ADD HLHL +sla hl add hlhl 
-SLL BC SLI C\\ RL B +sll bc sli c\\ rl b 
-SLL DE SLI E\\ RL D +sll de sli e\\ rl d 
-SLL HL SLI L\\ RL H +sll hl sli l\\ rl h 
-SLI BC SLI C\\ RL B +sli bc sli c\\ rl b 
-SLI DE SLI E\\ RL D +sli de sli e\\ rl d 
-SLI HL SLI L\\ RL H +sli hl sli l\\ rl h 
-SRA BC SRA B\\ RR C +sra bc sra b\\ rr c 
-SRA DE SRA D\\ RR E +sra de sra d\\ rr e 
-SRA HL SRA H\\ RR L +sra hl sra h\\ rr l 
-SRL BC SRL B\\ RR C +srl bc srl b\\ rr c 
-SRL DE SRL D\\ RR E +srl de srl d\\ rr e 
-SRL HL SRL H\\ RR L |+srl hl srl h\\ rr l |
  
 |< 50% 50% 50% >| |< 50% 50% 50% >|
-^ Instrucción incorrecta ^ Alternativa ^ +^ Instrucción\\ no existente ^ Alternativa ^ 
-LDI BC, (HL) | LD C, (HL)\\ INC HL\\ LD B, (HL)\\ INC HL +ldi bc, (hl) | ld c, (hl)\\ inc hl\\ ld b, (hl)\\ inc hl 
-LDI BC, (IX+NN) | LD C, (IX+NN)\\ INC IX\\ LD B, (IX+NN)\\ INC IX +ldi bc, (ix+NN) | ld c, (ix+nn)\\ inc ix\\ ld b, (ix+nn)\\ inc ix 
-LDI BC, (IY+NN) | LD C, (IY+NN)\\ INC IY\\ LD B, (IY+NN)\\ INC IY +ldi bc, (iy+NN) | ld c, (iy+nn)\\ inc iy\\ ld b, (iy+nn)\\ inc iy 
-LDI DE, (HL) | LD E, (HL)\\ INC HL\\ LD D, (HL)\\ INC HL +ldi de, (hl) | ld e, (hl)\\ inc hl\\ ld d, (hl)\\ inc hl 
-LDI DE, (IX+NN) | LD E, (IX+NN)\\ INC IX\\ LD D, (IX+NN)\\ INC IX +ldi de, (ix+NN) | ld e, (ix+nn)\\ inc ix\\ ld d, (ix+nn)\\ inc ix 
-LDI DE, (IY+NN) | LD E, (IY+NN)\\ INC IY\\ LD D, (IY+NN)\\ INC IY +ldi de, (iy+NN) | ld e, (iy+nn)\\ inc iy\\ ld d, (iy+nn)\\ inc iy 
-LDI HL, (IX+NN) | LD L, (IX+NN)\\ INC IX\\ LD H, (IX+NN)\\ INC IX +ldi hl, (ix+NN) | ld l, (ix+nn)\\ inc ix\\ ld h, (ix+nn)\\ inc ix 
-LDI HL, (IY+NN) | LD L, (IY+NN)\\ INC IY\\ LD H, (IY+NN)\\ INC IY +ldi hl, (iy+NN) | ld l, (iy+nn)\\ inc iy\\ ld h, (iy+nn)\\ inc iy 
-LDI (HL), BC  LD (HL), C\\ INC HL\\ LD (HL), B\\ INC HL +ldi (hl), bc  ld (hl), c\\ inc hl\\ ld (hl), b\\ inc hl 
-LDI (HL), DE  LD (HL), E\\ INC HL\\ LD (HL), D\\ INC HL +ldi (hl), de  ld (hl), e\\ inc hl\\ ld (hl), d\\ inc hl 
-LDI (IX+NN), BC LD (IX+NN), C\\ INC IX\\ LD (IX+NN), B\\ INC IX +ldi (ix+NN), bc ld (ix+nn), c\\ inc ix\\ ld (ix+nn), b\\ inc ix 
-LDI (IX+NN), DE LD (IX+NN), E\\ INC IX\\ LD (IX+NN), D\\ INC IX +ldi (ix+NN), de ld (ix+nn), e\\ inc ix\\ ld (ix+nn), d\\ inc ix 
-LDI (IX+NN), HL LD (IX+NN), L\\ INC IX\\ LD (IX+NN), H\\ INC IX +ldi (ix+NN), hl ld (ix+nn), l\\ inc ix\\ ld (ix+nn), h\\ inc ix 
-LDI (IY+NN), BC LD (IY+NN), C\\ INC IY\\ LD (IY+NN), B\\ INC IY +ldi (iy+NN), bc ld (iy+nn), c\\ inc iy\\ ld (iy+nn), b\\ inc iy 
-LDI (IY+NN), DE LD (IY+NN), E\\ INC IY\\ LD (IY+NN), D\\ INC IY +ldi (iy+NN), de ld (iy+nn), e\\ inc iy\\ ld (iy+nn), d\\ inc iy 
-LDI (IY+NN), HL LD (IY+NN), L\\ INC IY\\ LD (IY+NN), H\\ INC IY +ldi (iy+NN), hl ld (iy+nn), l\\ inc iy\\ ld (iy+nn), h\\ inc iy 
-LDI A, (BC) | LD A, (BC)\\ INC BC +ldi a, (bc) | ld a, (bc)\\ inc bc 
-LDI A, (DE) | LD A, (DE)\\ INC DE +ldi a, (de) | ld a, (de)\\ inc de 
-LDI A, (HL) | LD A, (HL)\\ INC HL +ldi a, (hl) | ld a, (hl)\\ inc hl 
-LDI B, (HL) | LD B, (HL)\\ INC HL +ldi b, (hl) | ld b, (hl)\\ inc hl 
-LDI C, (HL) | LD C, (HL)\\ INC HL +ldi c, (hl) | ld c, (hl)\\ inc hl 
-LDI D, (HL) | LD D, (HL)\\ INC HL +ldi d, (hl) | ld d, (hl)\\ inc hl 
-LDI E, (HL) | LD E, (HL)\\ INC HL +ldi e, (hl) | ld e, (hl)\\ inc hl 
-LDI H, (HL) | LD H, (HL)\\ INC HL +ldi h, (hl) | ld h, (hl)\\ inc hl 
-LDI L, (HL) | LD L, (HL)\\ INC HL +ldi l, (hl) | ld l, (hl)\\ inc hl 
-LDI A, (IX+NN) | LD A, (IX+NN)\\ INC IX +ldi a, (ix+NN) | ld a, (ix+nn)\\ inc ix 
-LDI B, (IX+NN) | LD B, (IX+NN)\\ INC IX +ldi b, (ix+NN) | ld b, (ix+nn)\\ inc ix 
-LDI C, (IX+NN) | LD C, (IX+NN)\\ INC IX +ldi c, (ix+NN) | ld c, (ix+nn)\\ inc ix 
-LDI D, (IX+NN) | LD D, (IX+NN)\\ INC IX +ldi d, (ix+NN) | ld d, (ix+nn)\\ inc ix 
-LDI E, (IX+NN) | LD E, (IX+NN)\\ INC IX +ldi e, (ix+NN) | ld e, (ix+nn)\\ inc ix 
-LDI H, (IX+NN) | LD H, (IX+NN)\\ INC IX +ldi h, (ix+NN) | ld h, (ix+nn)\\ inc ix 
-LDI L, (IX+NN) | LD L, (IX+NN)\\ INC IX +ldi l, (ix+NN) | ld l, (ix+nn)\\ inc ix 
-LDI A, (IY+NN) | LD A, (IY+NN)\\ INC IY +ldi a, (iy+NN) | ld a, (iy+nn)\\ inc iy 
-LDI B, (IY+NN) | LD B, (IY+NN)\\ INC IY +ldi b, (iy+NN) | ld b, (iy+nn)\\ inc iy 
-LDI C, (IY+NN) | LD C, (IY+NN)\\ INC IY +ldi c, (iy+NN) | ld c, (iy+nn)\\ inc iy 
-LDI D, (IY+NN) | LD D, (IY+NN)\\ INC IY +ldi d, (iy+NN) | ld d, (iy+nn)\\ inc iy 
-LDI E, (IY+NN) | LD E, (IY+NN)\\ INC IY +ldi e, (iy+NN) | ld e, (iy+nn)\\ inc iy 
-LDI H, (IY+NN) | LD H, (IY+NN)\\ INC IY +ldi h, (iy+NN) | ld h, (iy+nn)\\ inc iy 
-LDI L, (IY+NN) | LD L, (IY+NN)\\ INC IY +ldi l, (iy+NN) | ld l, (iy+nn)\\ inc iy 
-LDI (BC), LD (BC), A\\ INC BC +ldi (bc), ld (bc), a\\ inc bc 
-LDI (DE), LD (DE), A\\ INC DE +ldi (de), ld (de), a\\ inc de 
-LDI (HL), LD (HL), A\\ INC HL +ldi (hl), ld (hl), a\\ inc hl 
-LDI (HL), LD (HL), B\\ INC HL +ldi (hl), ld (hl), b\\ inc hl 
-LDI (HL), LD (HL), C\\ INC HL +ldi (hl), ld (hl), c\\ inc hl 
-LDI (HL), LD (HL), D\\ INC HL +ldi (hl), ld (hl), d\\ inc hl 
-LDI (HL), LD (HL), E\\ INC HL +ldi (hl), ld (hl), e\\ inc hl 
-LDI (HL), LD (HL), H\\ INC HL +ldi (hl), ld (hl), h\\ inc hl 
-LDI (HL), LD (HL), L\\ INC HL +ldi (hl), ld (hl), l\\ inc hl 
-LDI (IX+NN), LD (IX+NN), A\\ INC IX +ldi (ix+NN), ld (ix+nn), a\\ inc ix 
-LDI (IX+NN), LD (IX+NN), B\\ INC IX +ldi (ix+NN), ld (ix+nn), b\\ inc ix 
-LDI (IX+NN), LD (IX+NN), C\\ INC IX +ldi (ix+NN), ld (ix+nn), c\\ inc ix 
-LDI (IX+NN), LD (IX+NN), D\\ INC IX +ldi (ix+NN), ld (ix+nn), d\\ inc ix 
-LDI (IX+NN), LD (IX+NN), E\\ INC IX +ldi (ix+NN), ld (ix+nn), e\\ inc ix 
-LDI (IX+NN), LD (IX+NN), H\\ INC IX +ldi (ix+NN), ld (ix+nn), h\\ inc ix 
-LDI (IX+NN), LD (IX+NN), L\\ INC IX +ldi (ix+NN), ld (ix+nn), l\\ inc ix 
-LDI (IY+NN), LD (IY+NN), A\\ INC IY +ldi (iy+NN), ld (iy+nn), a\\ inc iy 
-LDI (IY+NN), LD (IY+NN), B\\ INC IY +ldi (iy+NN), ld (iy+nn), b\\ inc iy 
-LDI (IY+NN), LD (IY+NN), C\\ INC IY +ldi (iy+NN), ld (iy+nn), c\\ inc iy 
-LDI (IY+NN), LD (IY+NN), D\\ INC IY +ldi (iy+NN), ld (iy+nn), d\\ inc iy 
-LDI (IY+NN), LD (IY+NN), E\\ INC IY +ldi (iy+NN), ld (iy+nn), e\\ inc iy 
-LDI (IY+NN), LD (IY+NN), H\\ INC IY +ldi (iy+NN), ld (iy+nn), h\\ inc iy 
-LDI (IY+NN), LD (IY+NN), L\\ INC IY +ldi (iy+NN), ld (iy+nn), l\\ inc iy 
-LDI (HL), MM | LD (HL), MM\\ INC HL +ldi (hl), MM | ld (hl), MM\\ inc hl 
-LDI (IX+NN), MM | LD (IX+NN), MM\\ INC IX +ldi (ix+NN), MM | ld (ix+nn), MM\\ inc ix 
-LDI (IY+NN), MM | LD (IY+NN), MM\\ INC IY |+ldi (iy+NN), MM | ld (iy+nn), MM\\ inc iy |
  
 |< 50% 50% 50% >| |< 50% 50% 50% >|
-^ Instrucción incorrecta ^ Alternativa ^ +^ Instrucción\\ no existente ^ Alternativa ^ 
-LDD A, (BC) | LD A, (BC)\\ DEC BC +ldd a, (bc) | ld a, (bc)\\ dec bc 
-LDD A, (DE) | LD A, (DE)\\ DEC DE +ldd a, (de) | ld a, (de)\\ dec de 
-LDD A, (HL) | LD A, (HL)\\ DEC HL +ldd a, (hl) | ld a, (hl)\\ dec hl 
-LDD B, (HL) | LD B, (HL)\\ DEC HL +ldd b, (hl) | ld b, (hl)\\ dec hl 
-LDD C, (HL) | LD C, (HL)\\ DEC HL +ldd c, (hl) | ld c, (hl)\\ dec hl 
-LDD D, (HL) | LD D, (HL)\\ DEC HL +ldd d, (hl) | ld d, (hl)\\ dec hl 
-LDD E, (HL) | LD E, (HL)\\ DEC HL +ldd e, (hl) | ld e, (hl)\\ dec hl 
-LDD H, (HL) | LD H, (HL)\\ DEC HL +ldd h, (hl) | ld h, (hl)\\ dec hl 
-LDD L, (HL) | LD L, (HL)\\ DEC HL +ldd l, (hl) | ld l, (hl)\\ dec hl 
-LDD A, (IX+NN) | LD A, (IX+NN)\\ DEC IX +ldd a, (ix+NN) | ld a, (ix+nn)\\ dec ix 
-LDD B, (IX+NN) | LD B, (IX+NN)\\ DEC IX +ldd b, (ix+NN) | ld b, (ix+nn)\\ dec ix 
-LDD C, (IX+NN) | LD C, (IX+NN)\\ DEC IX +ldd c, (ix+NN) | ld c, (ix+nn)\\ dec ix 
-LDD D, (IX+NN) | LD D, (IX+NN)\\ DEC IX +ldd d, (ix+NN) | ld d, (ix+nn)\\ dec ix 
-LDD E, (IX+NN) | LD E, (IX+NN)\\ DEC IX +ldd e, (ix+NN) | ld e, (ix+nn)\\ dec ix 
-LDD H, (IX+NN) | LD H, (IX+NN)\\ DEC IX +ldd h, (ix+NN) | ld h, (ix+nn)\\ dec ix 
-LDD L, (IX+NN) | LD L, (IX+NN)\\ DEC IX +ldd l, (ix+NN) | ld l, (ix+nn)\\ dec ix 
-LDD A, (IY+NN) | LD A, (IY+NN)\\ DEC IY +ldd a, (iy+NN) | ld a, (iy+nn)\\ dec iy 
-LDD B, (IY+NN) | LD B, (IY+NN)\\ DEC IY +ldd b, (iy+NN) | ld b, (iy+nn)\\ dec iy 
-LDD C, (IY+NN) | LD C, (IY+NN)\\ DEC IY +ldd c, (iy+NN) | ld c, (iy+nn)\\ dec iy 
-LDD D, (IY+NN) | LD D, (IY+NN)\\ DEC IY +ldd d, (iy+NN) | ld d, (iy+nn)\\ dec iy 
-LDD E, (IY+NN) | LD E, (IY+NN)\\ DEC IY +ldd e, (iy+NN) | ld e, (iy+nn)\\ dec iy 
-LDD H, (IY+NN) | LD H, (IY+NN)\\ DEC IY +ldd h, (iy+NN) | ld h, (iy+nn)\\ dec iy 
-LDD L, (IY+NN) | LD L, (IY+NN)\\ DEC IY +ldd l, (iy+NN) | ld l, (iy+nn)\\ dec iy 
-LDD (BC), LD (BC), A\\ DEC BC +ldd (bc), ld (bc), a\\ dec bc 
-LDD (DE), LD (DE), A\\ DEC DE +ldd (de), ld (de), a\\ dec de 
-LDD (HL), LD (HL), A\\ DEC HL +ldd (hl), ld (hl), a\\ dec hl 
-LDD (HL), LD (HL), B\\ DEC HL +ldd (hl), ld (hl), b\\ dec hl 
-LDD (HL), LD (HL), C\\ DEC HL +ldd (hl), ld (hl), c\\ dec hl 
-LDD (HL), LD (HL), D\\ DEC HL +ldd (hl), ld (hl), d\\ dec hl 
-LDD (HL), LD (HL), E\\ DEC HL +ldd (hl), ld (hl), e\\ dec hl 
-LDD (HL), LD (HL), H\\ DEC HL +ldd (hl), ld (hl), h\\ dec hl 
-LDD (HL), LD (HL), L\\ DEC HL +ldd (hl), ld (hl), l\\ dec hl 
-LDD (IX+NN), LD (IX+NN), A\\ DEC IX +ldd (ix+NN), ld (ix+nn), a\\ dec ix 
-LDD (IX+NN), LD (IX+NN), B\\ DEC IX +ldd (ix+NN), ld (ix+nn), b\\ dec ix 
-LDD (IX+NN), LD (IX+NN), C\\ DEC IX +ldd (ix+NN), ld (ix+nn), c\\ dec ix 
-LDD (IX+NN), LD (IX+NN), D\\ DEC IX +ldd (ix+NN), ld (ix+nn), d\\ dec ix 
-LDD (IX+NN), LD (IX+NN), E\\ DEC IX +ldd (ix+NN), ld (ix+nn), e\\ dec ix 
-LDD (IX+NN), LD (IX+NN), H\\ DEC IX +ldd (ix+NN), ld (ix+nn), h\\ dec ix 
-LDD (IX+NN), LD (IX+NN), L\\ DEC IX +ldd (ix+NN), ld (ix+nn), l\\ dec ix 
-LDD (IY+NN), LD (IY+NN), A\\ DEC IY +ldd (iy+NN), ld (iy+nn), a\\ dec iy 
-LDD (IY+NN), LD (IY+NN), B\\ DEC IY +ldd (iy+NN), ld (iy+nn), b\\ dec iy 
-LDD (IY+NN), LD (IY+NN), C\\ DEC IY +ldd (iy+NN), ld (iy+nn), c\\ dec iy 
-LDD (IY+NN), LD (IY+NN), D\\ DEC IY +ldd (iy+NN), ld (iy+nn), d\\ dec iy 
-LDD (IY+NN), LD (IY+NN), E\\ DEC IY +ldd (iy+NN), ld (iy+nn), e\\ dec iy 
-LDD (IY+NN), LD (IY+NN), H\\ DEC IY +ldd (iy+NN), ld (iy+nn), h\\ dec iy 
-LDD (IY+NN), LD (IY+NN), L\\ DEC IY +ldd (iy+NN), ld (iy+nn), l\\ dec iy 
-LDD (HL), MM | LD (HL), MM\\ DEC HL +ldd (hl), MM | ld (hl), MM\\ dec hl 
-LDD (IX+NN), MM | LD (IX+NN), MM\\ DEC IX +ldd (ix+NN), MM | ld (ix+nn), MM\\ dec ix 
-LDD (IY+NN), MM | LD (IY+NN), MM\\ DEC IY |+ldd (iy+NN), MM | ld (iy+nn), MM\\ dec iy |
  
 |< 50% 50% 50% >| |< 50% 50% 50% >|
-^ Instrucción incorrecta ^ Alternativa ^ +^ Instrucción\\ no existente ^ Alternativa ^ 
-EX BCHL PUSH HL\\ LD LC\\ LD HB\\ POP BC +ex bchl push hl\\ ld lc\\ ld hb\\ pop bc 
-EX BCHL PUSH BC\\ EX (SP), HL\\ POP BC +ex bchl push bc\\ ex (sp), hl\\ pop bc 
-EX BCIX PUSH BC\\ EX (SP), IX\\ POP BC +ex bcix push bc\\ ex (sp), ix\\ pop bc 
-EX BCIY PUSH BC\\ EX (SP), IY\\ POP BC +ex bciy push bc\\ ex (sp), iy\\ pop bc 
-EX AFHL PUSH AF\\ EX (SP), HL\\ POP AF +ex afhl push af\\ ex (sp), hl\\ pop af 
-EX AFIX PUSH AF\\ EX (SP), IX\\ POP AF +ex afix push af\\ ex (sp), ix\\ pop af 
-EX AFIY PUSH AF\\ EX (SP), IY\\ POP AF +ex afiy push af\\ ex (sp), iy\\ pop af 
-EX DEIX PUSH DE\\ EX (SP), IX\\ POP DE +ex deix push de\\ ex (sp), ix\\ pop de 
-EX DEIY PUSH DE\\ EX (SP), IY\\ POP DE |+ex deiy push de\\ ex (sp), iy\\ pop de |
  
 \\  \\ 
Línea 1152: Línea 1152:
  
 \\  \\ 
-**[ [[.:indice|⬉]] | [[.:lenguaje_4|⬅]] | [[.:rutinas_rom|➡]] ]**+**[ [[.:indice|⬉]] | [[.:lenguaje_4|⬅]] | [[.:habituales|➡]] ]**
  • cursos/ensamblador/lenguaje_5.1705227509.txt.gz
  • Última modificación: 14-01-2024 10:18
  • por sromero