EnglezăFrancezăSpaniolă

Favicon OnWorks

z80asm - Online în cloud

Rulați z80asm în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda z80asm care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


z80asm - asamblator pentru microprocesorul Z80

REZUMAT


z80asm [Opțiuni] [fișiere ...]

DESCRIERE


Z80asm este un asamblator pentru asamblarea Z80. Dacă nu sunt specificate fișiere de intrare, se utilizează stdin.
Dacă nu este specificat niciun fișier de ieșire, se folosește „a.bin”. Dacă „-” este specificat ca fișier de ieșire,
este folosit stdout. Acest lucru face posibilă utilizarea asamblatorului într-o conductă.

Când sunt specificate mai multe fișiere de intrare, asamblatorul folosește mai întâi toate fișierele care au fost
specificat cu -i sau --input, în ordinea dată. După aceea, toate fișierele care au fost
argumentele specificate ca non-opțiune sunt asamblate, tot în ordinea dată.

OPŢIUNI


-h, --Ajutor
Afișați rezumatul opțiunilor și ieșiți.

-V, --versiune
Afișați informații despre versiune și ieșiți.

-v, --verbos
Fii verbis. Specificați de mai multe ori pentru a fi mai detaliat. Mesajele sunt trimise către
eroare standard.

-l, --listă[=nume fișier]
Scrieți un fișier cu listă. Niciun nume de fișier sau „-” înseamnă stderr.

-L, --eticheta[=nume fișier]
Scrieți un fișier de etichetă. Niciun nume de fișier sau „-” înseamnă stderr.

-p, --label-prefix=prefix
prefix toate etichetele cu acest prefix.

-eu, --intrare=nume fișier
Specificați un fișier de intrare (-i poate fi omis). „-” înseamnă stdin.

-o, --ieșire=nume fișier
Specificați fișierul de ieșire. „-” sau omiterea completă a opțiunii înseamnă stdout.

-Eu, --includepath=dirname
Adăugați un director la calea de includere. Ordinea în care sunt încercate directoarele
este din spate în față: ultimul director specificat are cea mai mare prioritate.
„/usr/share/z80asm” este întotdeauna în calea include (cu cea mai mică prioritate), nu
trebuie specificat.

-f, --forta
Produceți rezultate chiar și în caz de erori. În mod normal, fișierele de ieșire, listă și etichetă
sunt îndepărtate atunci când asamblarea nu are succes.

ASSEMBLATOR DIRECTIVE


Toate mnemonicile și registrele nu fac distincție între majuscule și minuscule. Toate celelalte texte (în special, etichetele
și macro-urile) nu sunt. Opcodes nedocumentate sunt pe cât posibil acceptate:

sll și sli sunt egale și pot fi folosite ambele.

ixh, ixl, iyh și iyl pot fi folosite.

Directivele asamblatorului sunt:

incbin 'nume de fișier'
Includeți un fișier binar în fișierul asamblat rezultat. Acest lucru poate fi folosit pentru
include fișiere text sau imagini, fișiere de sunet etc. Numele fișierului este căutat în
directorul curent și apoi în calea include, la fel ca pentru include. De asemenea
ca și pentru include, ghilimele pot fi orice caracter (dar trebuie să se potrivească) și nu
înlocuirea este efectuată (deci ~ nu este directorul dvs. de acasă).

defb or db arg, arg, arg,...
Definiți octeți.

defm or dm „Șir”, „Șir”
Definiți mesajul. Fiecare caracter din șir este stocat ca un octet. Backslash
evadările sunt permise, ca în caracterele din expresii. Spre deosebire de argumentul pentru
includ, ghilimele trebuie să fie într-adevăr ghilimele (dar pot fi ghilimele simple sau duble.
Cotația de închidere trebuie să se potrivească cu cotația de deschidere.)

defb/db și defm/dm sunt într-adevăr alias-uri; fie poate lua atât șiruri de caractere, cât și numere:
defb „Acest text ar trebui să fie într-un buffer\r\n”, 0

def or ds numără [, valoare]
Definiți spațiul. count bytes sunt rezervați. Fiecare dintre ele este inițializat la
valoarea specificată sau 0 dacă nu este specificată nicio valoare.

defw or dw arg, arg, arg,...
Definiți cuvintele. Fiecare argument este stocat ca doi octeți, mai întâi octetul de ordin inferior.

capăt Încheiați asamblarea acestui fișier sursă. Orice rânduri rămase sunt copiate în listă
fișier (dacă este prezent), dar nu asamblat.

eticheta: teh expresie
Definiți eticheta pentru a avea expresia valorii.

if expresie
blocul de cod 1
altfel
blocul de cod 2
altfel
blocul de cod 3
...
bloc de cod n
endif
Asamblați codul condiționat. Dacă expresia nu este 0, toate blocurile de cod impar sunt
asamblate, dacă expresia este 0, toate blocurile pare sunt asamblate. De obicei doar unul sau
sunt prezente două blocuri de cod.

