Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a tutti.
Ho deciso di voler iniziare a vedere un po' il linguaggio Assembly, senza però in realtà avere l'intenzione vera di volerlo studiare approfonditamente: per ora vorrei solo "conoscerlo", nel senso di avvicinarmi ad esso. Così senza molto impegno ho letto qualcosa qua e la, ma più che altro vorrei partire dallo studio di un pezzo di codice già fatto per vedere il suo funzionamento.
Ho preso per l'appunto un banalissimo "Hello World", quello della pagina di wikipedia ad Assembly dedicata:
Codice sorgente - presumibilmente Altri Linguaggi
IDEAL
MODEL SMALL
STACK 100h
DATASEG
HW DB "hello, world", 13, 10, '$'
CODESEG
Begin:
MOV AX, @data
MOV DS, AX
MOV DX, OFFSET HW
MOV AH, 09H
INT 21H
MOV AX, 4C00H
INT 21H
END Begin
Bene: il mio problema è stato "come lo faccio girare?"
Cioè non mi è chiaro come compilare e far partire un programma assembly; ho letto in giro di compilatori come masm, ma non sono riuscito a capire il loro funzionamento.
Potete aiutarmi a comprendere come far girare un banalissimo pezzo di codice asm?
PS: Ripeto e sottolineo che il mio scopo non è una conoscenza approfondita (il tempo ora come ora non me lo concede minimamente) che magari può essere un'obiettivo futuro; il mio scopo ora è capire come far partire del codice asm... Grazie in anticipo
Ciao a tutti.
Ho deciso di voler iniziare a vedere un po' il linguaggio Assembly, senza però in realtà avere l'intenzione vera di volerlo studiare approfonditamente: per ora vorrei solo "conoscerlo", nel senso di avvicinarmi ad esso. Così senza molto impegno ho letto qualcosa qua e la, ma più che altro vorrei partire dallo studio di un pezzo di codice già fatto per vedere il suo funzionamento.
Ho preso per l'appunto un banalissimo "Hello World", quello della pagina di wikipedia ad Assembly dedicata:
Codice sorgente - presumibilmente Altri Linguaggi
IDEAL
MODEL SMALL
STACK 100h
DATASEG
HW DB "hello, world", 13, 10, '$'
CODESEG
Begin:
MOV AX, @data
MOV DS, AX
MOV DX, OFFSET HW
MOV AH, 09H
INT 21H
MOV AX, 4C00H
INT 21H
END Begin
Bene: il mio problema è stato "come lo faccio girare?"
Cioè non mi è chiaro come compilare e far partire un programma assembly; ho letto in giro di compilatori come masm, ma non sono riuscito a capire il loro funzionamento.
Potete aiutarmi a comprendere come far girare un banalissimo pezzo di codice asm?
PS: Ripeto e sottolineo che il mio scopo non è una conoscenza approfondita (il tempo ora come ora non me lo concede minimamente) che magari può essere un'obiettivo futuro; il mio scopo ora è capire come far partire del codice asm... Grazie in anticipo
Ciao,
se non sbaglio tu programmi spesso in Delphi, giusto?
Se non ricordo male dall'ambiente Delphi (io lo feci sulla versione 5) puoi usare la direttiva asm che (come faceva anche il turbo Pascal) ti permette programmare in assembly.
Ciao.
Luigi
Ciao a tutti.
Ho deciso di voler iniziare a vedere un po' il linguaggio Assembly, senza però in realtà avere l'intenzione vera di volerlo studiare approfonditamente: per ora vorrei solo "conoscerlo", nel senso di avvicinarmi ad esso. Così senza molto impegno ho letto qualcosa qua e la, ma più che altro vorrei partire dallo studio di un pezzo di codice già fatto per vedere il suo funzionamento.
Ho preso per l'appunto un banalissimo "Hello World", quello della pagina di wikipedia ad Assembly dedicata:
Codice sorgente - presumibilmente Altri Linguaggi
IDEAL
MODEL SMALL
STACK 100h
DATASEG
HW DB "hello, world", 13, 10, '$'
CODESEG
Begin:
MOV AX, @data
MOV DS, AX
MOV DX, OFFSET HW
MOV AH, 09H
INT 21H
MOV AX, 4C00H
INT 21H
END Begin
Bene: il mio problema è stato "come lo faccio girare?"
Cioè non mi è chiaro come compilare e far partire un programma assembly; ho letto in giro di compilatori come masm, ma non sono riuscito a capire il loro funzionamento.
Potete aiutarmi a comprendere come far girare un banalissimo pezzo di codice asm?
PS: Ripeto e sottolineo che il mio scopo non è una conoscenza approfondita (il tempo ora come ora non me lo concede minimamente) che magari può essere un'obiettivo futuro; il mio scopo ora è capire come far partire del codice asm... Grazie in anticipo
Ciao,
se non sbaglio tu programmi spesso in Delphi, giusto?
Se non ricordo male dall'ambiente Delphi (io lo feci sulla versione 5) puoi usare la direttiva asm che (come faceva anche il turbo Pascal) ti permette programmare in assembly.
Ciao.
Luigi
Ciao, si hai ragione, programmo spesso in delphi. Ho seguito il tuo consiglio, immettendo il codice tra la direttiva asm [...] end; ma delphi me lo segnala quasi interamente errato sintatticamente
Postato originariamente da a_butta: Ciao, si hai ragione, programmo spesso in delphi. Ho seguito il tuo consiglio, immettendo il codice tra la direttiva asm [...] end; ma delphi me lo segnala quasi interamente errato sintatticamente
Vedi, il fatto è che l'ambiente Delphi permette di usare l'assembly del tipo x86;
di assembly ricordo pochissimo e, sinceramente, non saprei dirti in che tipo di assembly era scritto il codice che hai postato tu;
in ogni caso, cercando un po' su internet, non dovrebbe essere difficile trovare del materiale sull'x86 per una traduzione.
Ciao