InglêsFrancêsEspanhol

Ad


favicon do OnWorks

crasm - Online na nuvem

Execute crasm no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando crasm que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


crasm - Cross assembler para 6800/6801/6803/6502 / 65C02 / Z80

SINOPSE


espasmo [-ou arquivo de código] [-slx] arquivo asm

Monte o programa do microprocessador arquivo asm e produzir arquivo de saída arquivo de código em Intel HEX
ou formato do código S da Motorola. Uma lista de programas e uma tabela de símbolos também são produzidas no
saída padrão. A versão atual do espasmo pode montar programas para o 6800, 6801,
6803, 6502, 65C02, e Z80 processadores. A lista completa é impressa quando você invoca espasmo
sem argumentos.

OPÇÕES


-o arquivo de código
Especifique o nome do arquivo de saída. Nenhum arquivo de saída é produzido sem este
opção.

-s Desative os avisos.

-l Desative a saída da lista de programas.

-x Desative a saída da tabela de símbolos.

SINTAXE


Cada linha do programa de montagem deve seguir um dos seguintes modelos, onde o
colchetes delimitam partes opcionais.

[;comentar]
rótulo = expressão [;comentar]
[rótulo] mnemônico operando [;comentar]

Os comentários são introduzidos por um ponto e vírgula (;) e se estender até o final da linha. Rótulos são
identificadores contendo até 36 caracteres alfanuméricos (incluindo ponto e sublinhado).
Os rótulos não podem começar com um dígito. O formato do campo mnemônicos e operandos depende
no microprocessador selecionado. Alguns mnemônicos são válidos para todos os processadores e são
usado para dar diretrizes aos montados. São conhecidos como "pseudo-mnemônicos".

Rótulos
Rótulos são identificadores que representam
- um endereço absoluto,
- um endereço relativo (código independente de posição),
- um registro,
- uma lista de registros,
- um bit específico em um endereço específico,
- ou um mnemônico.

A maioria dos rótulos são compostos de no máximo 36 caracteres alfanuméricos, pontos (.) ou
sublinhados (_) Os rótulos não podem começar com um dígito. Eles não fazem distinção entre maiúsculas e minúsculas.

Rótulos que começam com um ponto (.) são rótulos locais cujo escopo é limitado ao
macro em que são definidos, ou para o segmento de código delimitado pelo pseudo-mnemônico
CÓDIGO or BOBO.

O rótulo predefinido de "estrela" (*) representa o contador do programa atual, ou seja,
o endereço onde a próxima instrução do código de montagem será codificada. Outro pré-definido
rótulos incluem todos os pseudo-mnemônicos, mnemônicos específicos do microprocessador e registro
nomes.

Constante
O montado reconhece constantes numéricas expressas em decimal, hexadecimal, octal,
binário ou ascii.

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────┐
Formato Formato Exemplos
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────┤
│decimal dddd 1234, 675, 12, 1, Mas não 0.12. │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────┤
│hexadecimal $dddd $ fd12, $ 2AC, $0. │
ddddH 03H, 2da7H, 0FC84H, Mas não FC84H. │
0Xdddd 0x03, 0x2AC, 0Xfc84. │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────┤
│octal ddddQ 377Q, 012412Q. │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────┤
│binário %dddd % 01110110, % 1100. │
ddddB 01110110B, 1100B. │
0Bdddd 0b1100
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────┤
│ascii 'cccc' 'uma', 'AB', '"', '\ n', '\' '. │
"cccc" "\ t", "\" ", "a'b". │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────┘
Expressões
Como rótulos, as expressões podem representar um endereço absoluto (abs), um endereço relativo para
código independente de posição (rel), um registro (reg), ou uma lista de registros (registrar), ou um
referência a um bit específico em um endereço específico (bspec).

Os seguintes operadores são reconhecidos em expressões.

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┐
Sintaxe Resultado Descrição
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┤
abs{abs} bspec referência de bit, por exemplo pia {3}
ADDR (abs) abs endereço de uma referência de bit │
PEDAÇO(abs) abs número de bit de uma referência de bit │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┤
- abs abs complemento de dois │
~ abs abs um complemento │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┤
abs << abs abs deslocamento para a esquerda │
abs >> abs abs deslocamento para a direita │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┤
abs | abs abs bit a bit ou │
abs & abs abs bit a bit e │
abs ^ abs abs bit a bit xor │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┤
abs * abs abs multiplicação │
abs * abs abs divisão │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┤
abs + abs abs adição │
rel + abs rel adição │
abs - abs abs subtração │
rel - abs rel subtração │
rel - rel abs subtração │
├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┤
reg - reg registrar faixa de registro │
registrar \ reg registrar lista de registro │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────┘
A tabela lista os operadores em ordem decrescente de precedência. O parêntese pode ser usado para
evite ambigüidades. Um aviso é gerado quando uma expressão inteira é cercada por
parênteses e pode ser confundido com um modo de endereçamento de microprocessador.

Exemplos:

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

O último exemplo causa um aviso porque os parênteses não eram necessários e podem
sugerir um modo de endereçamento de microprocessador.

Todas as expressões aritméticas são avaliadas em 32 bits. Estouro de operações aritméticas
silenciosamente. Os valores aritméticos são então truncados para o tamanho implícito pelo micro
processador mnemônico. Esse truncamento pode causar uma mensagem de aviso.

Exemplos: todas as instruções a seguir

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

causar um aviso

>>> AVISO: Operando transbordar

No entanto, expressão

$1123454 * 1298992

transborda silenciosamente.

Pseudo-mnemônicos
Os seguintes pseudo-mnemônicos são sempre reconhecidos.

CPU nome da CPU
Indica o tipo de microprocessador selecionado. Isso deve aparecer antes de anu micro-
instrução específica do processador. Os valores possíveis de nome da CPU estão listados quando você
invocar espasmo sem argumentos. A lista atual inclui 6800, 6801, 6803, 6502,
65C02, e Z80

SAÍDA formato bin
Indica o formato do arquivo de saída. Argumento formato bin pode assumir valores CÓDIGO
para produzir um arquivo de saída usando o código S da Motorola, ou HEX para Intel's Hex
formato. O padrão depende do microprocessador selecionado.

CÓDIGO
Delimite o escopo dos rótulos locais e introduza uma seção do programa.

BOBO Delimite o escopo dos rótulos locais e introduza uma seção de programa falsa, cujo único
efeito é definir rótulos sem gerar código.

rótulo IGUAL expressão
rótulo = expressão
Defina o valor do rótulo rótulo. Rótulos definidos usando essas diretivas podem ser
redefinida posteriormente no programa.

[rótulo] DB expressão[, ...,expressão]
Insira os bytes de dados especificados (8 bits).

[rótulo] DW expressão[, ...,expressão]
Insira as palavras de dados especificadas (16 bits). A ordem dos bytes depende do
microprocessador selecionado.

[rótulo] DL expressão[, ...,expressão]
Insira os longos de dados especificados (32 bits). A ordem dos bytes depende do
microprocessador selecionado.

[rótulo] DDB expressão[, ...,expressão]
Insira os bytes duplos especificados (16 bits). A ordenação de bytes é o oposto de
a ordenação de bytes usual para o microprocessador selecionado.

[rótulo] ASC constante de corda
Insira a representação ascii da string constante de corda . A string deve ser
delimitado por aspas duplas. As sequências de escape C \r, \n, \t, \0, \', \" e \\
são reconhecidos.

[rótulo] DS contra-expositor,[valexr]
Inserir contra-expositor bytes com valor valexr. O valor padrão é zero.

[rótulo] ALINHAR MESMO
[rótulo] ALINHAR ODD
Insira um byte nulo para tornar o contador do programa par ou ímpar.

IF condespr
...
ELSE
...
FIM
Montagem condicional: expressão If condespr é diferente de zero, processe as linhas localizadas
Entre o IF e os votos de ELSE pseudo-mnemônicos. Caso contrário, processe as linhas localizadas
Entre o ELSE e os votos de FIM pseudo-mnemônicos. Instruções de montagem condicionais
pode ser aninhado. o ELSE parte pode ser omitida.

rótulo MACRO
...
ENDM
Defina um novo mnemônico rótulo equivalente a todas as instruções localizadas entre o
MACRO e ENDM pseudo-mnemônicos. As invocações da macro podem especificar uma lista de
operandos separados por vírgula. As sequências de personagens \1, \2, ... \N na macro
definição são substituídas pelos operandos fornecidos. A sequência de personagens \0 is
substituído pelo número de operandos fornecidos.

