Guía ultra-rapida de MAXAM
Reglas del Foro
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.
De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.
De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Guía ultra-rapida de MAXAM
Guía Ultra-Rápida para el uso del Maxam
(Esta guía está basada en el maxam 1.14, versión disco)
1.Entrada en maxam
Run”disc
|m (si es versión ROM y está instalada no hay que hacer run”disc)
2.Editar texto.
T: Entra en el menú del editor
_Dentro del editor de texto_
E: Editar texto.
Como ejemplo escribimos lo siguiente:
org &4000
ld a, 10
add a
ret
para salir del modo de edición pulsamos ESCape y volvemos al menú de editor.
3. Ensamblando.
En el menú editor de texto: A: Ensamblar. Si todo va bien nos mostrará la información de cómo va quedando nuestro programa en memoria:
ARNOR Z80 ASSEMBLER ver 1.14
0001 4000 (4000) org &4000
0002 4000 3E 0A ld a,0
0003 4002 87 add a
0004 4003 C9 ret
Errors: 0000 Warnings: 0000
La primera columna indica la línea del código, la segunda la posición de memoria, la tercera los bytes ensamblados de la 4 columna.
Volvemos al menú pulsado INTRO
Como no ha habido errores podemos ejecutar el código, pulsamos J y nos pregunta la dirección de memoria inicial, en nuestro caso es &4000.
Execution Adress: 4000 (INTRO)
y vemos que no ocurre nada que veamos, pulsamos intro otra vez y volvemos al menú. El código se ha ejecutado.
Podemos salvar nuestro código fuente: S, nos pide el nombre del archivo. Luego lo podremos recuperar con L.
4. Guardando el binario
Para guardar el archivo ensamblado volvemos a Basic y escribimos:
save”nombre”,B,&4000,4
donde &4000 es la dirección de inicio de nuestro programa y 4 el número de bytes de nuestro programa.
Otra forma de hacerlo es metiendo Write “nombre” en el código fuente. El ensamblador ensamblará a memoria y lo pasará a disco:
org &4000
write “nombre”
ld a, 10
add a
ret
(Esta guía está basada en el maxam 1.14, versión disco)
1.Entrada en maxam
Run”disc
|m (si es versión ROM y está instalada no hay que hacer run”disc)
2.Editar texto.
T: Entra en el menú del editor
_Dentro del editor de texto_
E: Editar texto.
Como ejemplo escribimos lo siguiente:
org &4000
ld a, 10
add a
ret
para salir del modo de edición pulsamos ESCape y volvemos al menú de editor.
3. Ensamblando.
En el menú editor de texto: A: Ensamblar. Si todo va bien nos mostrará la información de cómo va quedando nuestro programa en memoria:
ARNOR Z80 ASSEMBLER ver 1.14
0001 4000 (4000) org &4000
0002 4000 3E 0A ld a,0
0003 4002 87 add a
0004 4003 C9 ret
Errors: 0000 Warnings: 0000
La primera columna indica la línea del código, la segunda la posición de memoria, la tercera los bytes ensamblados de la 4 columna.
Volvemos al menú pulsado INTRO
Como no ha habido errores podemos ejecutar el código, pulsamos J y nos pregunta la dirección de memoria inicial, en nuestro caso es &4000.
Execution Adress: 4000 (INTRO)
y vemos que no ocurre nada que veamos, pulsamos intro otra vez y volvemos al menú. El código se ha ejecutado.
Podemos salvar nuestro código fuente: S, nos pide el nombre del archivo. Luego lo podremos recuperar con L.
4. Guardando el binario
Para guardar el archivo ensamblado volvemos a Basic y escribimos:
save”nombre”,B,&4000,4
donde &4000 es la dirección de inicio de nuestro programa y 4 el número de bytes de nuestro programa.
Otra forma de hacerlo es metiendo Write “nombre” en el código fuente. El ensamblador ensamblará a memoria y lo pasará a disco:
org &4000
write “nombre”
ld a, 10
add a
ret
- Adjuntos
-
- Maxam 1.14.rar
- (23.06 KiB) Descargado 636 veces
Última edición por Artaburu el Lun 05 Mar , 2007 4:16 pm, editado 1 vez en total.
Salu2,
Arta
Arta
Re: Guía ultra-rapida de MAXAM
De antemano pido perdón por levantar este post del 2007... pero acabo de empezar con el CPC y el ensamblador y tengo una duda a la hora de cargar mis binarios...
El compañero Artaburu indica que para cargar se puede hacer lo siguiente:
Pero no entiendo de donde sale ese &3500...
Pensaba que era de esta manera:
Otro problema que tengo es que cuando lo cargo desde mi programa en Basic, hago esto
Y siempre obtengo el mensaje de memory full.
¿Que estoy haciendo mal? (Toy Confuso) XD
El compañero Artaburu indica que para cargar se puede hacer lo siguiente:
Código: Seleccionar todo
save"xxxd",b,&4000,&3500,&4100
Pensaba que era de esta manera:
Código: Seleccionar todo
Save "nombre",b(inario),direccion de inicio, longitud en bytes.
Otro problema que tengo es que cuando lo cargo desde mi programa en Basic, hago esto
Código: Seleccionar todo
Load "nombre.bin" o Load "nombre.bin",&4000
Y siempre obtengo el mensaje de memory full.
¿Que estoy haciendo mal? (Toy Confuso) XD
Re: Guía ultra-rapida de MAXAM
No te preocupes por el reflote, para eso están lo hilos, para aunar las distintas dudas. Así disponemos de las distintas dudas todas juntas.
El último parámetro es la dirección de entrada, que es opcional (sino, la de entrada por defecto es la de inicio). La sintaxis completa esPero no entiendo de donde sale ese &3500...Código: Seleccionar todo
save"xxxd",b,&4000,&3500,&4100
Pensaba que era de esta manera:
Código: Seleccionar todo
Save "nombre",b(inario),dirección de inicio, longitud en bytes.
Código: Seleccionar todo
SAVE "nombre",b(inario),dirección de inicio, longitud en bytes, dirección de ejecución
Necesitas reducir el espacio reservado al BASIC mediante la instrucción MEMORY, si no lo haces, dispondría de toda la memoria disponible. Para tu programa valdría con MEMORY &3FFF (ponemos el tope de nuestro programa en BASIC 1 byte por debajo de donde empieza tu programa en binario, pudiendo así convivir ambos en memoria.Otro problema que tengo es que cuando lo cargo desde mi programa en Basic, hago estoY siempre obtengo el mensaje de memory full.Código: Seleccionar todo
Load "nombre.bin" o Load "nombre.bin",&4000
Re: Guía ultra-rapida de MAXAM
Muchas gracias por tu respuesta MiguelSky
Funciona perfectamente, el caso es que llevo viendo cargadores casi toda la mañana y raro es el que no lleva esa instrucción casi al principio
Voy a ver si leo más
Funciona perfectamente, el caso es que llevo viendo cargadores casi toda la mañana y raro es el que no lleva esa instrucción casi al principio
Voy a ver si leo más
Última edición por droman el Mar 27 Oct , 2015 1:36 pm, editado 1 vez en total.
Re: Guía ultra-rapida de MAXAM
No había mucho alumno en el curso así que se suspendió. Pero tu avanza y pregunta lo que necesites y te echaremos una mano.Muchas gracias por tu respuesta MiguelSky
Funciona perfectamente, el caso es que llevo viendo cargadores casi toda la mañana y raro es el que no lleva esa instrucción casi al principio
Voy a ver si leo más
Por cierto?.... Ya está? Todos los ejercicios de Ensamblador son sumar y restar números?? Se me va a hacer muy corto XD
Salu2,
Arta
Arta
Re: Guía ultra-rapida de MAXAM
Gracias por la aclaración
Que conste que edité el mensaje anterior para que no apareciera lo del curso en un post que no tiene nada que ver con el post sobre ejercicios en ensamblador
Si no se me retuerce nada en la cabeza es probable que siga dando guerra, tengo muchas ganas de aprender a programar para este sistema que he tardado 30 años en tener
Que conste que edité el mensaje anterior para que no apareciera lo del curso en un post que no tiene nada que ver con el post sobre ejercicios en ensamblador
Si no se me retuerce nada en la cabeza es probable que siga dando guerra, tengo muchas ganas de aprender a programar para este sistema que he tardado 30 años en tener
Re: Guía ultra-rapida de MAXAM
Pues ánimo y adelante!
El ensamblador es un poco arduo al principio pero enseguida vas viendo progresos y es muy reconfortante.
En la revista RUA creo que hicimos algo de ensamblador también. Si no me equivoco era ejemplo explicado de pelota que rebota. Igual también te ayuda.
El ensamblador es un poco arduo al principio pero enseguida vas viendo progresos y es muy reconfortante.
En la revista RUA creo que hicimos algo de ensamblador también. Si no me equivoco era ejemplo explicado de pelota que rebota. Igual también te ayuda.
Salu2,
Arta
Arta
Re: Guía ultra-rapida de MAXAM
Hola
Tengo un programa (de prueba) que pone todos los píxiles en amarillo. Cuando termina la ejecución del programa se reinicia el ordenador.
Si cambio RET por HALT, se reinicia a las 2 ó 3 segundos.
Con el programa que proponen más arriba también se reinicia el ordenador.
Tengo un programa (de prueba) que pone todos los píxiles en amarillo. Cuando termina la ejecución del programa se reinicia el ordenador.
Si cambio RET por HALT, se reinicia a las 2 ó 3 segundos.
Con el programa que proponen más arriba también se reinicia el ordenador.
Re: Guía ultra-rapida de MAXAM
Bueno en principio con RET debería simplemente salir a basic una vez hecho acabado el programa.
¿Puedes pegar el código? Yo voy cortito de ensamblador pero bueno a ver si te puedo echar una mano
¿Puedes pegar el código? Yo voy cortito de ensamblador pero bueno a ver si te puedo echar una mano
¿Quién está conectado?
Usuarios navegando por este Foro: Ahrefs [Bot]
La Comunidad Española |