GoGPT Best VPN GoSearch

OnWorks-favicon

z80asm - Online in de cloud

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

Dit is de opdracht z80asm 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


z80asm - assembler voor de Z80 microprocessor

KORTE INHOUD


z80asm [opties] [bestanden ...]

PRODUCTBESCHRIJVING


Z80asm is een assembler voor Z80 montage. Als er geen invoerbestanden zijn opgegeven, wordt stdin gebruikt.
Als er geen uitvoerbestand is opgegeven, wordt "a.bin" gebruikt. Als "-" is opgegeven als uitvoerbestand,
stdout wordt gebruikt. Dit maakt het mogelijk om de assembler in een pijpleiding te gebruiken.

Als er meerdere invoerbestanden zijn opgegeven, gebruikt de assembler eerst alle bestanden die waren
gespecificeerd met -i of --input, in de aangegeven volgorde. Daarna werden alle bestanden die waren
gespecificeerd als niet-optie argumenten worden verzameld, ook in de gegeven volgorde.

OPTIES


-H, --help
Overzicht van opties weergeven en afsluiten.

-V, --versie
Versie-informatie weergeven en afsluiten.

-in, --uitgebreid
Wees breedsprakig. Geef meerdere keren op om uitgebreider te zijn. Berichten worden verzonden naar
standaardfout.

-ik, --lijst[=bestandsnaam]
Schrijf een lijstbestand. Geen bestandsnaam of '-' betekent stderr.

-L, --etiket[=bestandsnaam]
Schrijf een labelbestand. Geen bestandsnaam of '-' betekent stderr.

-P, --label-voorvoegsel=voorvoegsel
prefix alle labels met dit prefix.

-l, --invoer=bestandsnaam
Geef een invoerbestand op (-i kan worden weggelaten). '-' betekent standaard.

-O, --uitvoer=bestandsnaam
Geef het uitvoerbestand op. '-' of het volledig weglaten van de optie betekent stdout.

-L, --includepad= naam
Voeg een map toe aan het include-pad. De volgorde waarin de mappen worden geprobeerd
is van achter naar voren: de laatst opgegeven directory heeft de hoogste prioriteit.
"/usr/share/z80asm" staat altijd in het include-pad (met de laagste prioriteit), dat doe je niet
moet het specificeren.

-F, --kracht
Produceer output, zelfs in geval van fouten. Normaal gesproken zijn de uitvoer-, lijst- en labelbestanden
worden verwijderd wanneer de montage niet is gelukt.

ASSEMBLER RICHTLIJNEN


Alle geheugensteuntjes en registers zijn niet hoofdlettergevoelig. Alle andere tekst (in het bijzonder labels)
en macro's) niet. Ongedocumenteerde opcodes worden zoveel mogelijk ondersteund:

sll en sli zijn gelijk en kunnen beide worden gebruikt.

ixh, ixl, iyh en iyl kunnen worden gebruikt.

Montagerichtlijnen zijn:

incl 'bestandsnaam'
Voeg een binair bestand toe aan het resulterende samengestelde bestand. Dit kan worden gebruikt om
bevatten tekstbestanden, of afbeeldingen, geluidsbestanden, enz. De bestandsnaam wordt gezocht in
de huidige map en vervolgens in het include-pad, net als voor include. Ook
zoals voor include, de aanhalingstekens kunnen elk teken zijn (maar moeten overeenkomen) en nee
vervanging wordt uitgevoerd (dus ~ is niet uw homedirectory).

zeker or db arg, arg, arg, ...
Definieer bytes.

zeker or dm "String", 'String'
Definieer bericht. Elk teken in de string wordt opgeslagen als één byte. Backslash
escapes zijn toegestaan, zoals in karakters in uitdrukkingen. In tegenstelling tot het argument voor
opnemen, moeten de aanhalingstekens echt aanhalingstekens zijn (maar het kunnen enkele of dubbele aanhalingstekens zijn.
De slotkoers moet overeenkomen met de openingskoers.)

defb/db en defm/dm zijn eigenlijk aliassen; beide kunnen zowel strings als getallen tussen aanhalingstekens bevatten:
defb "Deze tekst zou in een buffer\r\n moeten staan", 0

defs or ds tellen [, waarde]
Definieer ruimte. telling bytes zijn gereserveerd. Elk van hen is geïnitialiseerd op de
opgegeven waarde, of 0 als er geen waarde is opgegeven.

dauw or dw arg, arg, arg, ...
Definieer woorden. Elk argument wordt opgeslagen als twee bytes, de lage byte eerst.

einde Beëindig de montage van dit bronbestand. Alle resterende regels worden naar de lijst gekopieerd
bestand (indien aanwezig), maar niet geassembleerd.

label: equ uitdrukking
Definieer label om een ​​waarde-expressie te hebben.

if uitdrukking
codeblok 1
anders
codeblok 2
anders
codeblok 3
...
codeblok nr
endif
Code voorwaardelijk samenstellen. Als expressie niet 0 is, zijn alle oneven codeblokken:
geassembleerd, als expressie 0 is, worden alle even blokken geassembleerd. Meestal slechts één of
er zijn twee codeblokken aanwezig.

