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 [19-01-2024 07:32] sromerocursos:ensamblador:lenguaje_5 [24-01-2024 11:55] (actual) – [Enlaces] sromero
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 119: Línea 119:
 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**).
Línea 289: Línea 289:
 --------------+----+---+------+------------+---------------------+----------------------- --------------+----+---+------+------------+---------------------+-----------------------
 |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    |                                          |
Línea 299: Línea 299:
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
 |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    |                                          |
Línea 317: Línea 317:
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
 |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        |
Línea 340: Línea 340:
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
 |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    |                                          |
Línea 378: Línea 378:
 |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               |
Línea 389: Línea 389:
 |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                                                |
Línea 501: Línea 501:
 |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), | 19 | 3 |      |DD 70+rb XX |                                          | |ld (ix+n), | 19 | 3 |      |DD 70+rb XX |                                          |
 |ld (ix+n), | 19 | 4 |      |DD 36 XX XX |                                          | |ld (ix+n), | 19 | 4 |      |DD 36 XX XX |                                          |
Línea 523: Línea 523:
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
 |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),a    | 12 | 2 |------|ED 79       |Output               |(C)=r                 | |out (c),a    | 12 | 2 |------|ED 79       |Output               |(C)=r                 |
Línea 556: Línea 556:
 |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)+              |
Línea 568: Línea 568:
 |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)+              |
Línea 584: Línea 584:
 |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}            |
Línea 595: Línea 595:
 |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)|
Línea 618: Línea 618:
 |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                 |
Línea 642: Línea 642:
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
 |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    |                                          |
Línea 648: Línea 648:
 +-------------+----+---+------+------------+---------------------+----------------------+ +-------------+----+---+------+------------+---------------------+----------------------+
 |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    |                                          |
Línea 683: Línea 683:
 | 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 a, b'' se codificaría en memoria como "88+0=88".+ Por ejemplo, ''adc a, b'' 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 de, hl'' y ''EXX'').   * Si la instrucción usaba el registro HL, éste se sustituye por IX (excepto en las instrucciones ''ex de, hl'' 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 h, a | ld ixh, a | | ld h, a | ld ixh, a |
 | 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 895: Línea 895:
  
 |< 50% 50% 50% >| |< 50% 50% 50% >|
-^ Instrucción incorrecta ^ Alternativa ^+^ Instrucción\\ no existente ^ Alternativa ^
 | ld bc, bc | ld b, b\\ ld c, c | | ld bc, bc | ld b, b\\ ld c, c |
 | ld bc, de | ld b, d\\ ld c, e | | ld bc, de | ld b, d\\ ld c, e |
 | ld bc, hl | ld b, h\\ ld c, l | | ld bc, hl | ld b, h\\ ld c, l |
-| ld bc, ix | ld b, XH\\ ld c, XL +| ld bc, ix | ld b, ixh\\ ld c, ixl 
-| ld bc, iy | ld b, YH\\ ld c, YL |+| ld bc, iy | ld b, YH\\ ld c, iyl |
 | 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 de, bc | ld d, b\\ ld e, c | | ld de, bc | ld d, b\\ ld e, c |
 | ld de, de | ld d, d\\ ld e, e | | ld de, de | ld d, d\\ ld e, e |
 | ld de, hl | ld d, h\\ ld e, l | | ld de, hl | ld d, h\\ ld e, l |
-| ld de, ix | ld d, XH\\ ld e, XL +| ld de, ix | ld d, ixh\\ ld e, ixl 
-| ld de, iy | ld d, YH\\ ld e, YL |+| ld de, iy | ld d, YH\\ ld e, iyl |
 | 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 hl, bc | ld h, b\\ ld l, c | | ld hl, bc | ld h, b\\ ld l, c |
 | ld hl, de | ld h, d\\ ld l, e | | ld hl, de | ld h, d\\ ld l, e |
Línea 917: Línea 917:
 | ld hl, ix | push ix\\ pop hl | | ld hl, ix | push ix\\ pop hl |
 | ld hl, iy | push iy\\ pop hl | | ld hl, iy | 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 ix, bc | LD XHB\\ LD XL+| ld ix, bc | ld ixhb\\ ld ixl
-| ld ix, de | LD XHD\\ LD XL|+| ld ix, de | ld ixhd\\ ld ixl|
 | ld ix, hl | push hl\\ pop ix | | ld ix, hl | push hl\\ pop ix |
-| ld ix, ix | LD XHXH\\ LD XLXL |+| ld ix, ix | ld ixhixh\\ ld ixlixl |
 | ld ix, iy | push iy\\ pop ix | | ld ix, iy | push iy\\ pop ix |
-| ld iy, bc | LD YHB\\ LD YL+| ld iy, bc | ld iyhb\\ ld iyl
-| ld iy, de | LD YHD\\ LD YL|+| ld iy, de | ld iyhd\\ ld iyl|
 | ld iy, hl | push hl\\ pop iy | | ld iy, hl | push hl\\ pop iy |
 | ld iy, ix | push ix\\ pop iy | | ld iy, ix | push ix\\ pop iy |
-| ld iy, iy | LD YH, YH\\ LD YLYL |+| ld iy, iy | 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 de, bc | ex de, hl\\ adc hl, bc\\ ex de, hl | | adc de, bc | ex de, hl\\ adc hl, bc\\ ex de, hl |
 | adc de, de | ex de, hl\\ adc hl, hl\\ ex de, hl | | adc de, de | ex de, hl\\ adc hl, hl\\ ex de, hl |
Línea 966: Línea 966:
  
 |< 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 |
Línea 976: Línea 976:
 | sla de | sla e\\ rl d | | sla de | sla e\\ rl d |
 | sla hl | add hl, hl | | sla hl | add hl, hl |
-| 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 |
Línea 990: Línea 990:
  
 |< 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 l, c\\ ld h, b\\ pop bc | +ex bchl | push hl\\ ld l, c\\ ld h, b\\ 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 de, ix | push de\\ ex (sp), ix\\ pop de | | ex de, ix | 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|⬅]] | [[.:ensambladores|➡]] ]**+**[ [[.:indice|⬉]] | [[.:lenguaje_4|⬅]] | [[.:habituales|➡]] ]**
  • cursos/ensamblador/lenguaje_5.txt
  • Última modificación: 24-01-2024 11:55
  • por sromero