| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Libreria GIOBE.ASM | 
| Raccolta di Procedure ASM | 
      INstrin [23 di 54]  | 
 
  | 
| Rimane in attesa di una Stringa di caratteri nella posizione di stampa corrente. | 
| 
     
  | 
  
| La Procedura si chiama in questo modo: | 
| 
         
  | 
      
  | 
  
In
                ingresso bisogna predisporre:
  | 
| 
     
  | 
  
| La seguente Area di Testo mostra il Modulo varie05 utilizzato per inserire la Procedura nella Libreria Giobe.ASM/LIB: | 
| 
         
  | 
      
| 
       INstrin / varie05  | 
      
    NB:           se il testo contenuto nell'Area
        ti 
      sembra strano (cioè se contiene caratteri inconsueti) non hai ancora installato il font Giobe.TTF : clicca qui!!  | 
    
| 
         
  | 
      
| L'analisi del codice mette in evidenza che, contrariamente a tutte le altre Procedure della Libreria, questa lavora a livello DOS; chiama infatti la Funzione DOS 0CH dell'INT 21H, con il compito di vuotare il Buffer (area di memoria) puntato in ingresso da DS:DX e poi di attivare la una seconda Funzione DOS, specificata dal numero inserito in ingresso in AL. | |
| Poichè la Procedura predispone il valore 0AH, la struttura chiamata è la Funzione DOS 0AH dell'INT 21H, cui spetta il compito vero: quello di leggere una stringa di caratteri dal dispositivo standard d'ingresso, cioè dalla tastiera, facendone ECO a video, finchè non risulta premuto Invio. | |
| Come in tutte le attività promosse a livello BIOS non esiste la possibilità di colorare i caratteri in acquisizione: essi verranno stampati con i colori di default del DOS (di solito bianco su nero) | |
| Perchè la Procedura ( e le Funzioni DOS) funzioni correttamente il Buffer deve essere costruito ad arte; la seguente Area di Testo mostra un modo elegante di definirlo: | 
| 
         
  | 
      
| 
         
  | 
      
L'analisi del suo contenuto suggerisce alcune 
  considerazioni:
  | 
| 
         
  | 
      
Per esempio, 
  se la costante è stata predisposta al valore PRE_LEN
  EQU 4:
  | 
| 
         
  | 
      
Con PRE_LEN EQU 
  10:
  | 
| 
         
  | 
      
Il corretto funzionamento di questa  Procedura potrebbe essere 
  opportuno fissare anche le 
  coordinate della posizione di stampa (con 
     
    
    M_CURSOR), 
  sebbene questa informazione 
  non sia strettamente necessaria:
  | 
| 
         
  | 
      
| Per esempio, per acquisire la stringa nel punto di coordinate riga=10 e colonna=20, si deve scrivere questa sequenza di istruzioni: | 
| 
         
  | 
      
  | 
| 
      
       |  
    Libreria GiobeASM | 
      
       | 
    INstrin | 
    
    ![]()  | 
    
    ![]()  | 
    
    ![]()  | 
 ||
| 23 di 54 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |