EngelsFransSpaans

Ad


OnWorks-favicon

crasm - Online in de cloud

Voer crash uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdrachtcrasm die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


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

KORTE INHOUD


gek [-of codebestand] [-slx] asmbestand

Stel het microprocessorprogramma samen asmbestand en maak een uitvoerbestand codebestand bij Intel HEX
of Motorola S Code-formaat. Er worden ook een programmaoverzicht en een symbolentabel geproduceerd op de
standaard uitvoer. De huidige versie van gek kan programma's samenstellen voor de 6800, 6801,
6803, 6502, 65C02, en Z80 verwerkers. De volledige lijst wordt afgedrukt wanneer u een beroep doet gek
zonder argumenten.

OPTIES


-o codebestand
Geef de naam van het uitvoerbestand op. Zonder dit wordt er geen uitvoerbestand geproduceerd
optie.

-s Schakel waarschuwingen uit.

-l Schakel de uitvoer van programmalijsten uit.

-x Schakel de uitvoer van symbooltabellen uit.

SYNTAXIS


Elke regel van het montageprogramma moet een van de volgende sjablonen volgen, waarbij de
haakjes geven optionele onderdelen aan.

[;commentaar]
label = uitdrukking [;commentaar]
[label] ezelsbruggetje operand [;commentaar]

Opmerkingen worden ingeleid door een puntkomma (;) en strek uit tot het einde van de regel. Etiketten zijn
ID's met maximaal 36 alfanumerieke tekens (inclusief punt en onderstrepingsteken).
Etiketten mogen niet beginnen met een cijfer. Het formaat van het geheugensteuntjes- en operandenveld hangt ervan af
op de geselecteerde microprocessor. Een paar geheugensteuntjes zijn geldig voor alle processors en dat zijn ze ook
gebruikt om richtlijnen te geven aan de aanwezigen. Deze staan ​​bekend als "pseudo-ezelsbruggetjes".

labels
Labels zijn identificatiegegevens die vertegenwoordigen
— een absoluut adres,
— een relatief adres (positie-onafhankelijke code),
— een register,
— een lijst met registers,
— een specifiek bit op een specifiek adres,
– of een geheugensteuntje.

De meeste labels bestaan ​​uit maximaal 36 alfanumerieke tekens, punten (.) Of
onderstreept (_). Etiketten mogen niet beginnen met een cijfer. Ze zijn hoofdletterongevoelig.

Etiketten die beginnen met een punt (.) zijn lokale labels waarvan de reikwijdte beperkt is tot de
macro waarin ze zijn gedefinieerd, of op het codesegment dat wordt begrensd door de pseudo-ezelsbruggetjes
CODE or DUMMY.

Het vooraf gedefinieerde "ster"-label (*) vertegenwoordigt de huidige programmateller, dat wil zeggen:
het adres waar de volgende assemblagecode-instructie zal worden gecodeerd. Andere vooraf gedefinieerd
labels omvatten alle pseudo-ezelsbruggetjes, microprocessorspecifieke geheugensteuntjes en register
namen.

constanten
Het verzamelde herkent numerieke constanten, uitgedrukt in decimaal, hexadecimaal, octaal,
binair of ascii.

