Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| tutorial_de_cp_m [2023/08/10 17:46] – [Programando BASIC en CP/M] peron | tutorial_de_cp_m [2026/04/21 16:09] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 5: | Línea 5: | ||
| ==== Introducción ==== | ==== Introducción ==== | ||
| Sigue este tutorial para aprender algunos rudimentos de este sistema operativo clásico para [[microcomputadora# | Sigue este tutorial para aprender algunos rudimentos de este sistema operativo clásico para [[microcomputadora# | ||
| + | |||
| === Instala CP/M === | === Instala CP/M === | ||
| + | |||
| En tu sistema Linux/BSD o en nuestro entorno compartido texto-plano descarga la **máquina virtual Altair 8800 con microprocesador Zilog Z80** del usuario //~anthk//, y descomprímela: | En tu sistema Linux/BSD o en nuestro entorno compartido texto-plano descarga la **máquina virtual Altair 8800 con microprocesador Zilog Z80** del usuario //~anthk//, y descomprímela: | ||
| Línea 13: | Línea 15: | ||
| tar xvzf altair.tgz | tar xvzf altair.tgz | ||
| </ | </ | ||
| + | |||
| Inicia ahora **CP/M 2.2** mediante: | Inicia ahora **CP/M 2.2** mediante: | ||
| + | |||
| < | < | ||
| cd ~/altair/ | cd ~/altair/ | ||
| sh cpm | sh cpm | ||
| </ | </ | ||
| + | |||
| Tras unos instantes se iniciará una microcomputadora Altair 8800 con microprocesador Zilog Z80 (virtualizada). | Tras unos instantes se iniciará una microcomputadora Altair 8800 con microprocesador Zilog Z80 (virtualizada). | ||
| {{ : | {{ : | ||
| - | Te presentará una devolución en tu terminal y un prompt que indica la letra de unidad de diskette en la que te encuentras: '' | + | |
| + | Te presentará una devolución en tu terminal y un //prompt// que indica la letra de unidad de diskette en la que te encuentras: '' | ||
| < | < | ||
| Altair 8800 (Z80) simulator V4.0-0 Current | Altair 8800 (Z80) simulator V4.0-0 Current | ||
| Línea 34: | Línea 41: | ||
| === Salir de CP/M === | === Salir de CP/M === | ||
| - | Es muy importante detener correctamente la Altair 8800 emulada. Detén esta máquina virtual con **Ctrl+AltGr+\**. Aparecerá el prompt '' | + | |
| + | Es __sumamente | ||
| >Si no detienes correctamente la máquina virtual, podría quedar consumiendo recursos innecesariamente en el sistema compartido. ¡Por favor sé responsable y detén su uso si no la utilizas! | >Si no detienes correctamente la máquina virtual, podría quedar consumiendo recursos innecesariamente en el sistema compartido. ¡Por favor sé responsable y detén su uso si no la utilizas! | ||
| Línea 81: | Línea 89: | ||
| Carga un programa '' | Carga un programa '' | ||
| < | < | ||
| - | ...o bien introduce [[biblioteca_de_programas# | + | ...o bien introduce [[biblioteca_de_programas# |
| Listalo con '' | Listalo con '' | ||
| Línea 93: | Línea 101: | ||
| El Ensamblador Z80 es el lenguaje de programación de alto nivel; para operar con él debemos escribir el código con el editor [[ed]] utilizando nemónicos de Zilog Z80, ensamblarlo con //asm//, y compilarlo con //load//. | El Ensamblador Z80 es el lenguaje de programación de alto nivel; para operar con él debemos escribir el código con el editor [[ed]] utilizando nemónicos de Zilog Z80, ensamblarlo con //asm//, y compilarlo con //load//. | ||
| + | |||
| === ¡Programa! === | === ¡Programa! === | ||
| - | Ejecuta el editor [[ed]] indicando un fichero de código fuente de extensión '' | + | |
| + | Ejecuta el editor [[ed]] indicando un fichero de código fuente de extensión '' | ||
| < | < | ||
| A> ed i:sl.asm | A> ed i:sl.asm | ||
| </ | </ | ||
| + | |||
| El editor //ed// te indicará que estás en un fichero nuevo: | El editor //ed// te indicará que estás en un fichero nuevo: | ||
| + | |||
| < | < | ||
| NEW FILE | NEW FILE | ||
| </ | </ | ||
| + | |||
| Pasa a //modo inserción// | Pasa a //modo inserción// | ||
| + | |||
| < | < | ||
| + | |||
| ...e introduce estas 9 líneas de código fuente de Ensamblador Z80. Puedes pegarlas o bien utilizar la **tecla tab** para hacer las columnas. Utiliza la **tecla Intro** para confirmar cada nuevas líneas (Ed indicará un número de línea en las medida que las vayas agregando): | ...e introduce estas 9 líneas de código fuente de Ensamblador Z80. Puedes pegarlas o bien utilizar la **tecla tab** para hacer las columnas. Utiliza la **tecla Intro** para confirmar cada nuevas líneas (Ed indicará un número de línea en las medida que las vayas agregando): | ||
| - | <code asm> | + | |
| + | <file asm sl.asm> | ||
| ORG 0100H | ORG 0100H | ||
| BDOS EQU 0005H | BDOS EQU 0005H | ||
| Línea 115: | Línea 132: | ||
| MSG$ DB ' | MSG$ DB ' | ||
| END START | END START | ||
| - | </code> | + | </file> |
| Presiona **Ctrl+z** para detener el //modo inserción//, | Presiona **Ctrl+z** para detener el //modo inserción//, | ||
| + | |||
| < | < | ||
| : *e | : *e | ||
| </ | </ | ||
| + | |||
| Tras haber editado tu código fuente, pasa a la unidad de diskette '' | Tras haber editado tu código fuente, pasa a la unidad de diskette '' | ||
| + | |||
| < | < | ||
| A> i: | A> i: | ||
| </ | </ | ||
| + | |||
| === ¡Ensambla! === | === ¡Ensambla! === | ||
| + | |||
| Ensambla el código: | Ensambla el código: | ||
| + | |||
| < | < | ||
| - | a> asm i: | + | a> asm i:sl |
| + | </ | ||
| < | < | ||
| CP/M ASSEMBLER - VER 2.0 | CP/M ASSEMBLER - VER 2.0 | ||
| Línea 135: | Línea 160: | ||
| END OF ASSEMBLY | END OF ASSEMBLY | ||
| </ | </ | ||
| + | |||
| El ensamblador creará una serie de ficheros nuevos en la unidad de disquete virtual. | El ensamblador creará una serie de ficheros nuevos en la unidad de disquete virtual. | ||
| - | Observa desensamblado para el microprocesador Z80 del código fuente con. | + | Observa desensamblado para el microprocesador Z80 del código fuente con: |
| - | < | + | |
| + | < | ||
| + | TYPE I:SL.PRN | ||
| + | </ | ||
| Observa el volcado hexadecimal del mismo: | Observa el volcado hexadecimal del mismo: | ||
| - | < | + | |
| + | < | ||
| + | I> TYPE I:SL.HEX | ||
| + | </ | ||
| ===¡Compila!=== | ===¡Compila!=== | ||
| + | |||
| Compila el fichero: | Compila el fichero: | ||
| + | |||
| < | < | ||
| El compilador automático creará un ejecutable '' | El compilador automático creará un ejecutable '' | ||
| + | |||
| < | < | ||
| + | |||
| ===¡Corre!=== | ===¡Corre!=== | ||
| + | |||
| Y finalmente, ¡cargalo en memoria y córrelo! | Y finalmente, ¡cargalo en memoria y córrelo! | ||
| + | |||
| < | < | ||
| + | |||
| < | < | ||
| ==== Conclusión ==== | ==== Conclusión ==== | ||
