cursos:ensamblador:rutinas_save_load

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:rutinas_save_load [19-01-2024 11:57] – [Rutina de LOAD de la ROM] sromerocursos:ensamblador:rutinas_save_load [19-01-2024 11:58] (actual) sromero
Línea 139: Línea 139:
 </code> </code>
    
- Este comando BASIC salvaría (SAVE), un total de 2 bytes (2) de datos (CODE), empezando en 0 (0) a cinta. En resumen, salvaría el contenido de la dirección de memoria 0x0000 0x0001 en cinta. Esto produciría los siguientes datos en cinta:+ Este comando BASIC salvaría (SAVE), un total de 2 bytes (2) de datos (CODE), empezando en 0 (0) a cinta. En resumen, salvaría el contenido de la dirección de memoria $0000 $0001 en cinta. Esto produciría los siguientes datos en cinta:
  
 <code> <code>
Línea 173: Línea 173:
 | ff | f3 af | a3 | | ff | f3 af | a3 |
  
- En este caso el byte flag es 0xFF (bloque de tipo "datos"), al cual siguen los 2 bytes tomados de la ROM y grabados a cinta (0x0000 0x0001) y el checksum (0xA3).+ En este caso el byte flag es $FF (bloque de tipo "datos"), al cual siguen los 2 bytes tomados de la ROM y grabados a cinta ($0000 $0001) y el checksum ($A3).
  
 \\  \\ 
Línea 189: Línea 189:
 | IX | Dirección inicio de memoria donde almacenar los datos que se van a cargar. | | IX | Dirección inicio de memoria donde almacenar los datos que se van a cargar. |
 | DE | Longitud del bloque de datos a cargar. | | DE | Longitud del bloque de datos a cargar. |
-| A | Flag Byte, normalmente 0x00 para cargar cabeceras o 0xFF (255) para cargar datos. |+| A | Flag Byte, normalmente $00 para cargar cabeceras o $FF (255) para cargar datos. |
 | CF (CarryFlag) | 1=LOAD, 0=VERIFY | | CF (CarryFlag) | 1=LOAD, 0=VERIFY |
  
Línea 203: Línea 203:
  
 <code z80> <code z80>
-    scf                ; Set Carry Flag -> CF=1 -> LOAD +    scf                   ; Set Carry Flag -> CF=1 -> LOAD 
-    ld a, $ff          ; A = $FF (cargar datos) +    ld a, $ff             ; A = $FF (cargar datos) 
-    ld ix, 16384       ; Destino del load = 16384 +    ld ix, 16384          ; Destino del load = 16384 
-    ld de, 6912        ; Tamaño a cargar = 6912 +    ld de, 6912           ; Tamaño a cargar = 6912 bytes 
-    call 1366          ; Llamamos a la rutina de carga+    call 1366             ; Llamamos a la rutina de carga
 </code> </code>
  
Línea 213: Línea 213:
  
 <code z80> <code z80>
-    scf               ; Set Carry Flag (LOAD) +    scf                  ; Set Carry Flag (LOAD) 
-    ld a, $ff         ; A = $FF (cargar datos) +    ld a, $ff            ; A = $FF (cargar datos) 
-    ld ix, 32768      ; Destino de la carga +    ld ix, 32768         ; Destino de la carga 
-    ld de, 12000      ; Nuestro "programa" ocupa 12000 bytes. +    ld de, 12000         ; Nuestro "programa" ocupa 12000 bytes. 
-    call $0556        ; Recordemos que 0556h = 1366d +    call $0556           ; Recordemos que 0556h = 1366d 
-    jp 32768          ; Saltamos al programa código máquina cargado+    jp 32768             ; Saltamos al programa código máquina cargado
 </code> </code>
  
Línea 230: Línea 230:
 | IX | Dirección inicio de memoria de los datos que se van a grabar. | | IX | Dirección inicio de memoria de los datos que se van a grabar. |
 | DE | Longitud del bloque de datos a grabar (se grabarán los datos desde IX a IX+DE). | | DE | Longitud del bloque de datos a grabar (se grabarán los datos desde IX a IX+DE). |
-| A | Flag Byte, 0x00 para grabar cabeceras o 0xFF (255) para grabar datos. |+| A | Flag Byte, $00 para grabar cabeceras o $FF (255) para grabar datos. |
 | CF (CarryFlag) | 0 (SAVE) | | CF (CarryFlag) | 0 (SAVE) |
  
Línea 372: Línea 372:
  
     scf                             ; Set Carry Flag -> CF=1 -> LOAD     scf                             ; Set Carry Flag -> CF=1 -> LOAD
-    ld a, 255                       ; A = 0xFF (cargar datos)+    ld a, $ff                       ; A = $FF (cargar datos)
     ld ix, 16384                    ; Destino del load = 16384     ld ix, 16384                    ; Destino del load = 16384
-    ld de, 6912                     ; Tamaño a cargar = 6912+    ld de, 6912                     ; Tamaño a cargar = 6912 bytes
     call 1366                       ; Llamamos a la rutina de carga     call 1366                       ; Llamamos a la rutina de carga
  
  • cursos/ensamblador/rutinas_save_load.1705665453.txt.gz
  • Última modificación: 19-01-2024 11:57
  • por sromero