┌─────────────────────────────────────── ────────── ─────────┐
Type Formaat Voorbeelden
├─────────────────────────────────────── ────────── ─────────┤
│decimaal dddd 1234, 675, 12, 1, Maar niet 0.12.
├─────────────────────────────────────── ────────── ─────────┤
│hexadecimaal $dddd $fd12, $ 2AC, $0.
ddddH 03H, 2da7H, 0FC84H, Maar niet FC84H.
0Xdddd 0x03, 0x2 AC, 0Xfc84.
├─────────────────────────────────────── ────────── ─────────┤
│octaal ddddQ 377Q, 012412Q.
├─────────────────────────────────────── ────────── ─────────┤
│binair %dddd % 01110110, % 1100.
ddddB 01110110B, 1100B.
0Bdddd 0b1100
├─────────────────────────────────────── ────────── ─────────┤
│ascii 'cccc' 'A', 'AB', ''', '\n', '\''.
"cccc" "\t", "\"", "a'b".
└─────────────────────────────────────── ────────── ─────────┘
Uitdrukkingen
Net als labels kunnen expressies een absoluut adres vertegenwoordigen (abs), een relatief adres voor
positie-onafhankelijke code (rel), een register (reg), of een lijst met registers (inschrijven), Of a
verwijzing naar een specifiek bit op een specifiek adres (bspec).

De volgende operators worden herkend in expressies.

┌───────────────────────────────────────────────── ──────────┐
Syntaxis Resultaat Omschrijving
├─────────────────────────────────────── ────────── ──────────┤
abs{abs} bspec bitreferentie, bijv pia{3}
ADRES(abs) abs adres uit een bitreferentie │
BEETJE(abs) abs bitnummer uit een bitreferentie │
├─────────────────────────────────────── ────────── ──────────┤
- abs abs twee-complement │
~ abs abs iemands complement │
├─────────────────────────────────────── ────────── ──────────┤
abs << abs abs links verschuiven │
abs >> abs abs rechterverschuiving │
├─────────────────────────────────────── ────────── ──────────┤
abs | abs abs bitsgewijs of │
abs & abs abs bitgewijs en │
abs ^ abs abs bitsgewijze xor │
├─────────────────────────────────────── ────────── ──────────┤
abs * abs abs vermenigvuldiging │
abs * abs abs divisie │
├─────────────────────────────────────── ────────── ──────────┤
abs + abs abs toevoeging │
rel + abs rel toevoeging │
abs - abs abs aftrekken │
rel - abs rel aftrekken │
rel - rel abs aftrekken │
├─────────────────────────────────────── ────────── ──────────┤
reg - reg inschrijven registerbereik │
inschrijven \ reg inschrijven registratielijst │
└───────────────────────────────────────────────── ──────────┘
In de tabel worden operators weergegeven in volgorde van afnemende prioriteit. Er kan gebruik worden gemaakt van haakjes
vermijd onduidelijkheden. Er wordt een waarschuwing gegenereerd wanneer een volledige uitdrukking wordt omgeven door
tussen haakjes en kan worden verward met een microprocessor-adresseringsmodus.

Voorbeelden:

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

Het laatste voorbeeld veroorzaakt een waarschuwing omdat de haakjes niet nodig waren en misschien wel
suggereren een microprocessor-adresseringsmodus.

Alle rekenkundige uitdrukkingen worden geëvalueerd op 32 bits. Rekenkundige bewerkingen lopen over
stil. De rekenkundige waarden worden vervolgens afgekapt tot de grootte die wordt geïmpliceerd door de micro-
processor geheugensteuntje. Deze afkapping kan een waarschuwingsbericht veroorzaken.

Voorbeelden: alle volgende instructies

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

een waarschuwing veroorzaken

>>> WAARSCHUWING: operand overloop

Maar expressie

$1123454 * 1298992

stroomt geruisloos over.

Pseudo-ezelsbruggetjes
De volgende pseudo-ezelsbruggetjes worden altijd herkend.

CPU cpunaam
Geeft het geselecteerde microprocessortype aan. Dit moet verschijnen voordat een micro-
processorspecifieke instructie. De mogelijke waarden van cpunaam worden vermeld wanneer u
inroepen gek zonder argumenten. De huidige lijst bevat 6800, 6801, 6803, 6502,
65C02, en Z80

OUTPUT binformaat
Geeft het formaat van het uitvoerbestand aan. Argument binformaat waarden kan aannemen SCODE
voor het produceren van een uitvoerbestand met behulp van de S-code van Motorola, of HEX voor Intel's Hex
formaat. De standaardwaarde hangt af van de geselecteerde microprocessor.

CODE
Baken de reikwijdte van lokale labels af en introduceer een programmaonderdeel.

DUMMY Beperk de reikwijdte van lokale labels en introduceer een nepprogramma-onderdeel waarvan de enige
Het effect is dat labels worden gedefinieerd zonder code te genereren.

label UITRUSTEN uitdrukking
label = uitdrukking
Definieer de waarde van het label label. Labels die met deze richtlijnen zijn gedefinieerd, kunnen dat zijn
later in het programma opnieuw gedefinieerd.

[label] DB uitdrukking[,...,uitdrukking]
Voeg de opgegeven databytes in (8 bits).

[label] DW uitdrukking[,...,uitdrukking]
Voer de opgegeven datawoorden in (16 bits). De bytevolgorde is afhankelijk van de
geselecteerde microprocessor.

[label] DL uitdrukking[,...,uitdrukking]
Voer de opgegeven data longs in (32 bits). De bytevolgorde is afhankelijk van de
geselecteerde microprocessor.

[label] DDB uitdrukking[,...,uitdrukking]
Voeg de opgegeven dubbele bytes in (16 bits). De bytevolgorde is het tegenovergestelde van
de gebruikelijke bytevolgorde voor de geselecteerde microprocessor.

[label] ASC tekenreeksconstante
Voeg de ascii-weergave van de string in tekenreeksconstante . De tekenreeks moet zijn
gescheiden door dubbele aanhalingstekens. De C-ontsnappingssequenties \r, \n, \t, \0, \', \" en \\
worden erkend.

[label] DS tegenexpr,[valexpr]
Invoegen tegenexpr bytes met waarde valexpr. De standaardwaarde is nul.

[label] ALIGN ZELFS
[label] ALIGN ODD
Voeg een null-byte in om de programmateller even of oneven te maken.

IF condexpr
...
ELSE
...
ENDC
Voorwaardelijke assemblage: If-expressie condexpr niet nul is, verwerk dan de gevonden lijnen
tussen de IF en ELSE pseudo-ezelsbruggetjes. Anders verwerkt u de gevonden lijnen
tussen de ELSE en ENDC pseudo-ezelsbruggetjes. Voorwaardelijke montage-instructies
kan worden genest. De ELSE een deel kan worden weggelaten.

label MACRO
...
ENDM
Definieer een nieuw geheugensteuntje label gelijk aan alle instructies tussen de
MACRO en ENDM pseudo-ezelsbruggetjes. Aanroepen van de macro kunnen een lijst opgeven van
door komma's gescheiden operanden. De karakterreeksen \1, \2, ... \N in de macro
definitie worden vervangen door de opgegeven operanden. De tekenvolgorde \0 is
vervangen door het aantal geleverde operanden.

EXITM
Dit pseudo-ezelsbruggetje kan binnen een macrodefinitie worden gebruikt om de macro af te sluiten. Dit
is nuttig in combinatie met de voorwaardelijke assemblage-pseudo-ezelsbruggetjes.

BEVATTEN bestandsnaam
Forceer de assembler om het bestand genaamd bestandsnaam op het huidige punt.

LIJST ON
LIJST UIT
De productie van een vermelding in- of uitschakelen (standaard is ingeschakeld).

KLIST ON
KLIST UIT
In- of uitschakelen van de productie van een vermelding voor de niet-actieve vestigingen van a
voorwaardelijke assemblageconstructie (standaard is ingeschakeld.)

ILIST ON
ILIST UIT
Schakel de productie van een lijst voor opgenomen bestanden in of uit (standaard is uitgeschakeld).

MLIST ON
MLIST UIT
Schakel de productie van een lijst voor de macro-uitbreidingen in of uit (standaard is
uit.)

NAM titel
Geef naam op titel voor de koptekst van de aanbiedingspagina's.

PAGINA
Start een nieuwe vermeldingspagina.

PAGINA kolommen,rijen
Geef de grootte van een vermeldingspagina op.

SKIP aantal
overslaan aantal lijnen.

FAIL Bericht
Genereer een foutmelding Bericht.

VOORBEELD


Hier is een klein 6502-programma:

cpu 6502
cout = $fd ; tonen a karakter
* = $300 ; monteren at $300
code
pstring LDY #0
.1 lda bericht, j
BEQ .2
jr cout
ins
.2 goed .1
rts
Bericht asc "Deze is de Bericht "
code

CREDITS


Léon Bottou, september 1987.

Gebruik crasm online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Phaser
    Phaser
    Phaser is een snelle, gratis en leuke open
    source HTML5-gameframework dat biedt
    WebGL- en Canvas-weergave overdwars
    desktop- en mobiele webbrowsers. Spellen
    kan samen zijn...
    Phaser downloaden
  • 2
    VASSAL-motor
    VASSAL-motor
    VASSAL is een game-engine om te creëren
    elektronische versies van traditioneel bord
    en kaartspellen. Het biedt ondersteuning voor
    weergave en interactie van speelstukken,
    en...
    VASSAL-engine downloaden
  • 3
    OpenPDF - Vork van iText
    OpenPDF - Vork van iText
    OpenPDF is een Java-bibliotheek voor het maken van
    en het bewerken van PDF-bestanden met een LGPL en
    MPL open source-licentie. OpenPDF is de
    LGPL/MPL open source opvolger van iText,
    een...
    Download OpenPDF - Vork van iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Systeem voor geautomatiseerd
    Geowetenschappelijke analyses - is een geografische
    Informatie Systeem (GIS) software met
    enorme mogelijkheden voor geodata
    verwerking en analyse...
    SAGA GIS downloaden
  • 5
    Toolbox voor Java/JTOpen
    Toolbox voor Java/JTOpen
    De IBM Toolbox voor Java / JTOpen is een
    bibliotheek van Java-klassen die de
    client/server- en internetprogrammering
    modellen naar een systeem met OS/400,
    i5/OS, o...
    Toolbox voor Java/JTOpen downloaden
  • 6
    D3.js
    D3.js
    D3.js (of D3 voor gegevensgestuurde documenten)
    is een JavaScript-bibliotheek waarmee u
    om dynamische, interactieve gegevens te produceren
    visualisaties in webbrowsers. Met D3
    u...
    D3.js downloaden
  • Meer "

Linux-commando's

  • 1
    abidiff
    abidiff
    abidiff - vergelijk ABI's van ELF-bestanden
    abidiff vergelijkt de Application Binary
    Interfaces (ABI) van twee gedeelde bibliotheken
    in ELF-formaat. Het straalt een betekenis uit
    verslag...
    Voer abidiff uit
  • 2
    blijf
    blijf
    abidw - serialiseer de ABI van een ELF
    bestand abidw leest een gedeelde bibliotheek in ELF
    formaat en verzendt een XML-representatie
    van zijn ABI naar standaarduitvoer. De
    uitgestoten ...
    Voer abidw uit
  • 3
    copac2xml
    copac2xml
    bibutils - conversie van bibliografie
    nutsvoorzieningen ...
    Voer copac2xml uit
  • 4
    Copt
    Copt
    copt - kijkgaatje-optimizer SYSNOPIS:
    copt-bestand.. BESCHRIJVING: copt is een
    kijkgaatje-optimizer voor algemeen gebruik. Het
    leest code van zijn standaardinvoer en
    schrijft een...
    Kopt uitvoeren
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - titel verzamelen
    verklaringen van Stx-documenten ...
    Voer collect_stx_titles uit
  • 6
    gatling-bank
    gatling-bank
    bank - http-benchmark ...
    Run gatling-bank
  • Meer "

Ad