Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Problemi con inizio di programmazione in Assembly
Forum - Altri Linguaggi - Problemi con inizio di programmazione in Assembly

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 17:00
Venerdì, 22/10/2010
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

  1. IDEAL
  2. MODEL SMALL
  3. STACK 100h
  4. DATASEG
  5.     HW      DB      "hello, world", 13, 10, '$'
  6. CODESEG
  7. Begin:
  8.     MOV AX, @data
  9.     MOV DS, AX
  10.     MOV DX, OFFSET HW
  11.     MOV AH, 09H
  12.     INT 21H
  13.     MOV AX, 4C00H
  14.     INT 21H
  15. 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 :D

PM Quote
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Segnala al moderatore
Postato alle 17:18
Venerdì, 22/10/2010
helloword.asm:assembly=pc:os

os = (assembly*pc)/helloword

Posta il risultato! :D

PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 17:26
Venerdì, 22/10/2010
Testo quotato

Postato originariamente da Pitagora:

helloword.asm:assembly=pc:os

os = (assembly*pc)/helloword

Posta il risultato! :D



Scusa, ma sinceramente non ho ben capito cosa dovrei fare :(
Cosa dovrei digitare dove? :D

PM Quote
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Segnala al moderatore
Postato alle 17:29
Venerdì, 22/10/2010
Testo quotato

Postato originariamente da Pitagora:

helloword.asm:assembly=pc:os

os = (assembly*pc)/helloword

Posta il risultato! :D



Era una proporzione, te lo dico in altre parole, quale sistema operativo usi :-?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:33
Venerdì, 22/10/2010

PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 17:35
Venerdì, 22/10/2010
Testo quotato

Postato originariamente da Pitagora:

Testo quotato

Postato originariamente da Pitagora:

helloword.asm:assembly=pc:os

os = (assembly*pc)/helloword

Posta il risultato! :D



Era una proporzione, te lo dico in altre parole, quale sistema operativo usi :-?



Ahhh!!! Comunque come OS ho XP a 32bit... Per pc intendi il processore? Se si uso un AMD Athlon...

PM Quote
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 22:01
Venerdì, 22/10/2010
Testo quotato

Postato originariamente da a_butta:

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

  1. IDEAL
  2. MODEL SMALL
  3. STACK 100h
  4. DATASEG
  5.     HW      DB      "hello, world", 13, 10, '$'
  6. CODESEG
  7. Begin:
  8.     MOV AX, @data
  9.     MOV DS, AX
  10.     MOV DX, OFFSET HW
  11.     MOV AH, 09H
  12.     INT 21H
  13.     MOV AX, 4C00H
  14.     INT 21H
  15. 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 :D



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. :k:
Luigi

PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 22:37
Venerdì, 22/10/2010
Testo quotato

Postato originariamente da gigisoft:

Testo quotato

Postato originariamente da a_butta:

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

  1. IDEAL
  2. MODEL SMALL
  3. STACK 100h
  4. DATASEG
  5.     HW      DB      "hello, world", 13, 10, '$'
  6. CODESEG
  7. Begin:
  8.     MOV AX, @data
  9.     MOV DS, AX
  10.     MOV DX, OFFSET HW
  11.     MOV AH, 09H
  12.     INT 21H
  13.     MOV AX, 4C00H
  14.     INT 21H
  15. 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 :D



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. :k:
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 :(

PM Quote
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 22:49
Venerdì, 22/10/2010
Testo quotato

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 :k:

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo