Video e Tastiera con le interruzioni software del BIOS e di MSDOS

Documenti analoghi
Interazione con il DOS e il BIOS

Appunti di SISTEMI OPERATIVI

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

ISA Input / Output (I/O) Data register Controller

Esercizi per il recupero del debito formativo:

Il Software programmabili programma algoritmo

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè

File binari e file di testo

Linguaggio C: introduzione

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

I comandi del DOS. Come si fornisce un comando al DOS

Fondamenti di Informatica T. Il Software

Lezione 16. Il Software di base

1) Quale tra questi non è un dispositivo di output? 2) Nell ambito dei linguaggi di alto livello, un interprete è:

INFORMATICA. Termini, concetti principali

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

INFORMATICA. L informatica comprende:

La programmazione in linguaggio C

Rappresentazione di dati: caratteri. Appunti a cura del prof. Ing. Mario Catalano

Sistema Operativo. (hardware e software) della della macchina

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Input/Output. Console e File.

IL PRIMO PROGRAMMA IN C

Rappresentazione di dati: caratteri di testo. Appunti a cura del prof. Ing. Mario Catalano

Architettura IBM PC. «IVT: «interrupt vector table» BIOS data area Altre aree di memoria Interruzioni principali...

LA GESTIONE DELLA I/O

Variabili e Istruzioni

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo

Arduino/Raspberry Board and GSM Library

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Primo programma in C

Sistema Operativo (Software di base)

Modulo 1: Le I.C.T. UD 1.4b: Anatomia del Computer

IL SOFTWARE DI SISTEMA

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

Architettura di un calcolatore

Nozioni Base di Linux

Transcript:

Video e Tastiera con le interruzioni software del BIOS e di MSDOS

Debug del DOS Le interruzioni Il sistema operativo MSDOS fornisce funzioni richiamabili attraverso le istruzioni dell ISA x-86 nei programmi scritti in linguaggio Assembly. Alcune di queste funzioni consentono a chi realizza programmi in Assembly di accedere facilmente alle periferiche: Video Tastiera Dischi senza che sia necessario conoscere le caratteristiche dell hardware. Queste funzioni vengono richiamate attraverso l istruzione di interruzione software: INT num Dove num identifica il tipo di interruzione e di servizio che viene richiesto al sistema. Le interruzioni sono 256 (numerate da 0 a 255 quindi da 0h a FFh). Da 0h a 0Fh Interruzioni hardware Da 10h a 1Fh Da 20h a 2Fh Interruzioni software del BIOS Interruzioni software di MSDOS

Debug del DOS Video e tastiera Le istruzioni Assembly necessarie per accedere alla console (video e tastiera) sono necessarie per poter scrivere un qualsiasi programma significativo. Le principali funzioni per accedere al video e alla tastiera sono: 10h (e sue sottofunzioni) per il Video INT 10h 16h (e sue sottofunzioni) per la Tastiera INT 16h Le funzioni di accesso alla console fornite dalle interruzioni del Bios sono importanti perché sempre disponibili fin dall avvio del calcolatore, essendo scritte in FirmWare.

Debug del DOS Video e tastiera INT 10h Sottofunzione 0Eh Stampa un carattere sullo schermo Esempi: MOV AL, 41h ; codice Ascii del carattere da stampare a video (es. 41h è il car. A ) MOV AH, 0Eh ; sottofunzione INT 10h ; interruzione sw del Bios gestione Video MOV AL, A ; codice Ascii del carattere da stampare a video MOV AH, 0Eh ; sottofunzione INT 10h ; interruzione sw del Bios gestione Video Il carattere da stampare a schermo va sempre fornito con il suo codice Ascii, pertanto la stampa di singoli numeri decimali (da 0 a 9) deve essere sempre normalizzata, aggiungendo 48 (o 30h) al numero da stampare. Si può indicare il codice Ascii di un qualsiasi carattere indicandolo tra singoli apici, così come in linguaggio C.

Debug del DOS Video e tastiera INT 16h Sottofunzione 00h Input di un carattere da tastiera Esempio: MOV AH, 00h ; sottofunzione INT 16h ; interruzione sw del Bios gestione Tastiera ; in AL il codice Ascii del carattere premuto, ; in AH il codice di scansione Naturalmente l esecuzione di questa interruzione blocca il flusso del programma in esecuzione, che rimane in attesa di un carattere digitato dalla tastiera. Non appena un carattere viene premuto, la routine termina avendo memorizzato in AL il codice Ascii del carattere premuto.

Debug del DOS Terminazione programma Terminare i programmi in MSDOS Ogni programma scritto per MsDos in Assembly x-86 quando termina deve avvisare il Sistema Operativo tramite una interruzione sw specifica. In questo modo il SO riacquisisce il controllo del calcolatore correttamente, riconfigurandosi opportunamente per riprendere la sessione di lavoro in attesa del lancio di un nuovo programma eseguibile da parte dell utente. L avviso di terminazione deve essere sempre l ultima istruzione Assembly di ogni programma sia EXE, sia COM. In questo modo il programma può avvisare il SO sullo stato della propria terminazione, indicando, ad esempio, eventuali terminazioni anomale o, più frequentemente, una terminazione regolare.

Debug del DOS Terminazione programma INT 20h Terminazione di un programma.com INT 20h ; interruzione sw di MsDos Terminazione programma COM L interruzione non necessita di alcun parametro, ma non consente di avvisare MsDos sullo stato di terminazione.

Debug del DOS Terminazione programma INT 21h Sottofunzione 4Ch Terminazione di un programma.exe MOV AL, 00h MOV AH, 4Ch INT 21h ; codice di terminazione. Se in AL si mette 0 terminazione regolare ; sottofunzione ; interruzione sw di MsDos che segnala la Terminazione del programma EXE L interruzione di terminazione dei file eseguibili EXE consente di avvisare MsDos sullo stato di terminazione (inseribile nel semiregistro AL). MsDos può valutare questo valore usando l istruzione ERRORLEVEL, magari in un comando batch. Se si volesse usare lo stato di terminazione anche per un file eseguibile COM, si può usare questa interruzione.

Riassumendo Debug del DOS Video e tastiera - Terminazione programma INT 10h Sottofunzione 0Eh Stampa un carattere sullo schermo MOV AL, 41h ; codice Ascii del carattere da stampare a video (es. 41h è il car. A ) MOV AH, 0Eh ; sottofunzione INT 10h ; interruzione sw del Bios gestione Video -------------------------------------------------------------------------------------------------------------------- MOV AL, A ; codice Ascii del carattere da stampare a video MOV AH, 0Eh ; sottofunzione INT 10h ; interruzione sw del Bios gestione Video INT 16h Sottofunzione 00h Input di un carattere da tastiera MOV AH, 00h ; sottofunzione INT 16h ; interruzione sw del Bios gestione Tastiera ; in AL il codice Ascii del carattere premuto, INT 20h Terminazione di un programma.com INT 20h ; interruzione sw di MsDos Terminazione programma COM INT 21h Sottofunzione 4Ch Terminazione di un programma.exe MOV AL, 00h ; codice di terminazione. Se in AL si mette 0 terminazione regolare MOV AH, 4Ch ; sottofunzione INT 21h ; interruzione sw di MsDos che segnala la termin. del programma EXE