include 'fişier'
Includeți fișierul în sursă. Citatele din jurul fișierului pentru include sunt
obligatoriu, dar puteți alege singur ghilimele. de exemplu, puteți utiliza % sau chiar a
scrisoare ca citat. Numele fișierului nu suferă nicio extindere, deci \, ~, $ etc
sunt transmise așa cum sunt scrise (ceea ce înseamnă că ~ nu va fi directorul dvs. de acasă).
nume de fișier este folosit așa cum este specificat și apoi prefixat cu fiecare director din include
calea, până când poate fi deschisă.

eticheta: macro arg1, arg2,...
bloc de cod
endif
Definiți o macrocomandă. Macrocomanda poate fi utilizată acolo unde este așteptat un cod operațional. Blocul de cod
este apoi substituit, cu valorile date pentru argumente. Acesta este un text
înlocuire, deci următorul exemplu este valabil:
numele makelabel
label_name:
endm
Aceasta va genera o etichetă cu un nume construit (nu este un exemplu foarte util,
dar arată posibilitățile).

org adresa
Setați „contorul de programe” la adresa. Acest lucru nu adaugă niciun octet la rezultat
binar, determină doar modul în care este interpretat restul codului (în special,
valoarea etichetelor şi $).

căuta compensa
Căutați să poziționați offset-ul în fișierul de ieșire. Aceasta poate fi folosită pentru supraînțelepciune
cod asamblat anterior, de exemplu pentru corectarea unui binar care a fost inclus
folosind incbin.

EXPRESII


Toate expresiile pot folosi următorii operatori, în ordinea de prioritate: (a, b si c
denotă subexpresii)

a ? b : c
Dacă a nu este zero, returnați b, în ​​caz contrar c

a | b pe biți sau

a ^ b pe biți xor

a & b pe biți și

a == b, a = b, a != b
egalitate

a <= b, a >= b, a < b, a > b
inegalitate

a << b, a >> b
deplasare de biți

a + b, a - b
adunare si scadere

a * b, a / b, a % b
înmulțire, împărțire și modulo

~a, +a, -a
pe biți nu, fără efect și negație

?eticheta 1 dacă eticheta există, 0 dacă nu există. Acest lucru nu generează o eroare dacă eticheta o face
nu exista. Rețineți că aceasta este de obicei evaluată imediat (dacă restul
expresia permite), și nu verifică dacă eticheta este definită ulterior. Acest
înseamnă că poate fi folosit ca argument al if , pentru a obține funcționalitatea #ifdef în
C.

(A) paranteze

Literale din expresii pot fi scrise ca: (cazul nu contează)

@c11 număr de bază arbitrar (specificat prin „c”, deci c+1 == 10: aici baza este 13)

14, 14d, 914
numar decimal

016, 16o, 16q, &o16, 716
număr octal

0Eh, 0xE, &el, $E, @FE
număr hexazecimal (pentru primele notații, primul caracter trebuie să fie 0-9)

% 1110, 1110B, &b1110, 11110
număr binar

's' codul ASCII al lui „s”

'\n', „\r”, '\A', '\t'
Linie nouă, întoarcere transport, alertă, tab

„\nnn” Cod octal ASCII

$ adresa primului octet al comenzii curente

ETICHETE


În toate expresiile, pot fi folosite etichete. Cu toate acestea, există câteva expresii în care
valoarea trebuie să fie calculată dintr-o dată și, prin urmare, numai etichetele definite anterior pot fi
folosit. Acesta este cazul pentru:

- Argumentul org

- Argumentul căutării

- Argumentul lui equ (de exemplu, o definiție de etichetă)

- Primul argument al lui ds

- Argumentul dacă

În toate celelalte expresii, pot fi folosite etichete care sunt definite mai târziu.

Etichetele trebuie să fie formate din litere, cifre, litere de subliniere și puncte și nu trebuie să înceapă cu a
cifră. Etichetele țin cont de majuscule.

Etichetele care încep cu punct (.) sunt local , ceea ce înseamnă că domeniul lor este doar curentul
includeți definiția fișierului sau a macrocomenzii (și fișierele incluse/macro-urile numite din aceasta). Aceasta este
util în special pentru macrocomenzi, pentru a preveni definițiile duplicate atunci când utilizați mai mult o macrocomandă
decât o dată.

EXIT STAREA


Dacă asamblarea a avut succes, nu se produce nicio ieșire (cu excepția rezultatului și a mesajelor
declanșat de --verbose) și este returnat 0. La orice eroare, există ieșire pe standard
eroare și se returnează 1.

NOTE


Părți care nu sunt asamblate din cauza unei declarații if și macrocomenzi care sunt definite dar
niciodată folosite sunt verificate doar pentru a avea o comandă corectă. Argumentul nu este analizat. Acest
înseamnă că dacă fișierul trece prin asamblator fără avertismente sau erori, se poate
încă nu se asamblează corect într-un cadru diferit (unde dacă este diferit
rezultate).

Utilizați z80asm online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad