GoGPT Best VPN GoSearch

Favicon di OnWorks

nasm - Online nel cloud

Esegui nasm nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando nasm che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


nasm - il Netwide Assembler, un assembler portatile 80x86

SINOSSI


nasm [-@ file di risposta] [-f formato] [-o file di uscita] [-l file elenco] [Opzioni...] nome del file

DESCRIZIONE


. nasm comando assembla il file Nome del file e indirizza l'output al file file di uscita if
specificato. Se file di uscita non è specificato, nasm deriverà un nome di file di output predefinito da
il nome del suo file di input, di solito aggiungendo '.o' o '.obj', o rimuovendo tutto
estensioni per un file binario grezzo. In caso contrario, il nome del file di output sarà 'nasm.out'.

VERSIONI


-@ Nome del file
Cause nasm per elaborare le opzioni dal nome file come se fossero incluse nel comando
linea.

-a
Cause nasm per assemblare il file di input dato senza prima applicare la macro
preprocessore.

-D|-d macro[=valore]
Predefinisce una macro a riga singola.

-E|-e
Cause nasm per preelaborare il dato file di input e scrivere l'output in stdout (O l'
nome del file di output specificato) e in realtà non assembla nulla.

-f formato
Specifica il formato del file di output. Per visualizzare un elenco di formati di output validi, utilizzare il -HF
opzione.

-F formato
Specifica il formato delle informazioni di debug. Per visualizzare un elenco di formati di output validi, utilizzare il
-y opzione (ad esempio -felf -y).

-g
Cause nasm per generare informazioni di debug nel formato selezionato.

-h
Cause nasm per uscire immediatamente, dopo aver fornito un riepilogo delle sue opzioni di invocazione.

-HF
Uguale a -h , ma elenca anche tutti i formati di output validi.

-I|-i elenco
Aggiunge una directory al percorso di ricerca per i file di inclusione. La specifica della directory
deve includere la barra finale, poiché verrà anteposta direttamente al nome del
includi file.

-l listfile
Fa sì che un elenco di assembly venga indirizzato al file specificato, in cui l'originale
la sorgente viene visualizzata sul lato destro (più la sorgente per i file inclusi e il
espansioni di macro multiriga) e il codice generato è mostrato in esadecimale a sinistra.

-M
Cause nasm per produrre dipendenze in stile Makefile su stdout; l'uscita normale è
soppresso.

-MG filetto
Uguale a -M ma presuppone che le dipendenze Makefile mancanti vengano generate e aggiunte a
elenco di dipendenze senza prefisso.

-MF filetto
Output delle dipendenze in stile Makefile nel file specificato.

-MD filetto
Uguale a una combinazione di -M e -MF opzioni.

- MT filetto
Sostituisci il nome predefinito della destinazione della dipendenza nome della destinazione della dipendenza. Questo è
normalmente uguale al nome del file di output, specificato da -o opzione.

-MQ filetto
Lo stesso di - MT tranne che cerca di citare caratteri che hanno un significato speciale in
Sintassi del makefile. Questo non è infallibile, poiché non tutti i caratteri con un significato speciale lo sono
citabile in Make.

-deputato
Emetti target fasullo.

-O numero
Ottimizza gli offset dei rami.

· -O0: Nessuna ottimizzazione

· -O1: Ottimizzazione minima

· -Bue: Ottimizzazione multipass (predefinito)

-o file di uscita
Specifica un nome preciso per il file di output, sovrascrivendo nasmil mezzo predefinito di
determinandolo.

-P|-p filetto
Specifica un file da pre-includere, prima che il file sorgente principale inizi ad essere
trasformati.

-s
Cause nasm per inviare i suoi messaggi di errore e/o testo di aiuto a stdout invece che a stderr.

-t
Cause nasm da assemblare in modalità compatibile SciTech TASM.

-U|-u macro
Non definisce una macro a riga singola.

-v
Cause nasm per uscire immediatamente, dopo aver visualizzato il suo numero di versione.

*-W[no-]pippo'
Cause nasm per abilitare o disabilitare determinate classi di messaggi di avviso, in stile gcc
stile, per esempio -Worphan-etichette or -Wno-etichette-orfane.

-w[+-]pippo
Cause nasm per abilitare o disabilitare determinate classi di messaggi di avviso, ad esempio
-w+etichette-orfane or -w-macro-parametri.

-X formato
Specifica il formato di segnalazione degli errori (gnu o vc).

-y
Cause nasm per elencare i formati di debug supportati.

-Z Nome del file
Cause nasm reindirizzare i messaggi di errore a Nome del file. Questa opzione esiste per supportare
sistemi operativi su cui stderr non è facilmente reindirizzabile.

--prefisso, --postfisso
Anteponi o accoda (rispettivamente) l'argomento dato a tutte le variabili globali o esterne.

SINTASSI


Questa pagina man non descrive completamente la sintassi di nasmil linguaggio assembly, ma lo fa
fornire un riepilogo delle differenze rispetto ad altri assemblatori.

registri non hanno il segno '%' iniziale, a differenza di gase i registri dello stack a virgola mobile sono
denominato st0, st1, E così via.

Virgola mobile istruzioni può utilizzare sia la forma a operando singolo che quella doppia. UN A
la parola chiave è fornita; quindi, si potrebbe scrivere

moda st0,st1
moda st1,st0

oppure si potrebbero usare le forme alternative a operando singolo

moda st1
passa a st1

Non inizializzato conservazione è riservato utilizzando il RESB, RESW, RESD, RICHIESTA, REST e RISO
pseudo-opcode, ognuno dei quali prende un parametro che fornisce il numero di byte, parole,
doppie, quadword o parole da dieci byte da riservare.

Ripetizione di elementi di dati non è fatto dal DUP parola chiave come si vede negli assemblatori DOS, ma da
l'uso di TEMPI prefisso, in questo modo:

messaggio: volte 3 db 'abc'
volte 64-$+messaggio db 0

che definisce la stringa abcabcabc, seguita dal giusto numero di zero byte per rendere il
lunghezza totale fino a 64 byte.

Simbolo Riferimenti si intendono sempre immediati (cioè l'indirizzo del simbolo),
a meno che non vengano utilizzate parentesi quadre, nel qual caso il contenuto della posizione di memoria è
Usato. Così:

mov ax, wordvar

carica AX con l'indirizzo della variabile wordvar, mentre

mov ascia,[wordvar]
mov ascia,[wordvar+1]
mov ascia,[es:wordvar+bx]

si riferiscono tutti al testuali di locazioni di memoria. Le sintassi

mov ax,es:wordvar[bx]
è mov ax,wordvar[1]

non sono affatto legali, sebbene l'uso di un nome di registro di segmento come prefisso dell'istruzione
è valido e può essere utilizzato con istruzioni come LODSB che non può essere ignorato in alcun modo
altro modo.

Costante può essere espresso numericamente nella maggior parte dei formati: una H finale, Q o B denota esadecimale,
rispettivamente ottale o binario, e anche uno '0x' o '$' iniziale denota esadecimale. Zeri iniziali
non sono affatto trattati in modo speciale. Le costanti di carattere possono essere racchiuse tra singole o doppie
citazioni; non esiste un carattere di escape. L'ordinamento è little-endian (invertito), quindi
il carattere costante 'abcd' indica 0x64636261 e non 0x61626364.

Le etichette locali iniziano con un punto e la loro "località" è concessa dall'assemblatore
anteponendo il nome del precedente simbolo non locale. Dichiarando così un'etichetta '.loop' dopo
un'etichetta 'label' ha effettivamente definito un simbolo chiamato 'label.loop'.

DIRETTIVE


SEZIONE Nome or SEGMENTO Nome cause nasm per indirizzare tutto il codice successivo al nome
sezione. I nomi delle sezioni variano con il formato del file di output, sebbene la maggior parte dei formati supporti il
nomi .text, .data e .bss. (L'eccezione è il obj formato, in cui tutti i segmenti sono
definibile dall'utente.)

ASSOLUTO indirizzo cause nasm per posizionare il suo punto di assemblaggio fittizio in un assoluto
indirizzo: quindi nessun codice o dato può essere generato, ma puoi usare RESB, RESW e RESD spostare
il punto di assemblaggio più avanti ed è possibile definire le etichette. Quindi questa direttiva può essere usata per
definire strutture dati. Quando hai finito di eseguire l'assemblaggio assoluto, devi emettere
un altro SEZIONE direttiva di tornare alla normale assemblea.

BITS 16, BITS 32 or BITS 64 cambia la modalità del processore predefinita per la quale nasm is
codice di generazione: è equivalente a USARE16 or USARE32 negli assemblatori DOS.

ESTERNO simbolo e GLOBAL simbolo importare ed esportare le definizioni dei simboli, rispettivamente, da
e ad altri moduli. Nota che il GLOBAL direttiva deve comparire prima della definizione di
il simbolo a cui si riferisce.

STRUTTURA nomestruttura e FINESTRUC, se usato per racchiudere un numero di RESB, RESW o simili
istruzioni, definire una struttura dati. Oltre a definire gli offset del
membri della struttura, il costrutto definisce anche un simbolo per la dimensione della struttura,
che è semplicemente il nome della struttura con Taglia attaccato fino alla fine.

FORMATO SPECIFICO DIRETTIVE


ORG indirizzo è utilizzato da bidone formato di output binario flat-form e specifica l'indirizzo
in cui verrà eventualmente caricato il codice di output.

GRUPPO nomegrp segmento1 segmento2... viene utilizzato dal formato di output obj (Microsoft a 16 bit) e
definisce i gruppi di segmenti. Questo formato utilizza anche LETTERE MAIUSCOLE, che indica che tutto il segmento,
l'output dei nomi dei gruppi e dei simboli nel file oggetto deve essere in maiuscolo. Nota che il
l'assemblaggio effettivo fa ancora distinzione tra maiuscole e minuscole.

BIBLIOTECA nomelib è utilizzato da rdf formato di output e fa sì che un record di dipendenza sia
scritto nel file di output che indica che il programma richiede una certa libreria in
ordine di correre.

MACRO PREPROCESSORE


Le macro a riga singola sono definite utilizzando il %definire or %definire comandi, in modo simile
moda al preprocessore C. Possono essere sovraccaricati rispetto al numero di
parametri, anche se definire una macro senza parametri impedisce la definizione di qualsiasi
macro con lo stesso nome che prende i parametri e viceversa. %definire definisce le macro la cui
i nomi corrispondono con distinzione tra maiuscole e minuscole, mentre %definire definisce le macro senza distinzione tra maiuscole e minuscole.

Le macro multilinea sono definite usando % macro e % macro (la distinzione è la stessa di
che tra %definire e %definire), la cui sintassi è la seguente

%nome macro minprm[-maxprm][+][.nolist] [predefiniti]

%endmacro

Anche in questo caso, queste macro potrebbero essere sovraccaricate. Il segno più finale indica che qualsiasi
i parametri dopo l'ultimo vengono riassunti, con le loro virgole di separazione, nell'ultimo
parametro. Il defaults parte può essere utilizzata per specificare i valori predefiniti per la macro non specificata
parametri dopo minparami. %fine è un sinonimo valido di %endmacro.

Per fare riferimento ai parametri macro all'interno di un'espansione macro, si usa %1, %2 e così via. Voi
può anche imporre che un parametro macro dovrebbe contenere un codice di condizione usando %+1e
puoi invertire il codice della condizione usando -1%. Puoi anche definire un'etichetta specifica per a
chiamata di macro anteponendola con un doppio segno '%'.

I file possono essere inclusi utilizzando il %includere direttiva, che funziona come C.

Il preprocessore ha uno "stack di contesto", che può essere utilizzato da una macro per memorizzare
informazioni che verranno recuperate in seguito. Puoi inserire un contesto nello stack usando
%spingere, rimuovine uno usando %pop, e cambia il nome del contesto superiore (senza disturbare
eventuali definizioni associate) utilizzando %risp. Etichette e %definire macro specifiche per il top
il contesto può essere definito anteponendo i loro nomi con %$ e cose specifiche per il prossimo
contesto verso il basso con %$$ e così via.

Il montaggio condizionato viene effettuato mediante %ifdef, %ifnd, %altro e %finisci se come in c.
(Salvo che %ifdef può accettare diversi nomi di macro putativi e valuterà TRUE se presente
di esse è definita.) Inoltre, le direttive %ifctx e %ifncx può essere utilizzato per
condizione sul nome del contesto in alto nello stack del contesto. L'ovvio insieme di
direttive "else-if", %elfdef, % elifndef, %eliftx e %elfnctx sono supportati anche.

Usa nasm online usando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad




×
Cookie per pubblicità
❤️Fai acquisti, prenota o acquista qui: nessun costo, aiuta a mantenere i servizi gratuiti.