APPLICATIONSPROGRAMMATION ★ GENAC-03 (AMSTRAD PERSONAL) ★

Genac-03 (Amstrad Personal)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Los ensambladores son unas de las herramientas más codiciadas por los programadores. Sin embargo, para el simple aficionado, el precio de estas aplicaciones, alto por lo general, las convierte en prohibitivas. Para resolver este problema hemos diseñado un potente ensamblador que además presenta la virtud de ser totalmente compatible con el famoso Gena. Les presentamos a Genac-03.

Esta semana traemos hasta estas páginas, un programa que puede ser útil a un amplio número de personas, todas aquellas que estén interesadas en el Código Máquina, que deseen trabajar en él, y que aún no disponen de un ensamblador.

Como ya sabrán, un ensamblador se encarga de la desagradable tarea de traducir un programa escrito en Código Máquina, usando mnemónicos, a binario puro, que es al fin y al cabo lo que el ordenador entiende. Pero este programa no se limita sólo a ensamblar. También dispone de un pequeño editor, con el que podemos crear el código fuente.

Instalación del programa

Su uso es bastante sencillo, aunque su instalación en la memoria de nuestro Amstrad por primera vez, puede ser un poquito engorroso. Para empezar deberemos decir que no es sólo un programa, sino que se compone de tres programas escritos en Basic, y de dos escritos en Código Máquina. Deberemos copiar primero los tres programas escritos en Basic, y salvarlos en disco, con los nombres que aparecen en el primer REM de cada uno de ellos. Después, tendremos que copiar los programas binarios, usando el Cargador Universal. Una vez que los hayamos tecleado sin errores, debemos ir a la opción de salvar binario, y dar el nombre que aparece al final de los listados, justo detrás de la palabra Nombre (ensam.bin y edit.bin).

Una vez realizados estos pasos preliminares, y siempre que queramos utilizar el ensamblador, deberemos escribir RUN “Assemble”. Una vez ejecutado, se nos ofrecerán dos posibilidades, que son, o trabajar con el editor o con el ensamblador, según queramos desarrollar un programa o ensamblarlo.

A la hora de desarrollar programas en Código Máquina con el editor, y para que el ensamblador pueda entender perfectamente la línea, deberemos seguir una pocas reglas sintácticas. Si la línea tiene más de un miembro (por ejemplo XOR A) la primera parte deberá estar separada de la segunda por un espacio, y en el caso de que exista una tercera parte (LD A,B) la segunda estará separada de la tercera por una coma. También debemos decir que las líneas deben ir precedidas de un número de línea, como en el Basic. Otro punto importante es el evitar todos los espacios inútiles, tanto en el interior de la línea, como al final de la misma.

Comandos del editor

En cuanto a los comandos de editor, disponemos de los siguientes:

  • A n,m. Similar al Auto del Basic. Empezará a generar números desde n, con incremento de m, aunque ambos números son opcionales. Cuando queramos salir del modo Auto deberemos pulsar la tecla TAB, seguida de ENTER.
  • En. Edita la línea que tenga como número n, en el caso de que exista.
  • L n. Listará el programa a partir de la línea n. Imprimirá en pantalla sólo una página, es decir 24 líneas. Esperará a que pulses una tecla, y si ésta es la tecla TAB, abandonará el listado.
  • C n. Cargará en memoria un programa para continuar con su editor, siempre que tenga como nombre n (no deberá estar entrecomillado).
  • S n. Salva el programa que tengas actualmente en memoria al disco, para que pueda ser ensamblado, y lo salvará con el nombre n, que tampoco tendrá que estar entrecomillado.
  • B. Volverá al menú principal. Ésta es la opción que deberemos elegir cuando no queramos seguir trabajando con el editor.

Una vez terminada la inserción del código fuente con el editor, y si queremos ensamblarlo, deberemos volver al menú principal y pulsar la tecla A para ir al ensamblador. Cuando tengamos ya el ensamblador en memoria, deberemos

darle el nombre con el que tenemos el código fuente salvado en el disco.

El ensamblador lo cargará y empezará su traducción a números.

Además de todas las instrucciones de las que dispone el Z80, disponemos de algunas que son propias del ensamblador y que no serán útiles en nuestro trabajo.

Directivas de GENAC

  • ORG número, le dirá al ensamblador la dirección a partir de la cual quieres que sea introducido el código objeto.
  • DEES número, deja el ensamblador un espacio vacío de tantos bytes como le sean especificados por número.
  • DEER introduce bytes en la memoria que deberán estar separados por comas.
  • DEEM cadena, introduce en la memoria los códigos ASCII de la cadena, cadena que no deberá estar entrecomillada.
  • EQU número, que asigna a una etiqueta el valor de número.
  • P, bascula la salida del texto entre la pantalla y la impresora en el caso de que dispongamos de tal periférico.
  • K, hará que el listado salga por pantalla. Inicialmente está estipulado que el texto sí aparezca. Con esta opción, haremos que el ensamblado vaya más deprisa.

Otra de las posibilidades del ensamblador es la utilización de etiquetas, es decir, en vez de emplear JR #0A, podemos decirle JR buc, donde buc será una etiqueta que tiene un valor asignado. Para poder usarlas, deberemos escribir primero la etiqueta seguida del signo de dos puntos, de un espacio y de la instrucción. Así tendríamos por ejemplo:

BUC: LD A,B
DEC HL
DJNZ BUC

El programa ensambla el código fuente en dos pasadas.

El por qué de esto es para que el ensamblador compruebe si las líneas tienen algún error sintáctico y para que pueda saber el valor de las etiquetas utilizadas en el mismo. Durante la primera pasada el ensamblador hace esas comprobaciones y no aparece el texto en la pantalla, mientras en la segunda sí aparece.

Los números y datos que aparecen en la pantalla se ajustan al siguiente esquema: a la izquierda de la línea aparece el valor del PC (Programa Counter), que será el valor dado por ORG o en su defencto #6000, a continuación aparecen los bytes en hexadecimal, en un número máximo de cuatro, seguidos de la etiqueta si existe y de la instrucción a ensamblar.

Tras la segunda pasada, y en el caso de que no hayan aparecido
errores durante su ensamblado, el programa nos preguntará si queremos salvar el código objeto generado en el disco, a lo que deberemos responder con S o N, según queramos o no.

Esto es todo en cuanto al uso del programa. Su funcionamiento es muy sencillo: mira qué instrucción vamos a ensamblar en este momento (CALL #A400) y, según su orden alfabético ejecuta una subrutina u otra mediante la cual se crea el código objeto.

Las principales variables son:

  • LABEL$(x). Guarda el nombre de las etiquetas utilizadas.
  • VALOR(x), encargada de guardar el valor de las etiquetas.
  • BYTE(x), son los bytes generados por el programa.
  • LIN$, es la línea de texto que actualmente se está ensamblando.

Sólo hay que poner un pero, que puede ser su velocidad, ya que al ser un programa escrito en Basic la restringe mucho, aunque es casi el doble de rápido que el aparecido en estas páginas hace ya algún tiempo.

Por último, una recomendación: no es aconsejable utilizar de un valor para el ORG #6000, ya que si fuese inferior, nos meteríamos en el programa Basic y los resultados serían imprevisibles.

Amstrad Personal

★ PUBLISHER: Amstrad Personal
★ YEARS: 1987 , 1988
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Daniel Calvo

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
  » Genac-03    (Amstrad  Personal)    SPANISH    LISTINGDATE: 2022-09-20
DL: 4 fois
TYPE: PDF
SIZE: 3518Ko
NOTE: 8 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Cargador Universal
» Applications » Desprotector de cargadores Zenith II (The Big Hack)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 121 millisecondes et consultée 41 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.