Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Capitolo 1

Home » Programma il Computer » Tutorial Assembly

Capitolo 1 - Il processore - Il Debugger

  Il Processore e il Debugger

DEBUG 7/22 [35 di 60] 

    

 

Aggiornato  24 settembre 2003 e 17 febbraio 2005
    Comando D -  Analizza il contenuto della memoria [seconda parte]
     
bulletLa potenza di DUMP sta nella sua capacità di ficcare il naso nella memoria..., in tutta la memoria!
bulletSpecificando l'indirizzo desiderato ci viene offerta la possibilità di verificare concetti e idee maturate in altri ambiti di studio; per esempio possiamo vedere se la Ram del Video è effettivamente costituita da bytes alternati di carattere (ascii) e di colore (attributo); basta specificare, dopo il comando D, l'indirizzo di quell'area, B800:0000:
              
Apri una finestra DOS su Arch-Lab Se fai click sull'icona a sinistra si apre l'Ambiente Assembly e puoi provare DEBUG  on-line.
S
cegli il pulsante di opzione "Aprire il file" o "Esegui l'applicazione"  e conferma con OK.
NB: alcuni gestori di protezione (per esempio SP2 di WinXP) non ti consentono questa operazione:
in questo caso scrivi
c:\arch-lab\bin\sys\assembler.pif direttamente nel campo indirizzo del Browser

      

bulletStraordinario: l'indagine ci dice che le prime 128 locazioni contengono 64 coppie consecutive di bytes 20H/07H.. Ma che significa?
bulletIntanto ciascuna coppia è una banale sequenza di bytes, ma il loro significato, nell'ambito nel quale sono stati trovati, non è banale! Nella Ram Video il primo è il carattere effettivamente presente sul monitor (e, poichè ha valore 20H si tratta di uno spazio, come risulta dalla caratteri Ascii standard), mentre il secondo è il codice associato al suo colore (poichè è 07H si tratta di bianco su nero, come risulta dal byte d'attributo di colore presentato in in questa pagina).
bulletDunque quella strana sequenza di bytes, mostrata con fredda determinazione dal debugger, rappresenta i primi 64 caratteri posti sul monitor, a cominciare dal primo, nell'angolo in alto a sinistra.. praticamente 64 spazi invisibili (perchè anche se colorati di bianco su nero sempre spazi sono...)

      

bulletIn effetti, se tenti di verificare direttamente questo evento è difficile che la schermata sia uguale a quella che ti ho proposto qui sopra.. Il debug è un fedele servitore e codifica quello che trova sul monitor in quel momento.. la codifica proposta nello schema precedente è relativa ad uno schermo completamente vuoto...
bulletPer fare un passo avanti proviamo ad eliminare il prompt colorato, a pulire lo schermo e a lanciare Debug; i comandi da dare sono, in sequenza:
prompt $p$g , CLS e debug, tutti confermati con invio.
bulletEcco cosa vedremo dopo aver dato anche il comando -d b800:0000:
              

      

bulletChe è successo? Debug ha codificato quello che ha trovato: ogni carattere presente sul monitor, a gruppi di 64 alla volta; poichè la prima riga del monitor è vuota (cioè i primi 80 caratteri sono tutti spazi) per cominciare a notare qualcosa bisogna dare un altro comando -d... Solo nel secondo elenco si comincia a capire il meccanismo.

      

bulletLe prime coppie diverse da 20H/07H sono proprio visibili a partire dal 161° bytes (quello all'indirizzo B800:00A0): infatti:
bulleti primi 160 bytes sono 80 bytes 20H e 80 bytes 07H; e rappresentano gli 80 spazi della prima riga vuota del monitor.
bulleti successivi bytes sono per metà al valore 07H perchè il colore della frase presente sul monitor è, appunto, bianco su nero (=07H)...
bullet... mentre l'altra metà sono i bytes 43H, 3AH, 5CH, 41H, 52H, 43H, 48H, 2DH, ..., appunto la traduzione esadecimale dei caratteri che compongono le frasi a video, C:\ARCH-LAB\LAVORO>DEBUG

      

bulletDel resto il buon Debug cerca di aiutarci a capire inserendo a destra la traduzione Ascii dei bytes trovati, indicando tra un carattere e l'altro un puntino, non riuscendo ad associare al colore 07H altro simbolo; cosicché la frase trovata e ricostruita è proprio quella attualmente a video:
C:\ARCH-LAB\LAVORO>DEBUG

    

Pagina Precedente Capitolo 1 Pagina Successiva DEBUG 7/22   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
35 di 60
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

    

CAP. 1 » 1. Processore 80x86 2. Istruzioni 80x86  3. Debug  4. La Grande Libreria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati