[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.
Avatar utente
Plaoo
Linux 2.6
Linux 2.6
Messaggi: 809
Iscritto il: gio apr 10, 2008 17:40
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE
Località: Ittiri (SS)

[ASM]Valori per funzioni allo 0x80

Messaggioda Plaoo » mar apr 28, 2009 18:15

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 2.6
Linux 2.6
Messaggi: 809
Iscritto il: gio apr 10, 2008 17:40
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE
Località: Ittiri (SS)

Re: [ASM]Valori per funzioni allo 0x80

Messaggioda Plaoo » mer apr 29, 2009 20:01

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 2.0
Linux 2.0
Messaggi: 112
Iscritto il: sab ott 06, 2007 22:21
Slackware: 10.2 | 13
Desktop: Fluxbox | KDE
Località: MN
Contatta:

Re: [ASM]Valori per funzioni allo 0x80

Messaggioda Calzo » dom mag 10, 2009 14:44

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

A me lo è stato ;)
bye


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite