MBASIC: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 6:
| sviluppatore = [[Microsoft Corporation]]
| versione ultimo rilascio = 5
| data ultimo rilascio =
| versione beta =
| data versione beta =
Riga 59:
Nell'MBASIC il flusso del programma era gestito tramite le [[Struttura_di_controllo#Strutture_di_controllo_della_programmazione_strutturata|strutture di controllo]] <code>IF...THEN...ELSE</code> e <code>WHILE...WEND</code> e le istruzioni di salto <code>[[GOTO]]</code> e <code>GOSUB</code>. All'assenza dell'istruzione <code>CASE</code>, per la scelta fra più di 2 opzioni, si sopperiva con l'istruzione di salto multiplo <code>ON...GOTO</code>. Le sub-routine non aveva parametri e tutte le variabili erano globali. L'MBASIC non metteva a disposizione strumenti per la [[programmazione strutturata]] ed era facile scrivere "[[spaghetti code]]".
==PEEK, POKE e funzioni definite dall'utente==
<!--▼
Come per tutti gli altri dialetti BASIC dei computer ad 8 bit dei primi [[anni 1980|anni '80]], anche nell'MBASIC le funzioni [[PEEK e POKE]] rivestivano un ruolo importante dato che permettevano di leggere e scrivere direttamente nella memoria dell'elaboratore. Data l'assenza di sistemi di [[protezione della memoria]], il programmatore poteva accedere direttamente al [[sistema operativo]] od a funzioni normalmente non permesse dai comandi a disposizione: ad esempio, con una <code>POKE</code> in un sistema CP/M, se il suo [[BIOS]] supportava questa funzione, si poteva passare il terminale sulla [[porta seriale]]; nei computer con un [[Real-time clock|orologio in tempo reale]], una serie di <code>PEEK</code> permetteva di leggerne l'orario.
L'MBASIC permetteva all'utente di definire delle funzioni che potevano essere poi richiamate da un programma: queste funzioni erano di solito salvate in un'area riservata della memoria oppure inserite tramite <code>POKE</code> in costanti di tipo stringa come una serie di istruzioni in [[linguaggio macchina]].
Erano inoltre disponibili le istruzioni <code>INP</code> e <code>OUT</code> per leggere e scrivere direttamente nelle porte di I/O dell'8080: grazie a ciò si poteva controllare direttamente una periferica. Su alcuni computer CP/M, come il diffuso [[Osborne 1]], tutte le istruzioni di I/O erano però riservate dal sistema.
Programmi in MBASIC che usavano <code>PEEK</code>, <code>POKE</code> o le funzioni scritte in linguaggio macchina non perano eseguibili su macchine differenti da quelle per cui erano stati scritti.
▲<!--
== Successors to MBASIC ==
|