[ 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 ] |