InglésFrancésEspañol

icono de página de OnWorks

crasm - Online en la nube

Ejecute crasm en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando crasm que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


crasm - Ensamblador transversal para 6800/6801/6803/6502 / 65C02 / Z80

SINOPSIS


estrépito [-o archivo de código] [-slx] archivo asm

Ensamblar el programa del microprocesador archivo asm y producir archivo de salida archivo de código en Intel HEX
o formato Motorola S Code. También se produce una lista de programas y una tabla de símbolos en el
salida estándar. La versión actual de estrépito puede ensamblar programas para el 6800, 6801,
6803, 6502, 65C02, y Z80 procesadores. La lista completa se imprime cuando invoca estrépito
sin argumentos.

OPCIONES


-o archivo de código
Especifique el nombre del archivo de salida. No se produce ningún archivo de salida sin este
.

-s Desactiva las advertencias.

-l Desactiva la salida de la lista de programas.

-x Desactiva la salida de la tabla de símbolos.

SINTAXIS


Cada línea del programa de ensamblaje debe seguir una de las siguientes plantillas, donde el
los corchetes delimitan las partes opcionales.

[;comentario]
Etiqueta = expresión [;comentario]
[Etiqueta] mnemotécnico operando [;comentario]

Los comentarios se introducen con un punto y coma (;) y se extienden hasta el final de la línea. Las etiquetas son
identificadores que contienen hasta 36 caracteres alfanuméricos (incluidos el punto y el subrayado).
Las etiquetas no pueden comenzar con un dígito. El formato del campo mnemónicos y operandos depende
en el microprocesador seleccionado. Algunos mnemónicos son válidos para todos los procesadores y son
utilizado para dar directivas a los ensamblados. Estos se conocen como "pseudo-mnemónicos".

Etiquetas
Las etiquetas son identificadores que representan
- una dirección absoluta,
- una dirección relativa (código independiente de la posición),
- un registro,
- una lista de registros,
- un bit específico en una dirección específica,
- o un mnemotécnico.

La mayoría de las etiquetas se componen de un máximo de 36 caracteres alfanuméricos, puntos (.) o
guiones bajos_). Las etiquetas no pueden comenzar con un dígito. No distinguen entre mayúsculas y minúsculas.

Etiquetas que comienzan con un punto (.) son etiquetas locales cuyo alcance se limita al
macro en la que están definidos, o al segmento de código delimitado por los pseudo-mnemónicos
CÓDIGO or TONTO.

La etiqueta "estrella" predefinida (*) representa el contador del programa actual, es decir,
la dirección donde se codificará la siguiente instrucción de código ensamblador. Otros predefinidos
las etiquetas incluyen todos los pseudo-mnemónicos, mnemónicos específicos de microprocesador y registro
Nombres

Constantes
El ensamblado reconoce constantes numéricas expresadas en decimal, hexadecimal, octal,
binario o ascii.

┌───────────────────────────────────────────────── ─────────┐
Type Formato Ejemplos
├───────────────────────────────────────────────── ─────────┤
│decimal dddd 1234, 675, 12, 1, Pero no 0.12. │
├───────────────────────────────────────────────── ─────────┤
│hexadecimal $dddd $ fd12, $ 2AC, $0. │
ddddH 03H, 2da7H, 0FC84H, Pero no FC84H. │
0Xdddd 0x03, 0x2AC, 0Xfc84. │
├───────────────────────────────────────────────── ─────────┤
│octales ddddQ 377Q, 012412Q. │
├───────────────────────────────────────────────── ─────────┤
│binario %dddd 01110110%, 1100%. │
ddddB 01110110B, 1100B. │
0Bdddd 0b1100
├───────────────────────────────────────────────── ─────────┤
│ascii 'cccc' 'A', 'AB', '"', '\norte', '\' '. │
"cccc" "\ t", "\" ", "a'b". │
└───────────────────────────────────────────────── ─────────┘
Expresiones
Al igual que las etiquetas, las expresiones pueden representar una dirección absoluta (abs), una dirección relativa para
posición código independienterel), un registro (riego), o una lista de registros (lista de registro), O un
referencia a un bit específico en una dirección específica (especificación b).

Los siguientes operadores se reconocen en expresiones.

┌───────────────────────────────────────────────── ──────────┐
Sintaxis Resultado Descripción
├───────────────────────────────────────────────── ──────────┤
abs{abs} especificación b referencia de bit, p. ej. pia {3}
DIRECCIÓN (abs) abs dirección de una referencia de bit │
POCO(abs) abs número de bit de una referencia de bit │
├───────────────────────────────────────────────── ──────────┤
- abs abs complemento a dos │
~ abs abs el complemento de uno │
├───────────────────────────────────────────────── ──────────┤
abs << abs abs desplazamiento a la izquierda │
abs >> abs abs desplazamiento a la derecha │
├───────────────────────────────────────────────── ──────────┤
abs | abs abs bit a bit o │
abs & abs abs bit a bit y │
abs ^ abs abs bit a bit xor │
├───────────────────────────────────────────────── ──────────┤
abs * abs abs multiplicación │
abs * abs abs división │
├───────────────────────────────────────────────── ──────────┤
abs + abs abs adición │
rel + abs rel adición │
abs - abs abs resta │
rel - abs rel resta │
rel - rel abs resta │
├───────────────────────────────────────────────── ──────────┤
riego - riego lista de registro rango de registro │
lista de registro \ riego lista de registro lista de registro │
└──────────────────────────────────────────────── ──────────┘
La tabla enumera los operadores en orden de precedencia decreciente. Los paréntesis se pueden utilizar para
evitar ambigüedades. Se genera una advertencia cuando una expresión completa está rodeada de
paréntesis y puede confundirse con un modo de direccionamiento por microprocesador.

Ejemplos:

(base + $ 12) >> 8 & 0xff00
'A'-80H
(base + 0x12)

El último ejemplo provoca una advertencia porque los paréntesis no eran necesarios y podrían
sugiera un modo de direccionamiento por microprocesador.

Todas las expresiones aritméticas se evalúan en 32 bits. Desbordamiento de operaciones aritméticas
silenciosamente. Los valores aritméticos se truncan luego al tamaño implicado por el micro-
procesador mnemónico. Este truncamiento puede generar un mensaje de advertencia.

Ejemplos: todas las siguientes instrucciones

(6502) lda # $ 1234
(6800) ldaa $ 1234, x
(Z80) ld (ix + 0C2H), b

causar una advertencia

>>> ADVERTENCIA: operando desbordarse

Sin embargo expresión

$1123454 * 1298992

se desborda silenciosamente.

Pseudo-mnemotécnicos
Siempre se reconocen los siguientes pseudo-mnemónicos.

CPU nombre de CPU
Indica el tipo de microprocesador seleccionado. Esto debe aparecer antes de anu micro-
instrucción específica del procesador. Los posibles valores de nombre de CPU se enumeran cuando usted
invocar estrépito sin argumentos. La lista actual incluye 6800, 6801, 6803, 6502,
65C02, y Z80

SALIDA binformato
Indica el formato del archivo de salida. Argumento binformato puede tomar valores CÓDIGO
para producir un archivo de salida usando el código S de Motorola, o HEX para Intel's Hex
formato. El valor predeterminado depende del microprocesador seleccionado.

CÓDIGO
Delimite el alcance de las etiquetas locales e introduzca una sección de programa.

TONTO Delimite el alcance de las etiquetas locales e introduzca una sección de programa falsa cuya única
El efecto es definir etiquetas sin generar código.

Etiqueta EQUIPAR expresión
Etiqueta = expresión
Definir el valor de la etiqueta Etiqueta. Las etiquetas definidas mediante estas directivas se pueden
redefinido más adelante en el programa.

[Etiqueta] DB expresión[, ...,expresión]
Inserte los bytes de datos especificados (8 bits).

[Etiqueta] DW expresión[, ...,expresión]
Inserte las palabras de datos especificadas (16 bits). El orden de los bytes depende del
microprocesador seleccionado.

[Etiqueta] DL expresión[, ...,expresión]
Inserte los datos largos especificados (32 bits). El orden de los bytes depende del
microprocesador seleccionado.

[Etiqueta] DDB expresión[, ...,expresión]
Inserte los bytes dobles especificados (16 bits). El orden de bytes es lo opuesto a
el orden de bytes habitual para el microprocesador seleccionado.

[Etiqueta] ASC constante
Insertar la representación ascii de la cadena constante . La cadena debe ser
delimitado por comillas dobles. Las secuencias de escape de C \r, \n, \t, \0, \', \"y \\
son reconocidos.

[Etiqueta] DS contarexpr,[valexpr]
insertar contarexpr bytes con valor valexpr. El valor por defecto es cero.

[Etiqueta] ALINEAR AÚN
[Etiqueta] ALINEAR ODD
Inserte un byte nulo para que el programa sea par o impar.

IF conexpr
...
ELSE
...
ENDC
Ensamblado condicional: expresión If conexpr no es cero, procesa las líneas ubicadas
entre las IF y la ELSE pseudo-mnemotécnicos. De lo contrario, procese las líneas ubicadas
entre las ELSE y la ENDC pseudo-mnemotécnicos. Instrucciones de montaje condicionales
se puede anidar. los ELSE parte se puede omitir.

Etiqueta MACRO
...
ENDM
Definir un nuevo mnemónico Etiqueta equivalente a todas las instrucciones ubicadas entre los
MACRO y ENDM pseudo-mnemotécnicos. Las invocaciones de la macro pueden especificar una lista de
operandos separados por comas. Las secuencias de personajes \1, \2... \N en la macro
La definición se reemplaza por los operandos proporcionados. La secuencia de caracteres \0 is
reemplazado por el número de operandos suministrados.

SALIR
Este pseudo mnemónico se puede utilizar dentro de una definición de macro para salir de la macro. Esta
es útil junto con los pseudo-mnemónicos de ensamblaje condicional.

INCLUIR nombre de archivo
Forzar al ensamblador a procesar el archivo llamado nombre de archivo en el punto actual.

Anuncia ON
Anuncia OFF
Habilite o deshabilite la producción de una lista (la opción predeterminada está activada).

CLISTA ON
CLISTA OFF
Habilitar o deshabilitar la producción de un listado para las ramas no activas de un
construcción de ensamblaje condicional (el valor predeterminado está activado).

ILISTA ON
ILISTA OFF
Habilite o deshabilite la producción de una lista para los archivos incluidos (la opción predeterminada está desactivada).

LISTA ML ON
LISTA ML OFF
Habilite o deshabilite la producción de un listado para las expansiones de macros (el valor predeterminado es
apagado.)

NAM título
Proporcionar nombre título para el encabezado de las páginas del listado.

PÁGINA
Inicie una nueva página de listado.

PÁGINA columnas,filas
Especifique el tamaño de una página de listado.

OMITIR número
omitir número líneas.

FALLO mensaje
Genera un mensaje de error mensaje.

EJEMPLO


Aquí hay un pequeño programa 6502:

cpu 6502
cout = $ fded ; la visualización a personaje
* = $300 ; montar at $300
código
pcadena lddy #0
.1 lda mensaje, y
Beq .2
jsr cout
ins
.2 bien .1
estrategia en tiempo real
mensaje asc "Este is de la forma más mensaje "
código

CRÉDITOS


Leon Bottou, septiembre de 1987.

Use crasm en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad