Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
cursos:ensamblador:lenguaje_1 [19-01-2024 16:02] – [Instrucciones LD (instrucciones de carga)] sromero | cursos:ensamblador:lenguaje_1 [22-01-2024 07:51] (actual) – [Instrucciones LD (instrucciones de carga)] sromero | ||
---|---|---|---|
Línea 259: | Línea 259: | ||
</ | </ | ||
- | | + | |
+ | |||
+ | Este operador indica que se hace referencia a una posición de memoria referenciada por el valor que hay dentro de los paréntesis. Dicho valor referencia a una celdilla de memoria de 8 bits. | ||
+ | |||
+ | Es decir, si escribiéramos en BASIC del Spectrum (con '' | ||
+ | |||
+ | <code z80> | ||
+ | ld a, (16384) | ||
+ | ld (16384), a | ||
+ | |||
+ | ld hl, 16384 => HL = 16384 | ||
+ | ld a, (hl) => LET A = PEEK HL => LET A = PEEK 16384 | ||
+ | ld (hl), a => POKE HL, a | ||
+ | </ | ||
+ | |||
+ | En el segundo ejemplo hemos utilizado '' | ||
+ | |||
+ | No sólo podemos leer de o escribir en una dirección de memoria valores de 8 bits, también podemos leer y escribir valores de 16 bits. Evidentemente, | ||
+ | |||
+ | De nuevo, viéndolo "en instrucciones BASIC", | ||
+ | |||
+ | <code z80> | ||
+ | ld hl, 16384 => HL = 16384 | ||
+ | |||
+ | ld hl, (16384) | ||
+ | => L = PEEK 16384 | ||
+ | H = PEEK 16385 | ||
+ | </ | ||
+ | |||
+ | En '' | ||
+ | |||
+ | De la misma forma, si hablamos de escribir en memoria un valor de 16 bits: | ||
+ | |||
+ | <code z80> | ||
+ | ld (16384), hl => POKE 16384, L | ||
+ | POKE 16385, H | ||
+ | </ | ||
En un microprocesador con un juego de instrucciones ortogonal, se podría usar cualquier origen y cualquier destino sin distinción. En el caso del Z80 no es así. El listado completo de operaciones válidas con LD es el siguiente: | En un microprocesador con un juego de instrucciones ortogonal, se podría usar cualquier origen y cualquier destino sin distinción. En el caso del Z80 no es así. El listado completo de operaciones válidas con LD es el siguiente: |