¡Esta es una revisión vieja del documento!
Tutorial de CP/M
CP/M es un sistema operativo clásico para microcomputadoras. Gracias al usuario ~anthk encontrarás una máquina virtual prearmada.
Sigue este tutorial para aprender algunos rudimentos del mismo.
En nuestro entorno compartido texto-plano o tu sistema Linux/BSD, descarga la máquina virtual Altair 8800 con microprocesador Zilog Z80 del usuario ~anthk, y la descomprímela:
cd ~ wget https://caja.texto-plano.xyz/anthk/emu/altair.tgz tar xvzf altair.tgz cd altair/src sh cpm
Tras unos instantes se iniciará una Altair 8800 con microprocesador Zilog Z80 virtualizada.
La misma realizará una devolución a tu terminal y te presentará un prompt que indica la letra de unidad de diskette en la que te encuentras: A>
Altair 8800 (Z80) simulator V4.0-0 Current git commit id: $Format: /home/fulana/altair/src/cpm22/cpm2-8> set cpu 2k Non-existent parameter 64K CP/M Version 2.2 (SIMH ALTAIR 8800, BIOS V1.27, 2 HD, 02-May-2009) A>
Esto te indicará que te encuentras en la unidad de disco A>.
Salir del Emulador
Es muy importante detener correctamente la Altair 8800 virtual.
Detén la máquina virtual con Ctrl+AltGr+\. En el prompt sim>
introduce el comando exit.
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!
CP/M inicial
Revisa la unidad de disco actual con el comando LS
.
Los ficheros de extensión .COM
son ejecutables de CP/M.
Revisa el contenido de un archivo con el comando TYPE
. Por ejemplo, el CCPZ.TXT
.
A> type a:eliza.bas
La Unidad de diskette B:
contiene programas adicionales. La unidad de diskette I:
contiene un diskette libre para que puedas crear tu propio contenido, en tanto que la unidad de diskette J:
contiene algunos intérpretes y utilidades adicionales.
Pasa a la unidad B: y juega al Colossal Cave Adventure en CP/M.
A> b: B> adv
Podrás salir de adv introduciendo el comando exit
.
Programando BASIC en CP/M
Puedes utilizar un intérprete de MBASIC-80 en CP/M.
Ejecuta el intérprete:
a:mbasic
BASIC-80 Rev. 5.21 [CP/M Version] Copyright 1977-1981 (C) by Microsoft Created: 28-Jul-81 32824 Bytes free Ok
Carga un programa ELIZA.BAS
LOAD "ELIZA.BAS"
…o bien introduce algún programa escrito en BASIC.
Listalo con LIST
o ejecútalo con RUN
.
Puedes utilizar Ctrl+c para interrumpir un programa BASIC.
Sal del intérprete MBASIC y vuelve al microsistema CP/M con el comando SYSTEM
.
Programando en Ensablador Z80 en CP/M
Para programar en CP/M, debemos escribir la rutina en Ensamblador Z80, interpretarlo, y ejecutarlo. Para ello debemos escribir el programa con el editor ed en nemónicos de Zilog Z80, ensamblarlos con asm a hexadecimal, y usar load para convertir dicho archivo a un binario ejecutable con extensión .COM
.
¡Programa!
Ejecuta el editor ed con un archivo de código fuente de extensión .asm
, creando un programa llamado sl.asm
en la unidad de diskette I:
, de la siguiente manera:
A> ed i:sl.asm
El editor Ed te indicará que estás en un fichero nuevo:
NEW FILE
Pasa a modo inserción con *i
…
: *i
…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 las nuevas líneas (Ed te indicará el número de línea en las medida que las vayas agregando):
ORG 0100H BDOS EQU 0005H START: MVI C,9 LXI D,MSG$ CALL BDOS RET MSG$ DB 'COMPARTE TU SOFTWARE!$' END START
Presiona Ctrl+z para detener el modo inserción, y luego guarda el cambio en el diskette y sal del editor ed con el comando *e
:
: *e
Tras haber editado tu código fuente, pasa a la unidad de diskette I:
…
A> i:
¡Ensambla!
Ensambla el código:
a> asm i:sl
CP/M ASSEMBLER - VER 2.0 011F 000H USE FACTOR END OF ASSEMBLY
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.
TYPE I:SL.PRN
Observa el volcado hexadecimal del mismo:
I> TYPE I:SL.HEX
¡Compila!
Compila el fichero:
I> load i:sl
El compilador automático creará un ejecutable SL.COM
. Vuelca en pantalla el código objeto del programa binario SL.COM
.
I> dump sl.com
¡Corre!
Y finalmente, ¡cargalo en memoria y córrelo!
I> i:sl
COMPARTE TU SOFTWARE!