| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Capitolo 1 | 
| Il Processore e il Debugger | 
      DEBUG 10/22 [38 di 60]  | 
 
  | 
| 
       
  
    
      
        | 
      
       
  | 
      Aggiornato 24 settembre 2003 e 17 febbraio 2005 | 
| 
     | 
    
  | 
  
| Mai dire mai! Se i valori presenti in memoria sono particolarmente significativi può essere necessario confrontarli tra loro, sebbene questo evento sia poco probabile; in ogni caso la sintassi prevede al solito 2 modi, sostanzialmente uguali. | |
| Il comando C (COMPARE, confronta) si aspetta 3 indirizzi (offset): quello iniziale e finale della prima area e quello iniziale della seconda area. | |
| Naturalmente è possibile passare anche indirizzi completi (cioè anche con il valore del segment); se l'indirizzo specificato è solo quello di offset i dati visualizzati si ritengono appartenenti al segmento puntato da DS; in condizioni di default (come quelle in cui operiamo ora) il problema non si pone (tutti e 4 i registri di segmento hanno lo stesso valore). | |
| 
     Il comando C risponde mostrando (purtroppo velocemente...) l'indirizzo completo e il contenuto di entrambe le aree, nella sequenza:  | 
| 
     
  | 
  
| 
     
  | 
  
| Nell'esempio seguente sono confrontate le 2 aree DS:0100H e DS:0200H; poichè il loro contenuto è noto (per effetto degli esercizi fatti nella pagina precedente) il risultato del confronto è piuttosto gratificante: | 
| 
          
         | 
      
   
          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  | 
    
      ![]()  | 
    |
| 
     
  | 
  
| Se le 2 aree di memoria contengono gli stessi bytes non viene mostrato alcun valore; è il caso del seguente esempio nel quale entrambi gli indirizzi iniziali di ciascuna area sono volutamente uguali a DS:0100H: | 
| 
       | 
    
| 
     
  | 
  
| Anche in questo caso il comando può essere dato passando l'indirizzo iniziale della prima area e la lunghezza (espressa con una L seguita dal numero esadecimale delle locazioni da confrontare) seguito dall'indirizzo iniziale della seconda area: | 
      ![]()  | 
    
  | 
| 
      
       |  
    Capitolo 1 | 
      
       | 
    DEBUG 10/22 | 
    
    ![]()  | 
    
    ![]()  | 
    
    ![]()  | 
 ||
| 38 di 60 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |