[1] Per accesso diretto si intende la possibilità di effettuare una chiamata ad interrupt. In tal senso vi è differenza con le funzioni di libreria che usano internamente gli interrupt per svolgere il loro lavoro.
[2] Per indicazioni circa i metodi e gli artifici utilizzabili per scrivere funzioni in grado di sostituirsi esse stesse agli interrupt (interrupt handler), vedere il capitolo dedicato alla gestione degli interrupt.
[3] Ad esempio: la pressione ed il rilascio di un tasto generano una chiamata all'int 09h.
[4] Ad esempio: l'int 13h, che gestisce i servizi di basso livello dedicati ai dischi (formattazione, lettura o scrittura di settori, etc.).
[5] Ad esempio: gli int 25h e 26h leggono e, rispettivamente, scrivono settori dei dischi, ma con criteri meno legati alle caratteristiche hardware della macchina rispetto all'int 13h. Per essere espliciti: il BIOS individua un settore mediante numero di testina (lato), numero di cilindro (traccia) e posizione del settore nella traccia; il DOS invece numera progressivamente i settori del disco a partire dal boot sector (settore 0), ma non è in grado, contrariamente al BIOS, di accedere alla traccia (presente solo negli hard disk) che precede il boot sector e contiene la tavola delle partizioni.
[6] Non possono essere usate in modo ricorsivo.
[7] La traccia di partenza è indicata mediante un numero esadecimale a 10 bit. Dal momento che CH è un registro a 8 bit, i bit 7 e 8 di CL ne rappresentano i 2 bit più significativi. In questo caso essi sono entrambi zero, pertanto il numero della traccia di partenza è deducibile dal solo valore in CH.
[8] Ad esempio, il registro a 16 bit AX può essere considerato suddiviso in due metà di 8 bit ciascuna: AH (la parte alta, cioè gli 8 bit più significativi) e AL (la parte bassa). Così BX è accessibile come BH e BL, CX come CH e CL, DX come DH e DL. Gli altri registri sono accessibili solamente come word di 16 bit.
[9] Si noti che questa regola vale in tutti i modelli di memoria; tuttavia se buffer fosse un puntatore far (perché dichiarato tale o a causa del modello di memoria) sarebbe più semplice ricavarne la parte segmento e la parte offset con le macro FP_SEG() e FP_OFF(), definite in DOS.H. In effetti, dette macro possono essere utilizzate anche con puntatori a 16 bit, purché siano effettuate le necessarie operazioni di cast:
segRegs.es = FP_SEG((void far *)buffer);
segRegs.bx = FP_OFF((void far *)buffer);
[10] L'int 21h rende disponibile la quasi totalità dei servizi DOS: gestione files, I/O, etc..
[11] Infatti se l'interrupt non richiede il caricamento
di particolari valori nei registri di segmento, è sufficiente
inizializzare una struct SREGS mediante una chiamata
a segread() e passarne l'indirizzo alla int86x()
senza effettuare altre operazioni.