[ASM]Valori per funzioni allo 0x80

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Plaoo
Linux 3.x
Linux 3.x
Messaggi: 809
Iscritto il: gio 10 apr 2008, 17:40
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE
Località: Ittiri (SS)

[ASM]Valori per funzioni allo 0x80

Messaggio da Plaoo »

Salve a tutti, sto imparando l'assembler su linux (sintassi AT&T). Ho fatto qualche programmuccio richiamando qualche funzione classica del C (printf, puts,scanf ecc ecc) adesso però vorrei usare direttamente l'interrupt 0x80 ma vorrei sapere quanti valori devo passare per ogni funzione, come faccio a saperlo oppure qualche sito dove vengono illustrati.
ESEMPIO:
per write
write (1,hello,sizeof(hello)) (eax = numero funzione WRITE, ebx= stdin, ecx = indirizzo della stringa, ebx =lunghezza della stringa)

Codice: Seleziona tutto

movl            $4,%eax
movl            $1,%ebx
movl            $hello,%ecx
movl            $13,%edx
int                $0x80
mentre per exit

Codice: Seleziona tutto

movl            $1,%eax
movl            $0,%ebx
int               $0x80
mi bastano solo due valori (eax = numero funzione exit, ebx = codice di uscita)

Ritornando alla domanda del thread come faccio a sapere quanti valori e che registri devo usare per le funzioni dell interrupt 0x80??
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware

Avatar utente
Plaoo
Linux 3.x
Linux 3.x
Messaggi: 809
Iscritto il: gio 10 apr 2008, 17:40
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE
Località: Ittiri (SS)

Re: [ASM]Valori per funzioni allo 0x80

Messaggio da Plaoo »

Penso di aver risolto basta fare un man 2 nome_funzione es: man 2 write per sapere cosa gli serve ma se qualcuno ne sa di più
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware

Avatar utente
Calzo
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: sab 6 ott 2007, 22:21
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE
Località: MN

Re: [ASM]Valori per funzioni allo 0x80

Messaggio da Calzo »

Non so se ti può essere utile anche questo link:
http://www.itis.mn.it/linux/quarta/syscalls.htm

A me lo è stato ;)
bye

Rispondi