omvatten 'het dossier'
Bestand opnemen in de bron. De aanhalingstekens rond het bestand voor include zijn
verplicht, maar u kunt zelf de offertes kiezen. u kunt bijvoorbeeld % of zelfs a . gebruiken
brief als offerte. De bestandsnaam wordt niet uitgebreid, dus \, ~, $, etc
worden doorgegeven zoals geschreven (wat betekent dat ~ niet uw thuismap zal zijn.)
bestandsnaam wordt gebruikt zoals gespecificeerd, en vervolgens voorafgegaan door elke map in de include
pad, totdat het kan worden geopend.

label: macro arg1, arg2, ...
codeblok
endif
Definieer een macro. De macro kan worden gebruikt waar een opcode wordt verwacht. Het codeblok
wordt vervolgens vervangen door de gegeven waarden voor de argumenten. Dit is een tekstuele
vervanging, dus het volgende voorbeeld is geldig:
merknaam
label naam:
eindem
Dit genereert een label met een geconstrueerde naam (het is niet een erg handig voorbeeld,
maar het laat de mogelijkheden zien).

org adres
Stel de "programmateller" in op adres. Dit voegt geen bytes toe aan de resulterende
binair, bepaalt alleen hoe de rest van de code wordt geïnterpreteerd (in het bijzonder
de waarde van labels en $).

zoeken compenseren
Zoek naar positieverschuiving in het uitvoerbestand. Dit kan worden gebruikt voor overwiting
eerder geassembleerde code, bijvoorbeeld voor het patchen van een binair bestand dat werd meegeleverd
gebruik incl.

UITDRUKKINGEN


Alle expressies kunnen de volgende operatoren gebruiken, in volgorde van prioriteit: (a, b en c
duiden subexpressies aan)

a ? b : c
Als a niet nul is, retourneer b, anders c

a | b bitsgewijze of

a ^ b bitsgewijze xor

a & b bitsgewijze en

a == b, a = b, a != b
gelijkheid

a <= b, a >= b, a < b, a > b
ongelijkheid

a << b, a >> b
beetje verschuiven

a + b, a - b
optellen en aftrekken

a * b, a / b, a % b
vermenigvuldigen, delen en modulo

~een, + A, -a
bitsgewijze niet, geen effect en ontkenning

?label 1 als label bestaat, 0 als dat niet het geval is. Dit genereert geen fout als label dat wel doet
bestaat niet. Merk op dat dit meestal onmiddellijk wordt geëvalueerd (als de rest van de
expressie toelaat), en het controleert niet of het label later is gedefinieerd. Dit
betekent dat het kan worden gebruikt als het argument van if , om de functionaliteit van #ifdef in . te krijgen
C.

(A) haakje

Letterlijke termen in uitdrukkingen kunnen worden geschreven als: (case doet er niet toe)

@c11 willekeurig grondtal (gespecificeerd door 'c' dus c+1 == 10: hier is grondtal 13)

14, 14d, 914
decimaal getal

016, 16o, 16q, &o16, 716
octaal getal

0eh, 0xE, &hij, $E, @FE
hexadecimaal getal (voor de eerste notaties moet het eerste teken 0-9) zijn

1110%, 1110b, &b1110, 11110
binair getal

's' ASCII-code van 's'

'\N', '\R', '\een', '\t'
Nieuwe regel, regelterugloop, waarschuwing, tab

'\nnn' Octale ASCII-code

$ adres van de eerste byte van het huidige commando

ETIKETTEN


In alle uitdrukkingen mogen labels worden gebruikt. Er zijn echter enkele uitdrukkingen waarbij de
waarde moet in één keer berekenbaar zijn, en daarom mogen alleen eerder gedefinieerde labels worden
gebruikt. Dit is het geval voor:

- Het argument van org

- Het argument van zoeken

- Het argument van equ (bijvoorbeeld een labeldefinitie)

- Het eerste argument van ds

- Het argument van if

In alle andere uitdrukkingen kunnen labels worden gebruikt die later worden gedefinieerd.

Labels moeten bestaan ​​uit letters, cijfers, onderstrepingstekens en punten, en mogen niet beginnen met a
cijfer. Labels zijn hoofdlettergevoelig.

Labels die beginnen met een punt (.) zijn lokaal , wat betekent dat hun reikwijdte alleen de huidige is
inclusief bestands- of macrodefinitie (en opgenomen bestanden/macro's die daaruit worden aangeroepen). Dit is
vooral handig voor macro's, om dubbele definities te voorkomen bij gebruik van een macro meer
dan één keer

EXIT STATUS


Als de montage is gelukt, wordt er geen uitvoer geproduceerd (behalve het resultaat en berichten
getriggerd door --verbose) en 0 wordt geretourneerd. Bij elke fout is er uitvoer op de standaard
fout en 1 wordt geretourneerd.

OPMERKINGEN


Onderdelen die niet zijn samengesteld vanwege een if-statement en macro's die zijn gedefinieerd maar
nooit gebruikt worden alleen aangevinkt om een ​​correct commando te hebben. Het argument is niet ontleed. Dit
betekent dat als het bestand zonder waarschuwingen of fouten door de assembler gaat, het kan:
nog steeds niet correct in elkaar zetten in een andere setting (waar de if anders is)
resultaten).

Gebruik z80asm online met onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad




×
advertentie
❤️Koop, boek of koop hier — het is gratis, en zo blijven onze diensten gratis.