SAIR
Este pseudo mnemônico pode ser usado dentro de uma definição de macro para sair da macro. Esse
é útil em conjunto com os pseudo-mnemônicos de montagem condicional.

INCLUIR nome do arquivo
Força o montador a processar o arquivo chamado nome do arquivo no ponto atual.

LISTA ON
LISTA OFF
Ative ou desative a produção de uma lista (o padrão é ativado).

CLISTA ON
CLISTA OFF
Habilite ou desabilite a produção de uma lista para os ramos não ativos de um
construção de montagem condicional (o padrão é ativado).

ILISTA ON
ILISTA OFF
Habilite ou desabilite a produção de uma lista para os arquivos incluídos (o padrão é desligado).

MLIST ON
MLIST OFF
Habilite ou desabilite a produção de uma lista para as expansões de macro (o padrão é
fora.)

NAM título
Forneça o nome título para o cabeçalho das páginas de listagem.

PAGE
Inicie uma nova página de listagem.

PAGE colunas,linhas
Especifique o tamanho de uma página de listagem.

PULAR número
pular número Linhas.

FALHA mensagem
Gere uma mensagem de erro mensagem.

EXEMPLO


Aqui está um pequeno programa 6502:

cpu 6502
cout = $ fded ; exibição a personagem
* = $300 ; montar at $300
código
string senhora #0
.1 lda mensagem, y
Beq .2
jsr cout
ins
.2 bem .1
rts
mensagem asc "Este is que o mensagem "
código

CRÉDITOS


Leon Bottou, setembro de 1987.

Use crasm online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser é um aplicativo rápido, gratuito e divertido
    framework de jogo HTML5 de origem que oferece
    Renderização WebGL e Canvas em
    navegadores da web para desktop e celular. Jogos
    pode ser co ...
    Baixar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL é um motor de jogo para criar
    versões eletrônicas do tabuleiro tradicional
    e jogos de cartas. Ele fornece suporte para
    renderização e interação de peças do jogo,
    e ...
    Baixar VASSAL Engine
  • 3
    OpenPDF - Fork do iText
    OpenPDF - Fork do iText
    OpenPDF é uma biblioteca Java para criar
    e edição de arquivos PDF com LGPL e
    Licença de código aberto MPL. OpenPDF é o
    LGPL/MPL sucessor de código aberto do iText,
    um ...
    Baixar OpenPDF - Bifurcação do iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema para Automatizado
    Análises geocientíficas - é um geográfico
    Software de Sistema de Informação (GIS) com
    imensas capacidades para geodados
    processando e ana ...
    Baixar SAGA GIS
  • 5
    Caixa de ferramentas para Java / JTOpen
    Caixa de ferramentas para Java / JTOpen
    O IBM Toolbox for Java / JTOpen é um
    biblioteca de classes Java suportando o
    programação cliente/servidor e internet
    modelos para um sistema rodando OS/400,
    i5/OS, ou...
    Baixar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 para documentos baseados em dados)
    é uma biblioteca JavaScript que permite
    para produzir dados dinâmicos e interativos
    visualizações em navegadores da web. Com D3
    você...
    Baixar D3.js
  • Mais "

Comandos Linux

  • 1
    Abidiff
    Abidiff
    abidiff - comparar ABIs de arquivos ELF
    abidiff compara o aplicativo binário
    Interfaces (ABI) de duas bibliotecas compartilhadas
    em formato ELF. Ele emite um significativo
    relatorio ...
    Executar abidiff
  • 2
    abidw
    abidw
    abidw - serializar o ABI de um ELF
    arquivo abidw lê uma biblioteca compartilhada em ELF
    formato e emite uma representação XML
    de seu ABI para a saída padrão. O
    emitido ...
    Execute abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversão de bibliografia
    Serviços de utilidade pública ...
    Execute copac2xml
  • 4
    copta
    copta
    copt - otimizador de olho mágico SYSNOPIS:
    copt.. DESCRIÇÃO: copt é um
    otimizador de olho mágico de uso geral. Isto
    lê o código de sua entrada padrão e
    escreve um...
    Executar copia
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - reunir título
    declarações de documentos Stx ...
    Executar collect_stx_titles
  • 6
    banco giratório
    banco giratório
    bancada - benchmark http ...
    Executar gatling-bench
  • Mais "

Ad