Newsgroup: it.comp.lang
Titolo: [CONFRONTO] assembler: come definirlo?

 sono strutturati...e l'assembler cos'e'?
un compilatore, il linuguaggio (a spaghetti oserei chiamarlo, tipo il primo
BASIC) si chiama assembly

 istruzioni.
di solito con "strutturato" io intendo un programma che fa uso di 
strutture di controllo quali 'while', 'if' & C.; l'assembler non sembra 
ricadere in questa categoria (e dubito ci sia una CPU con l'istruzione 
nativa per fare un 'while' ;-)
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra

 nativa per fare un 'while' ;-)
Beh, qualcosa in asm si puo` fare. Ripeto, non conosco asm x86, solo
qualcosa di 68k, ma ci sono istruzioni di salto condizionato che vengono
usate per i cicli for, while, e simili. :)
Di sicuro non si trovano parentesi graffe o begin/end per indicare i
blocchi, e si lavora con indirizzi di memoria, ma mi ricordo per esempio
una BEQ che e` Branch if EQual o la BLT che e` Branch if Less Than, mi
pare.
Bye

     v[i] = i;
(sono anni che no programmo in asm: non assicuro nulla :) )
Oltre alla loop ogni processore puo' mettere a disposizione qualche
istruzione proprietaria e ovviamente ci sono i vari jump condizionati.
Non capisco come si faccia a dire che il goto (esiste ancora nel C++
standard? mo' provo...) non debba essere usato quando alla base di
_tutti_ i programmi esistenti ci sia il goto, quando la prima istruzione
eseguita da un pc è quella di jump e quando senza goto praticamente non
esisterebbe neppure il concetto semplice di funzione! ^_^
Certo: il goto non si usa nella programmazione strutturata. Ma sembra
quasi che si voglia creare un'"alone di mistero" sul goto! :))
_Per me_ l'assembly è il linguaggio più strutturato che esista. :P
Comunque, da qui a definirlo strutturato, ce ne passa. ^_^
Ma ne approfitto per chiedere un'altra cosa...
L'assember puo' essere definito come *compilatore* ?
Ricordo che quando qualche anno fa glielo chiesi al mio prof., usai la
parola "Assembly" e lui disse di non aver mai sentito quella parola, che
il linguaggio si chiamasse "Assembler" e così via (non era un prof
d'asm, ovviamente :) ). Insomma, non ebbi risposta e anzi dovetti pure
dargli ragione seduta stante per farlo smettere di parlare. (salvo che
poi lui venne a scusarsi a quattr'occhi qualche settimana dopo: aveva
fatto qualche ricerca su internet :) )
Ritornando alla domanda, l'assembler non fa altro che *tradurre*
l'assembly in ling. macchina. Ma una macro o comunque alcune features in
più che forniscono gli assemblatori non vengono solamente tradotte in
LM, bensì viene svolto una piccolissima parte di quel che oggi fa un
compilatore.
Insomma... ditemelo voi: l'assembler è definibile compilatore oltre che
traduttore oppure no? ^_^
Ciao e grazie,
Di Passaggio (e Di Ritardo)
-- 
"Siamo tutti Di Passaggio, ma io lo ammetto!"

 L'assember puo' essere definito come *compilatore* ?
non credo che esista una definizione precisa di "compilatore", e credo 
anche che tale definizione sarebbe di difficile formulazione: nel senso 
piu` generale del termine direi di si: prende in input sorgenti in un 
linguaggio e produce un output espresso in un linguaggio a piu` basso 
livello.


 ciao Anto
Ciao,
Di Passaggio


 c+=0;
ehm ... ovviamente era 'c == 10' come condizione dell'if. 0_0
( 'azzo che bell'errore poco conosciuto, eh? ^_- )
E, altra piccola precisazione, l'ultima riga di codice non serve a
nulla, l'ho messa solo per far capire dove finisse il codice ...
Buon anno,
