www.bertinettobartolomeodavide.it

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Se ritenete che il contenuto di questo sito ed il mio lavoro possano esservi stati utili in qualche modo e possano aver cambiato in piccola misura la vostra vita, potrete contribuire al mantenimento e alla diffusione dei materiali in esso contenuti con una donazione di importo completamente libero. Ovviamente non siete obbligati ma se qualcuno deciderà di aderire gliene sarò infinitamente grato!

Analizziamo in prima istanza i comandi principali di DEBUG:

q : esce

h : somma e sottrae in esadecimale

r : visualizza i registri del processore: AX, BX, CX, DX, ecc...

   r ax : modifica il registro ax

e : introduce una funzione od un valore in codice macchina ad un determinato indirizzo.

   e 100 : modifica l'indirizzo esadecimale 100h.

t : esegue un istruzione singola. PS: assicurarsi che l'indirizzo IP sia sempre a 100h.

g : esegue più di un'istruzione alla volta e si ferma all'indirizzo specificato (di solito si parte da 100h).

   g 102 : si ferma l'esecuzione all'indirizzo 102h.

u : lista un programma partendo da un determinato indirizzo per un determinato numero di linee.

   u 100 : visualizza il codice dall'indirizzo 100h in poi.

a : permette di introdurre le funzioni in linguaggio assembler a partire da un determinato indirizzo.

   a 100 : parte dall'indirizzo 100h la programmazione in assembler.

n : assegna un nome al file contenete il codice da salvare. (impostare su CX la lunghezza in byte del codice da salvare).

   n nome.com : da al nostro codice il nominativo al file eseguibile nome.com (attenzione però non lo salva!!!).

w : salva il programma.

d : DUMP, stampa della memoria. Si deve specificare l'indirizzo da cui partire per la visualizzazione.

   d 200 : visualizza la memoria del calcolatore a partire dall' indirizzo d 200h.

 

 

Con questo elenco dovreste avere un valido manuale di riferimento sui principali comandi di DEBUG.EXE.

avete capito come funziona? Spero di si!! Facciamo una prova.

Al prompt digitiamo:

C:\ > DEBUG.EXE  ------------> premiamo il tasto 'enter'.

poi ....

appare:

-     --------> trattino.

digitiamo ad esempio:

- h 3 2     -------> premiamo il tasto 'enter'.

e quindi ci compare su schermo:

0005   0001

questo è il risultato sia dell'addizione (5) e della sottrazione (1). PS: ricordatevi che sono numeri esadecimali!!!

I numeri trattati da debug sono esadecimali come dicevo. Nel caso di questo esempio FFFFh è il max numero raggiungibile e corrisponde a -1 e non a 65536 in decimale.

tutto ok.

ora digitiamo il tasto 'q' per uscire da DEBUG.EXE:

-q  --------> poi premiamo il tasto 'enter'.

ora siamo tornati al prompt dei comandi!!!

c:\>

tutto qui: siamo fuori da DEBUG.EXE.

----------------------------------------------------

Vi schematizzo velocemente la differenza tra byte(8 bit) e word(16 bit):

     8 bit   +   8 bit

11111111 11111111

  byte         byte

|------------------------|

    word a 16 bit

In poche parole 8 bit fanno 1 byte e 2 byte fanno 1 word, che quindi è a 16 bit!

Come vedremo più avanti un registro è composto da una word perciò è a 16 bit.

 

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16

Se ti interessa scaricare questo tutorial in formato PDF premi questa scritta!!!

(disponibile anche su www.manuali.it)

(presente anche su www.tutorialpc.it)

 

 

Dott. Bartolomeo Davide Bertinetto

www.bertinettobartolomeodavide.it