Newsgroup: it.comp.lang.c++
Titolo: Info Assembler

So che sono un po' fuori tema ma ho bisogno di un po' di info
sull'assembler.
Anzitutto l'Assembler varia solo a seconda del processore o anche del
sistema operarativo? Che cosa devo leggere per farmi un'idea (so programmare
in c/c++ in win32 ma non ho fatto praticamente nulla in dos)?
Grazie a chiunque mi risponda.


wrote:

~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@rete039.it
ICQ# number : 31334916
~~~~~~~~~~~~~~~~~

 sistema operarativo? Che cosa devo leggere per farmi un'idea (so
programmare
Solo dal processore.
Però dal SO dipendono molte cose, come le API.
Perciò il linguaggio dipende solo dal processore, ma il modo in cui scrivere
programmi in assembler anche dal SO.
--
Alessandro Monti

sistema operarativo? 
Il termine corretto per riferirsi al linguaggio e' Assembly,
l'assembler e' colui che assembla, cioe' il traduttore.
Il linguaggio assembly varia solo a seconda del processore, in quanto
non e' altro che un'astrazione del codice macchina binario, mentre a
seconda di quale sistema operativo e' installato, varia la
costituzione dei programmi eseguibili.
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

e i servizi DOS allora li posso richiamare pure da UNiX ???

> e i servizi DOS allora li posso richiamare pure da UNiX ???
Quali servizi DOS?
Comunque, in linea generale, si.
Ovviamente bisognerebbe sapere prima cosa intendi.
-Su una macchina unix chiamare i servizi di un'altra macchina che fa girare
DOS? Si, purchè ti faccia dei mini programmini che permettono la
comunicazione e l'esecuzione dei servizi.
-Oppure non caricare DOS ma solo Unix e comunque usare i servizi DOS? Puoi
farlo con una virtual machine (come i terminali DOS su Windows o anche
meglio), con un emulatore, ecc.
Ma il problema, secondo me, è a monte: se ogni SO fornisce dei servizi che
sono equivalenti (o magari migliori, come nel confronto unix-dos), perchè
devi chiamare i servizi DOS da unix se puoi invece chiamare quelli
equivalenti unix?
Al limite puoi "incapsulare" le parti platform-dependent in tue classi e/o
sorgenti.
--
Alessandro Monti

equivalenti unix?
Non complichiamo la questione.
Lui ha chiesto se si possono usare i servizi DOS (cioe' chiamare i
servizi dell'int 0x21 dall'assembler suppongo) e questo, se gira Unix,
non si puo' fare.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

 o sto sbagliando ?
Non sbagli, ma mi sembrava di aver detto esplicitamente di cosa parlavo.
Vediamo se il copia-incolla di windows mi aiuta...
-----
-Su una macchina unix chiamare i servizi di un'altra macchina che fa girare
DOS? Si, purchè ti faccia dei mini programmini che permettono la
comunicazione e l'esecuzione dei servizi.
-Oppure non caricare DOS ma solo Unix e comunque usare i servizi DOS? Puoi
farlo con una virtual machine (come i terminali DOS su Windows o anche
meglio), con un emulatore, ecc.
----
Non era chiaro?
Se usi un emulatore o cose simili, tu scrivi:
INT 21h
e ottieni... quello che volevi!
Del resto emulatori simili si trovano su Mac, e, guardacaso, su Linux, che
mi risulta essere uno Unix. Su quest'ultimo punto potrei anche sbagliarmi,
ma se anche fosse, si potrebbe sempre scriverne uno per la piattaforma che
interessa.
Dimenticavo: esiste un emulatore siffatto anche sotto... Windows!
--
Alessandro Monti

e ottieni... quello che volevi!
Ma l'emulatore e' un'implementazione particolare ("SE" usi un
emulatore). **In linea generale** non e' possibile farlo.
--
Andrea Laforgia 
andrea_...@bigfoot.com

 emulatore). **In linea generale** non e' possibile farlo.
Come č particolare il caso presentato.
Comunque, poichč mi pare di ricordare che hai nozioni di matematica, se si
dice "in linea generale no", si esclude automaticamente che vi siano casi
particolari in cui la risposta sia si, altrimenti si usa dire "in linea
generale si". Al limite si usa dire "nei casi particolari che magari sono
piů comuni, ovvero quelli in cui non sia disponibile un emulatore, allora
no"
Se era solo questo il problema, perň, mi pare poco senzato continuare un
thread solo per capire cosa si intende per "in linea generale", tantopiů che
ormai credo sia chiaro del diverso significato che gli abbiamo dato. Se
ritieni che abbia fatto un uso errato di tale locuzione, perdonami.
Ciao
--
Alessandro Monti