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

Funzioni BIOS

Home » Programma il Computer » Tutorial Assembly

Tutorial Assembly - Funzioni BIOS

  Programmazione

VIDEO 52/59 [72 di 79] 

 

bullet Gestione BIOS del Video - INT 10H - Funzione 12H- SottoFunz. 35H

 

INT 10H

Funzione 12H/35H Commuta  tra  2  Adattatori, MCGA e VGA

 

bulletControlla la possibilità di utilizzo contemporaneo di 2 Adattatori VIDEO (MCGA e VGA) presenti nel stesso sistema.

 

bulletIn ingresso:
bullet AH è posto a 12H
bulletBL è posto a 35H e indica la SottoFunzione (invece del consueto registro AL)
bulletAL indica uno dei 4 Servizi disponibili, da attivare in 2 fasi successive:
bulletAL = 00H accerta se la commutazione è possibile, coinvolgendo l'Adattatore su slot (VGA) per interrogare quello su Scheda Madre (MCGA)
bulletAL = 01H rendere esecutiva la commutazione testata con AL=00H, abilitando l'Adattatore (MCGA) su Scheda Madre.
bulletAL = 02H disabilita l'Adattatore attualmente attivo (MVGA o VGA) e salva nel Buffer il contesto dei Dati di visualizzazione ad esso relativi
bulletAL = 03H rendere esecutivo il servizio operato con AL=02H, recuperando dal Buffer il contesto dei Dati di visualizzazione
bulletES:DX punta la zona di memoria (un Buffer di 128 bytes) destinata ad accogliere il contesto dei Dati di visualizzazione

 

bulletIn uscita lascia:
bulletAL = 12H se la SottoFunzione è supportata

 

bullet La SottoFunzione controlla la possibilità di utilizzo contemporaneo di 2 Adattatori VIDEO (MCGA e VGA) presenti nel stesso sistema, commutando tra di essi, al fine di evitare conflitti quando la CPU accede alle loro porte di Input/Output o alla loro RAM interna.
bullet Normalmente uno dei 2 Adattatori è residente sulla Scheda Madre del Computer (per esempio MCGA) e l'altro è inserito in uno slot di espansione della Scheda Madre (VGA); entrambi hanno le rispettive BIOS Video alle quali, per merito di questa SottoFunzione, i programmi possono accedere separatamente.

 

bullet La SottoFunzione può essere usata solo se i 2 Adattatori hanno la possibilità di essere disabilitati (con la SottoFunzione 32H della Funzione 12H di INT 10H).
bullet Se i conflitti sopraindicati non si manifestano, entrambi i Controller Video possono essere attivi simultaneamente e questa SottoFunzione non è necessaria.

 

bullet Per passare dall'Adattatore sulla Scheda Madre (MCGA) a quello su slot di espansione (VGA) (e viceversa) è necessario attivare la SottoFunzione in 2 fasi successive, prima con i Servizi AL=00H/AL=01H e poi con i Servizi AL=02H/AL=03H.
bullet Il programma chiamante deve predisporre 2 Buffer, ciascuno di 128 bytes, e specificare in ES:DX, al momento opportuno, il rispettivo puntatore.
 
bulletLa prima fase accerta se la commutazione è possibile e, nel caso, la rende esecutiva:
bulletil Servizio con AL=00H coinvolge l'Adattatore su slot (VGA) per interrogare quello su Scheda Madre (MCGA) al fine di accertare se la commutazione è possibile; in questo caso:
bulletin questo caso viene restituito AL=12H e si può ritenere che l'operazione sia andata a buon fine (SottoFunzione supportata).
bulletil contesto dei Dati relativi all'Adattatore su slot, inclusi i Vettori di Interruzione, viene salvato nel Buffer1 (BuffVGA) di 128 bytes predisposto in precedenza e puntato in ingresso da ES:DX.
bulleti Vettori di INT vengono ridiretti per puntare al BIOS dell'Adattatore su Scheda Madre
bulletviene eseguito il codice della SottoFunzione 32H della Funzione 12H di INT 10H per disabilitare l'accesso della CPU alle porte di Input/Output dell'Adattatore su slot e alla sua Memoria interna.
bulletin sostanza l'Adattatore (VGA) su slot viene disabilitato e per ricordare questo evento viene posto a 1 il bit6 (Commutazione abilitata) della variabile di Sistema 0000:0489H dell'Area di Comunicazione BIOS.
bulletil Servizio con AL=01H deve esser chiamato subito dopo per rendere esecutiva la commutazione, abilitando l'Adattatore (MCGA) su Scheda Madre.

 

bullet In questa fase la SottoFunzione si chiama in questo modo:

 

  

bullet A questo punto i 2 Adattatori sono entrambi potenzialmente disponibili, ma è necessario chiamare in sequenza i rimanenti 2 Servizi, per stabilire quale dei 2 deve essere utilizzato.

 

bulletLa seconda fase disabilita l'Adattatore attualmente attivo e subito dopo abilita l'Adattatore attualmente non attivo.
bulletQuesta commutazione può essere eseguita a piacere tutte le volte che è necessaria, purchè sia stata eseguita correttamente la prima fase (Servizi 00H e 01H), cioè purchè il bit6 (Commutazione abilitata) della variabile di Sistema 0000:0489H venga trovato a 1.

 

bulletIn concreto:
bulletil Servizio con AL=02H:
bullet disabilita all'Adattatore attualmente attivo la possibilità di accedere alle sue porte di Input/Output e alla sua Memoria interna
bulletil contesto dei Dati di visualizzazione ad esso relativi (inclusi i Vettori di Interruzione) viene salvato nel Buffer2 (BufMCGA) di 128 bytes predisposto in precedenza e puntato in ingresso da ES:DX
bulleti Vettori di INT vengono ridiretti per puntare al BIOS dell'Adattatore attualmente non attivo
bulletil Servizio con AL=03H:
bullet abilita l'Adattatore attualmente non attivo, completando l'opera in modo duale rispetto al precedente Servizio 02H
bulletrecupera il contesto dei Dati di visualizzazione (inclusi i Vettori di Interruzione) relativo all'Adattatore attualmente non attivo e salvato in una precedente fase nel Buffer1 (BuffVGA) di 128 bytes (puntandolo con ES:DX)
bulletfatto ciò con le informazioni così assunte rende attivo l'Adattatore attualmente non attivo dandogli la possibilità di accedere alle sue porte di Input/Output e alla sua Memoria interna.

 

bulletCon riferimento alle 2 possibilità (passaggio da MCGA a VGA o viceversa) in questa fase la SottoFunzione si chiama così:

 

  

 

bulletL'eseguibile B10_1235.COM propone un'applicazione della SottoFunzione 35H della Funzione 12H dell'INT 10H.
bulletIl sorgente è documentato nella sezione ASM (clicca sull'iconaApplicazioni Software, nel menu a sinistra).

    

Pagina Precedente Funzioni BIOS Pagina Successiva VIDEO 52/59   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
72 di 79
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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

    

Funzioni BIOS » Elenco Progressivo | Seriale | Parallela | Stampanti | Video | Cursore
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