Interruzioni software
Variabili di sistema
Il segmento 40 contiene informazioni per l'utilizzo dell'hardware del computer:
Locazione
(segmento:offset)
Significato del valore contenuto
0040:0000Indirizzo base del dispositivo di comunicazione seriale (RS232) COM1
0040:0002Indirizzo base del dispositivo di comunicazione seriale (RS232) COM2
0040:0004Indirizzo base del dispositivo di comunicazione seriale (RS232) COM3
0040:0006Indirizzo base del dispositivo di comunicazione seriale (RS232) COM4
0040:0008Indirizzo del dispositivo di comunicazione parallela LPT1
0040:000AIndirizzo del dispositivo di comunicazione parallela LPT2
0040:000CIndirizzo del dispositivo di comunicazione parallela LPT3
0040:0010bit di equipaggiamento:
			Bit 13,14,15 = numero di stampanti
			12 = game port installate
			9,10,11 = numero di interfacce rs232
			6,7 = numero di dischi
			4,5 = modalità video
				(00=EGA, 01=CGA40,10=CGA80, 11=MONO)
			3,2 = capacità memoria di sistema
			1 = co-processore matematico
			0 = disco di avvio
0040:0013capacità della memoria centrale
0040:0015Canali di IO
0040:0017byte di stato della tastiera
7=ins,	6=caps,	5=num,	 4=scrll,
3=ALT,	2=CTRL,	1=LSHFT, 0=RSHFT 
0040:0018secondo byte di stato della tastiera
0040:0019area buffer della tastiera ALT-Numero
0040:001APuntatore alla testa del buffer dei tasti premuti
0040:001CPuntatore alla coda del buffer dei tasti premuti
0040:001Ebuffer di 15 tasti premuti (se testa=coda, buffer vuoto)
0040:003ERicalibrazione floppy drive, 1=drive0, 2=drv1, 4=drv2, 8=drv3
0040:003Fstato del motore del floppy Disk, 1=drive0, 2=drv1, 4=drv2, 8=drv3 80h = scrittura su disco in corso
0040:0040timer del floppy disk 0=motore fermo
0040:0041byte di stato del floppy
1=bad cmd, 2=no address mark, 3=cant write, 4=sector not found
8=DMA overrun,9=DMA over 64k
10h=CRC error,20h=controller fail, 40h=seek fail, 80h=timeout
0040:0042sette byte di stato del disco
0040:0049Modo video corrente
0040:004ANumero di colonne del video
0040:004Cdimensione in byte del buffer video
0040:004EIndirizzo del Segmento della memoria video
0040:0050Posizione del cursore nella pagina video Nr. 0,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:0052Posizione del cursore nella pagina video Nr. 1,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:0054Posizione del cursore nella pagina video Nr. 2,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:0056Posizione del cursore nella pagina video Nr. 3,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:0058Posizione del cursore nella pagina video Nr. 4,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:005APosizione del cursore nella pagina video Nr. 5,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:005CPosizione del cursore nella pagina video Nr. 6,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:005EPosizione del cursore nella pagina video Nr. 7,
bit 8-15=numero di riga, bit 0-7=numero di colonna
0040:0060Tipo di cursore, i bit 8-12 indicano la riga di inizio, i bit 0-4 indicano la riga finale
0040:0062Numero della pagina video corrente
0040:0063Indirizzo base della controller del video
0040:0065modo hardware
0040:0066Colori in modo CGA
0040:0067puntatore a ROM di avvio
0040:0069indirizzo del segmento ROM I/O
0040:006B
0040:006Cparte bassa del contatore del timer (ogni 55millisecondi)
0040:006Eparte alta del contatore del timer
0040:0070Overflow del Timer
0040:0071stato del tasto break, il bit 7 è posto a 1 se il tasto break è premuto
0040:0072flag per il riavvio, viene impostata al valore 1234h per riconoscere il riavvio
0040:0074byte di stato dell'hard disk
0040:0075numero di hard disk
0040:0076byte di stato delle testine del disco fisso
0040:0077porta dell'Hard disk
0040:0078
7B
Contatore a decremento (timeout) per le stampanti LPT1 - LPT4
0040:007C
7F
Contatore a decremento (timeout) per le porte seriali RS232, COM1 - COM4
0040:0080Puntatore all'inizio del buffer della tastiera
0040:0082Puntatore alla fine del buffer della tastiera

Mappa degli indirizzi dei dispositivi di Input/Output
Intervallo di indirizziDispositivo periferico
00 - 0f DMA (Direct Memory Access)
20 - 21 8259 Programmable Interrupt Controller
40 - 43 Timer
60 - 63 Programmable Peripheral Interface 8255
80 - 83 DMA Page registers
200 - 20f Game I/O Adapter
278 - 27f Riservati
2f8 - 2ff COM2
378 - 37f Stampante parallela
3b0 - 3bf Monitor monocromatico
3d0 - 3df Monitor a Colori
3f0 - 3f7 Dischetto
3f8 - 3ff COM1


* * * * * * * * * * * * * * * * *