OperazioniInput/Output
    Il "Quarto" fuso ] The 4th Time Zone ]   


 

Introduzione
OperazioniInput/Output
TheOperatori matematici
Operatori dello stack
Altri operatori
Colon definition
Strutture di controllo
Strutture condizionali
Costanti e variabili
Altre parole
Uso dell'editor
Messaggi di errore


                                   

[ Indice ][ Indietro ][ Avanti ]

EMIT

Preleva il numero presente in cima allo stack e lo visualizza sul terminale come carattere ASCII.

p.es.    HEX 41 EMIT <CR>

dà ordine al Forth di passare in modalità esadecimale, porre 41H in cima allo stack e quindi prendere tale numero e visualizzarlo sul terminale. In questo esempio il carattere visualizzato sarà una "A". Il carattere effettivamente visualizzato può essere un carattere ASCII riconoscibile, un carattere grafico o un codice di controllo, in funzione  del valore del numero sullo stack

EMITC

Come EMIT ma considera anche i caratteri di controllo.

KEY

Esamina la tastiera attendendo la pressione di un tasto e pone in cima allo stack il codice ASCII di questo tasto, senza visualizzarlo sul terminale.

p.es.      KEY <CR>

quindi premi "A" sulla tastiera. Questo ordina al computer di attendere che un venga premuto un tasto sulla tastiera (ora premi "A") e quindi pone in cima allo stack il valore ASCII di questo tasto, in questo caso 41H. Per visualizzare questo carattere prova con

            KEY EMIT <CR>

Ora premi  un tasto sulla tastiera, l'equivalente valore ASCII viene stampato, seguito dal prompt OK. Quindi se hai premuto "A" dovresti ottenere "AOK"

CR

Trasmette sullo schermo un ritorno di carrello (carriage return) e un avanzamento di riga (line feed).

.

Converte il numero in cima allo stack usando la BASE corrente e lo stampa sullo schermo seguito da uno spazio. P.es.supponi che lo stack contenga 16H e che la BASE sia decimale (10), viene stampato 22 (cioè 16 + 6), se la BASE fosse esadecimale (16) verrebbe stampato 16. Per verificare il tutto è necessario cambiare la base e quindi porre i numeri sullo stack. Ricorda che un numero viene posto in cima allo stack (push) semplicemente digitandolo correttamente sulla tastiera. Ci sono due parole per cambiare la BASE:

HEX

Usa la base esadecimale..

DECIMAL

Usa la base decimale..

Prova ora:

1)    HEX 1F7 . <CR>

Questo stampa:

1F7

 DECIMAL 2048 . <CR>

Questo stampa:

 2048

2)    DECIMAL 2048 HEX . <CR>

Questo stampa

800

dato che l'equivalente esadecimale di of 2048. Ricorda che . toglie dalla cima dello stack il numero che sta per stampare..

U.

Stampa il numero che si trova in cima allo stack considerandolo come numero senza segno.

p.es..      HEX C000 U. <CR>

pone sullo stack C000H e lo stampa. Se usassimo semplicemente . otterremmo un risultato negativo.

            HEX C000 . <CR>

stampa

-4000

?

Stampa usando la BASE corrente il valore che si trova contenuto all'indirizzo indicato sulla cima dello stack. Poni che la cima dello stack contiene FF40H e che la locazione di memoria FF40/41H contenga 0014H e che la BASE corrente sia 10 (DECIMAL), in questo caso BASE stampa 20 che è l'equivalente decimale di 14H.

TYPE

Questa parola usa i due numeri più in cima dello stack per stampare un certo numero di caratteri che si trovano memorizzati a partire da una certa locazione di memoria. Il numero in cima allo stack è il contatore e il secondo numero dalla cima dello stack è l'indirizzo di partenza della stringa.

p.es.      HEX 6100 20 TYPE

(nota che 6100H viene posto in cima allo stack e quindi 20H viene posto al di sopra di esso: quindi 20H è il primo numero accessibile sullo stack, 6100H è il secondo. Quindi vengono stampati 32 (20H) caratteri ASCII corrispondenti ai dati che si trovano a partire dall'indirizzo 6100H)

DUMP

Prende il numero dalla cima dello stack e stampa 80H bytes a partire da tale indirizzo.

."

Viene usata nella forma  ." stringa" e visualizza sullo schermo la stringa tra gli apici " ".

." QUESTA E' UNA STRINGA DI CARATTERI" <CR>

 visualizza sullo schermo

QUESTA E' UNA STRINGA DI CARATTERI

Nota gli spazi tra la stringa e gli apici.

SPACE

Visualizza un singolo spazio (blank) sullo schermo.

SPACES

Visualizza n spazi sullo schermo, dove n è il numero in cima allo stack.

p.es.            DECIMAL 10 SPACES <CR>

stampa 10 spazi sullo schermo.

[ Indice ][ Indietro ][ Avanti ]


Ultimo aggiornamento: 29-11-2002. Copyright (c) 2000-2002 Matteo Vitturi. 
Per problemi o domande relativamente a questo sito contattare il webmaster
Last update: 11.29.2002. Copyright (c) 2000-2002 Matteo Vitturi.
For problems or questions related to this web please contact the webmaster.
1