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

Palestra Livello Apprendisti Livello Esperti

Home » Programma il Computer » Tutorial Assembly

Palestra Assembly - Home Page

  Programmare in Assembly

INTRODUZIONE [1 di 23] 

               

Analisi del Codice · Conclusioni

Acquisizione Caratteri - Rileva la pressione di soli Tasti Numerici e li visualizza in tastiera
Analisi del Codice Sorgente [2 di 4]

               

bulletIl servizio per la pressione dei tasti numerici consiste sostanzialmente nell'esecuzione della procedura Key_Num:

  

Gestione della Tastiera

Esercizio IMPEGNATIVO Esercizio
NB: se il testo nell'Area  ti sembra strano
     
installa il  font
Giobe.TTF: clicca qui!!
Mostra l'Effetto Prova l'eseguibile COM Scarica il codice Sorgente ASM

  

bulletLa lettura paziente del suo codice assembly può essere molto utile per affinare la tua tecnica di programmazione; la sua analisi è certamente poco immediata, senza l'aiuto del Maestro... ma di norma qualunque codice pensato da altri è difficile da capire...

  

  

bulletIl compito della Key_Num è quello organizzare la visualizzazione del tasto premuto, sia nella tastierina a video che sulla barra di acquisizione, posta sulla penultima riga del monitor; vediamone insieme i segreti:

  

bulletle 7 istruzioni iniziali verificano se il numero di tasti numerici premuti è minore a quello massimo tollerato, per evitare di andare a sovrascrivere il Menu interattivo, sulla barra di acquisizione; quando questo succede si fa sparire il cursore (che sarebbe fastidioso) e si forniscono le indicazioni per risolvere il problema
bulletla prima istruzione del secondo gruppo  (INC CS:[Quante]) aggiorna la variabile locale che tiene conto dei tasti numerici già premuti
bulletin ingresso in AL c'è il codice ascii numerico decimale, letto da Keywait; per non rischiare di perderlo lo si salva momentaneamente nello stack (PUSH AX, ti ricordo che devi salvare AX anche se a te interessa solo AL)
bullet spegne (M_COLOR 08H, grigio su nero) il numero corrispondente al tasto premuto in precedenza, assumendone il codice ascii numerico da una variabile locale (MOV AL,CS:[prima])
bulletaccende (M_COLOR 0FH, bianco brillante su nero) il numero corrispondente al tasto appena premuto, recuperandone il codice ascii numerico dallo stack (POP AX)
bulletstampa (M_COLOR 1FH, bianco brillante su blu) il numero appena acquisito anche sulla barra di acquisizione, recuperando la colonna di stampa corrente (comunque sulla riga23) dalla variabile locale [Colonna]
bulletprepara aggiornata la posizione di stampa sulla riga23, per il prossimo numero, affidandola alla variabile locale [Colonna]

  

bulletLa procedura è essenziale e ricca di spunti: può esserti d'aiuto vederla in azione cliccando qui (scegli "Esegui l'applicazione"/"Aprire il file").

  

bulletEntrambe le variabili locali, coinvolte dalla procedura devono essere ovviamente predisposte nella Zona ad esse destinata:

  

    

Pagina Precedente Palestra Esperti Pagina Successiva INTRODUZIONE   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
1 di 23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

    

PALESTRA » Esperti » Es.001 Es.002 Es.003 Es.004 Es.005 Es.006 Es.007 Es.008 Es.009 Es.010 Es.011

| Che serve per iniziare | Prima compilazione | Livello Apprendisti |

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