Newsgroup: it.comp.os.linux.development
Titolo: Assembly per Linux

Qualcuno potrebbe consigliarmi un manuale che tratti degli statement
degli eseguibili ed anche del set di istruzioni per Linux?
Nel pacchetto nasm-0.98 c'e` solo la manpage.
Andavo abbastanza velocemente col dos (masm 4.0, solo 8088), non a
livello professionale, ma ho gia` capito che mi servira` ben poco.
Per caso, esistono le norton guide anche per Linux? TIA
-- 
Ci sentiamo  |  Remigio Zedda
             |  
remi...@tiscalinet.it
ciao Remigio |                    kernel 2.2.13 su Slack 7.0

Nel pacchetto nasm-0.98 c'e` solo la manpage.
Potresti installare il .tar.gz completo.
Nel pacchetto .deb di Debian c'e` tutto.
-- 
Lorenzo
"Given enough eyeballs, all bugs are shallow", Linus'Law
(address rot13 encoded)

degli eseguibili ed anche del set di istruzioni per Linux?
info gcc
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it

Nel pacchetto .deb di Debian c'e` tutto.
Si`, per qualche mese son satollo.
THNX THNX


info gcc
...un pozzo senza fondo!



Comunque il set di istruzioni per linux non esiste...
Ogni CPU ha il suo set di istruzioni e quindi 
Linux (che gira su diverse CPU) non ne ha nessuno che sia
caratteristico.
Forse ti riferisci alle system call che possono essere attivate
sotto CPU intel con la INT 0x80.
-- 
"Non e` bello cio` che e` bello ma e` bello cio` che piace ... a ME!"
Massimo Lauria a.k.a. Gargamella on Usenet
mailto: 
garga...@mclink.it
Proud member of: NonSense Delivering Service

sotto CPU intel con la INT 0x80.
Un interrupt melodioso! E` quello della sb in dos.
THNX anche per l'indirizzo


 ciao Remigio |                    kernel 2.2.13 su Slack 7.0
Non i sarà daiuto ma io ho rinunciato ad utilizzare asm sotto linux !!
Ciao

Non i sarą daiuto ma io ho rinunciato ad utilizzare asm sotto linux !!
Si`, d'accordo che per Unix ci vuole il C, ma serve anche per qualche
routine asm che spesso si trova anche nei sorgenti.
Poi e` piu` facile di qualunque linguaggio ad alto livello: poco piu`
di un centinaio di istruzioni contro le piu` di cinquecento del C tra
funzioni e macro, per esempio.


> Per caso, esistono le norton guide anche per Linux? TIA
anche io ho iniziato a programmare in assembly sotto
dos, il passaggio a linux č stato a dir poco traumatico,
a causa della notazione AT&T, poi ho scoperto nasm
e no ho avuto piů problemi, nella documentazione
ho trovato tutto cio di cui avevo bisogno.
se il tuo problema č il set di istruzioni, sappi che non dipende dal sistema
operativo, e che qualsiasi manuale assembly X86 va bene.
naturalmente non valgono i discorsi riguardanti le chiamate di sistema
e le routine del bios, per quel che riguarda l'interfacciamento con il
C le convenzioni sono identiche al dos, io mi sono aiutato
con il gcc, che puň fermare la compilazione allo stato
di codice assembly.
gcc -S sorgente.c
nel file .s generato puoi vedere i meccanismi di chiamata
in modo da riprodurli nei tuoi programmi.
nota sullo standard AT&T, 
un'istruzione del tipo
add eax, ebx che somma eax a ebx e il risultato č in eax diventa
addl #ebx, #eax cioč gli operandi sono invertiti.
il nasm ad ogni modo non osserva questa convenzione.
bye

 funzioni e macro, per esempio.
E ti riscrivi tutto quello che fanno le 500 funzioni del C in assembler
x N architetture diverse (per linux N>6), imparandoti N sintassi
completamente diverse? 
Nel kernel si usa l'assembler solo dove e' strettamente necessario (per
motivi di spazio e/o velocita') cioe' nella fase di boot e per alcune
operazioni critiche.
Personalmente ho un concetto di <<facilita'>> un po' diverso.
Ciao
-- 
Simone Piccardi
Microsoft is NOT the answer. Microsoft is the Question.
The answer is: "NO!"

in modo da riprodurli nei tuoi programmi.
Un'astuzia molto interessante...


operazioni critiche.
Velocita`? Mah, forse forse e` solo un mito: il masm 6.0 e` stato fatto
sia in asm, sia in C e... quello in C e` risultato piu` veloce! Si`, lo
so, incapacita` degli uomini della M$ a programmare. D'altra parte
anche il nasm non lo usa quasi piu` nessuno, almeno cosi` dicono in
Linux Journal di maggio.


senza cambiare una virgola?
no voglio dire che i parametri di una funzione vengono passati nello stack
allo stesso modo, i sorgenti asm in dos possono essere convertiti facilmente
per il nasm, solo se non usano chiamate a istruzioni privileggiate (CPL < 3)
se ti interessano le demo o i giochi usa le SVGA lib ho visto che ultimamante
sono state estese con altri driver, e sono l'equivalente dei servizi
VESA per DOS.
by

dai programmi in C,
Ottima idea, solo che io non ho ancora fatto il C. Mi sa proprio che mi
conviene anticiparlo, con Linux sembra svolgere lo stesso ruolo
fondamentale dell'asm col dos. THNX


 ciao Remigio |                    kernel 2.2.13 su Slack 7.0
Di sicuro quando ci vuole ci vuola, ma poi girerebbe su una specifica
piattaforma !!! ed andrebbe contro le idiologie di sviluppo di Linux !!
Fabrizio.
P.S.
Scusa il ritardo della risposta ma non ho avuto molto tempo !!! questi
giorni !

piattaforma !!! ed andrebbe contro le idiologie di sviluppo di Linux !!
Si`, questo dovrebbe essere importante; e poi con Linux e` troppo
superiore il C ed e` velocissimo in tutti i sensi.
Mi sto convincendo a lasciare l'asm, tanto non lo usa piu` nessuno :-((
