Newsgroup: it.comp.lang.pascal
Titolo: cerco utility pascal/assembler

esiste una Utility che traduce da pascal a assembler?

esiste una Utility che traduce da pascal a assembler?
Si', si chiama compilatore + debugger .


Secondo me, fai prima a compilare il sorgente e disassemblarlo.......il
problema è trovare un disassemblatore :)
Ciao
Simo
---------------------------------------------------------------
Visita la mia homepage all'URL :
http://web.tiscalinet.it/drfalken
Pascal, Assembler, Tips'n'Tricks per
Windows 9x, Software vario...
---------------------------------------------------------------
Visit my homepage :
http://web.tiscalinet.it/drfalken
Pascal, Assembler, Tips'n'Tricks for
Windows 9x, misc. Software...
---------------------------------------------------------------

problema è trovare un disassemblatore :)
Perche', i debugger che cosa sono ?
Andrea Laforgia
-----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
-----------------------------------------------------

esiste una Utility che traduce da pascal a assembler?
Se hai il Turbo Debugger per DOS ed hai compilato il programma in
Pascal con le informazioni di debug attivate, potrai vedere il
programma sia in una finestra del sorgente in Pascal, sia nel
corrispettivo codice in Assembler. Per esempio se vai su una riga e
premi INVIO, il debugger ti portera' nella prima riga del codice
assembler corrispondente. La cosa e' utile anche per chi non ha i
sorgenti del Turbo Pascal, e vuole studiarsi il modo in cui il
compilatore traduce ogni istruzione. Io ho i sorgenti del TP, ma in
ogni caso mi vado a studiare (anche per semplice curiosita') il
relativo codice oggetto, anche perche' in ogni caso nei sorgenti non
vi e' la libreria Graph.
P.S. Lo so, lo so, il reverse-engineering e' un reato. Ma spero che
non sia un reato imparare, almeno quello :-)))).
Bye.
Joseph Parrello.

non sia un reato imparare, almeno quello :-)))).
Non sempre studiare il codice oggetto di un programma puo' aiutare nel
capirne il funzionamento.
Spesso, difatti, le routine vengono ottimizzate ed il codice assembly
si discosta molto dalla semplice traduzione del codice sorgente.



I debugger aiutano ad individuare gli errori in un programma....i
disassemblatori (o decompilatori) servono ad ottenere un file con codice
assembler (di solito, compatibile con Tasm e/o Masm) da un programma
eseguibile.
Chiaro ?   :)
Ciao!
Simo.

eseguibile.
Caro amico, 
evidentemente non ti sei reso conto che i debugger svolgono la
funzione di disassemblatori, in quanto restituiscono il codice del
programma compilato in istruzioni assembly...
Chiaro ?
Andrea Laforgia        (
andrea_...@bigfoot.com
)


 Chiaro ?
tu sei il pascal-guru?????

tu sei il pascal-guru?????
Esatto, vedi sto levitando...



Cerchiamo di fare i seri....
Riguardo questo thread, non credete che sia ora di finirla ? (non siamo
andati fuori argomento ?)
Ciao!
Simo.

Cerchiamo di fare i seri....
ROTFL ! io sono serio ! io sono un guru per davvero e levito per
davvero...


davvero...
Levitare? Bello bello! Mi passi il codice pascal per farlo? ;)


Wow! Chissà che vista da lassù !!!!

Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto Simone "Sub" :
#Rileggiti il msg del 6 luglio....
Lasciamo perdere...
#L'entry-point non si indovina!!! (nei .com è a 100h, nei .exe la locazione è
#scritta nel PSP (Program Segment Prefix))
I .exe sono rilocabili, la locazione ce l'hai a tempo di run-time.
Trovarlo su carta significa andarlo a pescare dopo parecchi fogli di
istruzioni inutili.
#Sarà, ma io ho sempre sentito Assembler sia alle superiori che
#all'uni......cmq, anche nei documenti Intel è chiamato Assembler....poi,
#TASM (o MASM che piace tanto a zio Bill) = Turbo Assembler.....
Ma possibile che sia tanto difficile capirlo ?
Il Turbo Assembler si chiama cosi' perche' e' un Assembler, cioe' un
trasformatore di codice Assembly, ovvero un Assemblatore.
#se vai 
#sull'help del BP c'è scritto "With Borland's built-in assembler, you can
#write 8086/8087 and 80286/80287 assembler code directly inside your Pascal
#programs." non "....assembly code....".
Ti ho gia' spiegato che per "assembler code" si intende il codice
dell'assembler, cioe' l'assembly.
Il built-in assembler e' l'assemblatore precostruito presente nel
linguaggio Borland. 



Cmq, io continuerò a chiamarlo Assembler.....non mi sembra costruttivo
continuare a discutere su simili sciocchezze.....oltretutto siamo OT (e di
molto!)...
Altrimenti apriamo un thread con subj "Come si chiama il codice assembler
?".....

...


Mi associo a Andrea Laforgia e Bart Simpon,
il linguaggio è l' ASSEMBLY, il compilatore è l'ASSEMBLER.
la desinenza ER in inglese viene aggiunta con opportuna regole per
trasformare gli aggettivi, verbi ... in sostantivi.
Bye

Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto Simone "Sub" :
#Fogli ? Chi ha parlato di fogli ?
Presuppongo che se qualcuno voglia il codice disassemblato, lo stampi
e poi se lo legga.
#Cmq, non è mica "run-time" quando fai il debug da un qualsiasi debugger !!!!
A no ? 
Allora mi sa che hai le idee molto confuse su cosa sia un debugger.
Run-time in inglese significa "tempo di funzionamento"  e con un
debugger il programma viene sottoposto a run-time anche se controllato
un'istruzione alla volta.
#Eppure partono dalla prima istruzione da eseguire.....o no?
#I debugger non fanno altro che allocare memoria, caricare il programma
#richiesto dall'utente e saltare all'entry-point definito nel psp (è una
#locazione relativa che il debugger fa diventare assoluta....).
Ti ripeto che se stampi il codice assembly, l'entry point devi
andartelo a cercare tu, se lo esegui con un debugger ce l'hai gia'
pronto.
#Senti, se vuoi che ti dia ragione va bene......però non la penso così, e a
#quanto pare te ne ho dato anche la prova.....(l'help della Borland!)
A quanto pare tu non *vuoi* capire che il suffiso "-er" in inglese
indica colui o quel qualcosa che svolge l'azione.
Manager e' colui che svolge l'azione del "to manage"
Builder e' colui che svolge l'azione del "to build"
...
Assembler e' colui che svolge l'azione del "to assemble".
Tu non hai dato prova di un bel niente ; il linguaggio si chiama
"Assembly" e per "Assembler" si intende l'assemblatore.
Non si tratta di opinioni personali, e' cosi' e basta.
Se vuoi maggiori informazioni, vatti a guardare "Il linguaggio
Assembly" di Peter Norton.
