Sezione |
Indirizzi Base
Registri Interni
|
Capitolo 1 |
Il Processore e il Debugger |
DEBUG 16/22 [44 di 60] |
|
|
|
Aggiornato 24 settembre 2003 e 17 febbraio 2005 |
|
Il comando W (WRITE, scrivi) permette di creare un file (o sovrascriverlo, se già esiste) nella cartella corrente del disco; di solito viene dato dopo aver specificato il nome (e l'eventuale percorso) del file con il comando N, già discusso in precedenza; | |
Se il comando è dato senza parametri | |
Se l'indirizzo specificato è solo quello di offset i dati da scrivere si ritengono appartenenti al segmento CS. |
|
Quando si usa il comando W per salvare il nostro lavoro in un file sul disco non bisogna dimenticare di caricare nei registri BX e CX la parte alta e bassa del numero a 32 bytes che indica la quantità di bytes da salvare!! |
|
Il modo più semplice per calcolare il numero da mettere in BX,CX consiste nel prendere l'indirizzo di offset della locazione successiva all'ultima e sottrarre da esso il numero 0100H. |
|
Se, dopo una sessione di lavoro abbiamo
prodotto una codice eseguibile (o una tabella) di 200 bytes, al momento del
salvataggio su disco dobbiamo eseguire, in sequenza, tutte queste
operazioni:
|
Se fai click sull'icona a
sinistra si apre l'Ambiente Assembly
e puoi
provare DEBUG
on-line. Scegli 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 |
-n
miofile.com -r bx BX 0000 :0000 -r cx CX 0000 :00c8 -w Scrittura di 000C8 byte in corso - |
-n miofile.com -r bx 0000 -r cx 00c8 -w Writing 00C8 bytes - |
|
Se tutto va bene debug mostra il messaggio
mostrato in figura (a sinistra con Debug standard e a destra con SymbDeb), e
rimane in attesa di ulteriori comandi.
|
|
Il comando W (WRITE, scrivi) è complementare al comando L, usato per caricare in memoria uno o più settori di una memoria di massa (hard disk o floppy disk); naturalmente serve per fare l'operazione opposta. | |||||||
La specifica dell'indirizzo (offset)
da cui prelevare i bytes da salvare su disco, è dunque indispensabile: essa
deve essere eseguita dopo il comando W e prima dei 3 parametri necessari per
individuare i settori del disco da sovrascrivere:
|
|
Ti
prego di fare molta attenzione: la pratica del comando W è ad altissimo rischio!!
Se usata con discrezione,
sicurezza e competenza può rivelarsi uno strumento potente,
ma non dimenticare che quando la usi ti comporti come un virus:
cancelli e sostituisci parti del tuo disco!! Ti consiglio di fare le prove con un dischetto floppy e di non toccare l'HD, se non sei ben certo di quello che fai. |
|
L'esempio mostra come scrivere su un floppy
disk i 2kbytes (4 settori) attualmente presenti
all'indirizzo CS:1000H; si legge: preleva a partire dalla locazione 1000, i bytes da scrivere sul disco 0 (driver
A); il primo settore da sostituire è il 64 (valore
esadecimale pari a 100) nella quantità 4 (4
settori, cioè 512*4 bytes = 2048 bytes = 2k):
|
|
Capitolo 1 | DEBUG 16/22 | |||||||
44 di 60 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|