Pagina 1 di 1

[ASM]Valori per funzioni allo 0x80

Inviato: mar 28 apr 2009, 18:15
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??

Re: [ASM]Valori per funzioni allo 0x80

Inviato: mer 29 apr 2009, 20:01
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ù

Re: [ASM]Valori per funzioni allo 0x80

Inviato: dom 10 mag 2009, 14:44
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