Il 0% ha trovato utile questo documento (0 voti)
249 visualizzazioni

P101 Manuale Generale

Il documento descrive le caratteristiche e il funzionamento del calcolatore elettronico Olivetti Programma 101. Include una descrizione dei componenti principali come la memoria, la tastiera e l'unità di stampa. Vengono inoltre illustrate le funzionalità della memoria e dei registri e fornite informazioni sulle modalità di programmazione.

Caricato da

Carlo Mommi
Copyright
© © All Rights Reserved
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
249 visualizzazioni

P101 Manuale Generale

Il documento descrive le caratteristiche e il funzionamento del calcolatore elettronico Olivetti Programma 101. Include una descrizione dei componenti principali come la memoria, la tastiera e l'unità di stampa. Vengono inoltre illustrate le funzionalità della memoria e dei registri e fornite informazioni sulle modalità di programmazione.

Caricato da

Carlo Mommi
Copyright
© © All Rights Reserved
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 43

From the original Italian Manual - (L.C.

Sept 2017)
Questo manuale presenta le caratteristiche e la
logica operativa del calcolatore elettronico da
tavolo Olivetti Programma 101.
Esso contiene la descrizione del calcolatore, la
spiegazione del linguaggio di programmazione e
l'illustrazione delle procedure relative al suo im-
piego.

From the original Italian Manual - (L.C. Sept 2017)


From the original Italian Manual - (L.C. Sept 2017)
Indice

Descrizione
Memoria 9
Dispositivi esterni e tastiera 11

Programmazione
Funzioni aritmetiche 14
Funzioni di trasferimento 17
Funzioni logiche 18
Funzioni di servizio 20
Costanti 20
Registri divisi 21
Predisposizione dei decimali 22

Norme operative
Registrazione dei programmi 23
Stampa dei programmi 25
Lettura dei programmi 26
Esecuzione dei programmi 26
Scheda parziale 27
Istruzione RS 28
Uso manuale 29
Controlli automatici 29

Esempio di applicazione
Esecuzione manuale 31
Stesura del programma 32

Tecniche di programmazione
Arrotondamento per difetto o per eccesso 33
Uso promiscuo dei registri F, E, D
per memorizzazione dati e istruzioni 35
Generazione di costanti 36
Programmazione di un contatore 36
Registrazione di più dati in un unico registro 37
Tecnica di rotazione dei registri 38
Programmi su più schede 39

Appendice
Sostituzione del nastro 40
Sostituzione del rotolo di carta 40
Dimensioni ed installazione 41
Schede programma 41

Indice analitico 43

From the original Italian Manual - (L.C. Sept 2017)


Descrizione

L'Olivetti Programma 101 è un calcolatore elettronico da tavolo a programma registrato.


Esso è composto dai seguenti organi fondamentali:

1. Memoria: contiene i dati numerici e le


istruzioni di programma.
2. Tastiera: consente l'impostazione dei
dati, l'esecuzione manuale delle ope-
razioni e la compilazione delle istru-
zioni di programma.
3. Unità di stampa: esegue la stampa
serialmente da destra a sinistra, su
28 colonne alla velocità di 30 caratte-
ri/secondo. Vengono stampati i dati
impostati in tastiera, i risultati delle
operazioni e la simbologia delle istru-
zioni.
4. Unità di lettura e di registrazione della
scheda magnetica: consente la registrazione del programma da scheda magnetica in
memoria oppure da memoria su scheda magnetica.
5. Unità di governo e unità aritmetico-logica: l'unità di governo riceve dalla memoria le i-
struzioni, ne interpreta il significato e le esegue attraverso la unità aritmetico-logica.

MEMORIA

La memoria è composta da 10 registri: 2 per il programma, 3 operativi e 5 numerici.


I 2 registri programma possono contenere sino a un massimo di 48 istruzioni. Essi non sono
rappresentati in tastiera.

I 3 registri operativi M, A ed R, hanno la


capacità di 22 cifre più virgola e segno
algebrico ed intervengono nell'esecuzio-
ne delle operazioni aritmetiche nel se-
guente modo:
- nel registro M sono contenuti i dati
impostati in tastiera attraverso i tasti
numerici
- nel registro A si formano i risultati del-
le operazioni con il numero dei decimali
predisposto
- nel registro R si formano i risultati
dell'addizione, sottrazione, moltiplicazio-
ne ed il resto della divisione, senza limi-
tazione di decimali.
I 5 registri numerici B, C, D, E, F, hanno
la capacità di 22 cifre più virgola e se-
gno; sono utilizzati per la memorizza-
zione di dati costanti e risultati intermedi
di operazioni aritmetiche eseguite nei
registri operativi.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 10)
Ognuno di essi può essere diviso in due parti, ciascuna con capacita di 11 cifre più virgola e
segno. Le due parti di un registro così
diviso funzionano in modo autonomo e
vengono identificate:
-la parte di destra con la sua denomina-
zione originale (esempio: B)
-la parte di sinistra con la corrisponden-
te lettera minuscola (esempio: b).

Si può disporre quindi di 5 registri interi


con capacità di 22 cifre (B, C, D, E, F)
oppure di 10 registri ridotti con capacità
di 11 cifre (b, B, c, C, d, D, e, E, f, F). I
registri F, E, D, invece di dati numerici
possono contenere istruzioni di pro-
gramma.

Quando le istruzioni superano la capaci-


ta dei due registri programma (48 istru-
zioni) esse occupano nell'ordine i regi-
stri F, E, D, ciascuno dei quali ha una
capacita massima di 24 istruzioni.
Con l'utilizzazione completa dei registri
programma e dei registri F, E, D, si
raggiunge una capacità totale di 120 i-
struzioni.
Se le istruzioni sono più di 48, ma non
raggiungono le 120, per ogni gruppo di
24 occupano un registro (nell'ordine F,
E, D).
Se l’ultimo registro occupato contiene
11 o meno istruzioni, la meta destra
può contenere istruzioni e quella sini-

stra cifre.
I registri (interi o divisi) possono anche
contenere dati e istruzioni in proporzioni
differenti, come illustrato in seguito trat-
tando dell'uso promiscuo dei registri per
dati e istruzioni.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 11)

DISPOSITIVI ESTERNI E TASTIERA

1. Interruttore dell'alimentazione: attiva il funzionamento della macchina; quando il calcolatore


viene disattivato, tutti i dati e le istruzioni in memoria vengono annullati.

2. Segnalazione di errore: la luce rossa segnala l’interruzione del calcolo per operazione o pre-
disposizione errata.

3. Segnalatore di corretto funzionamento: la luce verde indica il corretto funzionamento del


calcolatore; è intermittente durante la fase di calcolo.

4. Introduttore per la scheda magnetica dotato di apposito dispositivo per il trascinamento au-
tomatico della scheda.

5. Comando manuale per l'avanzamento della carta.

6. Scheda magnetica di plastica ricoperta di ossido di ferrite con 2 piste per la registrazione dei
programmi, in posizione di introduzione e di estrazione.

7. Supporto del rotolo di carta.

8. Comando libera-carta.

9. Zona di stampa.

10. Tastiera.

11. Posizione di uscita della scheda magnetica: dopo essere stata letta o registrata, la scheda
si arresta nella posizione di uscita da dove può essere estratta.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 12)

Selezione di programma: per la scelta del programma o sottoprogramma da eseguire.

Tastiera numerica ridotta: 10 tasti per l'impostazione dei dati, più i tasti di virgola decimale e
di segno algebrico.

Annullatore di impostazione: cancella interamente l'ultima impostazione (dato numerico o i-


struzione).

«Start-Stop» ha una duplice funzione:


Start avvia l'esecuzione del programma dopo la introduzione di un dato.
Stop serve per codificare l'istruzione di arresto dello svolgimento di un programma.

«Split»: consente di operare su registri divisi. Premuto successivamente ad un tasto di registro


numerico, ne identifica la parte sinistra; la parte destra mantiene la designazione originale del
registro intero.

«Stampa»: comanda la stampa del contenuto del registro selezionato.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 13)

Azzeratore: consente di azzerare il registra selezionato ad eccezione di M ed R. Quando il co-


mando viene utilizzato in una sequenza manuale, azzera il registro e ne stampa il contenuto.

Tasti di indirizzo per operare sui registri; il registro M non ha il corrispondente tasto di indirizzo
in quanto riceve automaticamente i dati impostati.

Tasti di trasferimento: per comandare trasferimenti di dati numerici tra registri:

• dal registro M in quello selezionato

• dal registro selezionato in A

• scambio del contenuto tra il registro A e quello selezionato

Tasti delle operazioni aritmetiche: comandano la esecuzione delle operazioni aritmetiche:


somma, sottrazione, moltiplicazione, divisione e radice quadrata.

Comando «registrazione programma»: inserito, permette la registrazione in memoria delle i-


struzioni impostate sulla tastiera e il loro trasferimento dalla memoria sulla scheda magnetica.
Non inserito, consente la registrazione in memoria del contenuto di una scheda magnetica.

Comando «stampa programma»: inserito, consente la stampa del programma contenuto nella
memoria del calcolatore.

Annullatore generale: annulla tutti i dati e le istruzioni contenuti nella memoria del calcolatore.

Indicatore del decimali: può essere predisposto per ottenere da 0 a 15 decimali nei risultati
delle operazioni e nella stampa del contenuto dei registri.

Sblocco della tastiera: libera la tastiera dal bloccaggio provocato dalla pressione contempora-
nea di due o più tasti.

From the original Italian Manual - (L.C. Sept 2017)


Programmazione

L'Olivetti Programma 101 opera automaticamente su programma, esegue cioè una serie di i-
struzioni ordinate in sequenza logica in base ai calcoli da eseguire.
Il programma viene registrato in memoria a partire dalla prima posizione dei registri program-
ma e può estendersi sequenzialmente anche ai registri F, E, D, fino ad un massimo di 120 i-
struzioni.
Ogni istruzione occupa in memoria una sola posizione di ampiezza costante e viene codificata
con un numero variabile di simboli direttamente corrispondenti alla nomenclatura in tastiera; i
simboli costituiti da lettere minuscole si ottengono dalla tastiera usando la corrispondente ma-
iuscola seguita dal tasto «/».
Dalla memoria il programma può inoltre essere registrato su scheda magnetica. Ciò consente
la conservazione permanente dei programmi su un supporto esterno al calcolatore e la loro
immediata reintroduzione in memoria ogniqualvolta si desideri utiizzarli.
La scheda magnetica dispone di due piste di registrazione, ciascuna delle quali può contenere
fino a 120 istruzioni di programma oppure istruzioni e dati numerici.
Le istruzioni del programma possono essere classificate: in base alle funzioni che comandano:

Funzioni aritmetiche: addizione, sottrazione, moltiplicazione, divisione, radice quadrata, de-


terminazione del valore assoluto.

Funzioni di trasferimento: trasferimenti semplici e scambi dei contenuti dei registri per memo-
rizzare dati, risultati, costanti.

Funzioni logiche: scelte logiche in relazione a situazioni interne o ad intervento dell'operatore,


per saltare una sequenza o eseguirla più volte.

Funzioni di servizio: azzeramento, stop in programma, stampa e interlinea

FUNZIONI ARITMETICHE

Tutte le operazioni aritmetiche avvengono nei registri operativi M, A ed R.


Le cifre impostate in tastiera entrano nel registro M. Le operazioni si effettuano tra A (primo
termine) ed M (secondo termine); il registro A accoglie il risultato con il numero di decimali
predisposto.
Nell'addizione, sottrazione e moltiplicazione, il registro R contiene il risultato aritmeticamente
completo; nella divisione, contiene il resto.
E’ possibile comandare operazioni tra A e qualsiasi registro; in questa caso il contenuto del re-
gistro selezionato viene automaticamente scritto nel registro M senza esser cancellato nel suo
registro d'origine.
Il calcolatore Programma 101 esegue direttamente le quattro operazioni elementari, la radice
quadrata e determina il valore assoluto di un numero. Esso opera algebricamente, rispettando
il significato naturale della virgola decimale.
I numeri devono essere impostati in tastiera, con il segno, se negativo, e con la virgola nella
esatta posizione.
Il tasto con il segno algebrico negativo è situato tra i tasti numerici.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 15)
ADDIZIONE +
Un'istruzione contenente la funzione «+» fa eseguire la somma algebrica del contenuto del re-
gistro A con quello del registro selezionato.
Il registro M non richiede una selezione esplicita. L'istruzione è eseguita in due fasi:
1a fase: scrittura in M della cifra contenuta nel registro selezionato.
2a fase: somma del contenuto del registro M con quello di A.
Il risultato, dopo l'operazione, è nel registro A con il numero di decimali predisposto.
Il registro R contiene il risultato aritmeticamente completo.
Il registro M conserva il suo contenuto.

Risultato
Istruzione Fase 1 Fase 2 richiesto completo

+ A+M A R
R+ R M A+M A R
A+ A M A+M A R
b+ b M A+M A R
B+ B M A+M A R
c+ c M A+M A R
C+ C M A+M A R
d+ d M A+M A R
D+ D M A+M A R
e+ e M A+M A R
E+ E M A+M A R
f+ f M A+M A R
F+ F M A+M A R

Esempio decimali 2
M A R B
prima 5.4321 6,18 9 8.4397
B+
dopo 8.4397 14,61 14,6197 8.4397

SOTTRAZIONE -
Un'istruzione contenente la funzione «-» fa eseguire la sottrazione algebrica del contenuto del
registro selezionato da quello del registro A.
Il registro M non richiede una selezione esplicita. L'istruzione è eseguita in due fasi:
1a fase: scrittura in M della cifra contenuta nel registro selezionato.
2a fase: sottrazione del contenuto del registro M da quello di A.
Il risultato, dopo l'operazione, è nel registro A, con il numero di decimali predisposto.
Il registro R contiene il risultato aritmeticamente completo.
Il registro M conserva il suo contenuto.

Risultato
Istruzione Fase 1 Fase 2 richiesto completo

- A-M A R
R- R M A-M A R
A- A M A-M A R
b- b M A-M A R
B- B M A-M A R
c- c M A-M A R
C- C M A-M A R
d- d M A-M A R
D- D M A-M A R

From the original Italian Manual - (L.C. Sept 2017)


e- e M A-M A R
E- E M A-M A R
f- f M A-M A R
F- F M A-M A R

Esempio decimali 2
M A R B
prima 5.4321 8,4397 9 6,18
B-
dopo 6.18 2,25 2,2597 6,18
(pag. 16)
MOLTIPLICAZIONE x
Un'istruzione contenente la funzione « x » fa eseguire la moltiplicazione tra il contenuto del re-
gistro A e quello del registro selezionato. Il risultato è ottenuto con il suo segno algebrico.
Il registro M non richiede una selezione esplicita. L'istruzione è eseguita in due fasi:
1a fase: scrittura in M della cifra contenuta nel registro selezionato.
2a fase: moltiplicazione del contenuto di A per quello del registro M.
Il risultato, dopo l'operazione, è nel registro A, con il numero di decimali predisposto.
Il registro R contiene il risultato completo.
Il registro M conserva il suo contenuto.

Risultato
Istruzione Fase 1 Fase 2 richiesto completo

x AxM A R
Rx R M AxM A R
Ax A M AxM A R
bx b M AxM A R
Bx B M AxM A R
cx c M AxM A R
Cx C M AxM A R
dx d M AxM A R
Dx D M AxM A R
ex e M AxM A R
Ex E M AxM A R
fx f M AxM A R
Fx F M AxM A R

Esempio decimali 2
M A R B
prima 5.4321 6,18 9 8,4397
B-
dopo 8,4397 52,15 52,157346 8,4397

DIVISIONE :
Un'istruzione contenente la funzione « : » fa eseguire la divisione del contenuto del registro A
per il contenuto del registro selezionato. Il risultato è ottenuto con il suo segno algebrico.
Il registro M non richiede una selezione esplicita. L'istruzione e eseguita in due fasi:
1 a fase: scrittura in M della cifra contenuta nel registro selezionato.
2 a fase: divisione del contenuto di A per quello del registro M.
Il risultato, dopo l'operazione, è nel registro A, con il numero di decimali predisposto.
Il registro R contiene il resto della divisione.
Il registro M conserva il suo contenuto.

From the original Italian Manual - (L.C. Sept 2017)


Istruzione Fase 1 Fase 2 Quoziente Resto

: A:M A R
R: R M A:M A R
A: A M A:M A R
b: b M A:M A R
B: B M A:M A R
c: c M A:M A R
C: C M A:M A R
d: d M A:M A R
D: D M A:M A R
e: e M A:M A R
E: E M A:M A R
f: f M A:M A R
F: F M A:M A R

Esempio decimali 2
M A R B
prima 5.4321 15,3786 9 3,25
B-
dopo 3,25 4,73 0,0061 3,25

(pag. 17)
RADICE QUADRATA √
Un'istruzione contenente la funzione «√» fa eseguire l'estrazione della radice quadrata del va-
lore assoluto del contenuto del registro selezionato.
Il registro M non richiede una selezione esplicita. L'istruzione è eseguita in due fasi:
1 a fase: scrittura in A della cifra contenuta nel registro selezlonato.
2 a fase: estrazione della radice quadrata del valore assoluto del contenuto di A.
Il risultato, dopo l'operazione, è nel registro A, con il numero di decimali predisposto.
Il registro R contiene un dato non significativo.
Il registro M contiene il doppio della radice.

Risultato
Istruzione Fase 1 Fase 2 Richiesto

√ √A A
R√ R M √A A
A√ A M √A A
b√ b M √A A
B√ B M √A A
c√ c M √A A
C√ C M √A A
d√ d M √A A
D√ D M √A A
e√ e M √A A
E√ E M √A A
f√ f M √A A
F√ F M √A A

Esempio decimali 2
M A R B
prima 5,28 9,24 4 25,3214
B√
dopo 10,06 5,03 - 25,3214

From the original Italian Manual - (L.C. Sept 2017)


VALORE ASSOLUTO A↕

L'istruzione A ↕ permette di determinare il valore assoluto del contenuto del registro A.


Il contenuto di A, se negativo, diviene positivo.
I registri M ed R conservano il loro contenuto.

Esempio decimali 2
M A R B

prima 8 -3,26 5.47 32,12


A↕
dopo 8 3,26 5,47 32.12

FUNZIONI DI TRASFERIMENTO

TRASFERIMENTO DA M

Un'istruzione contenente la funzione « » fa scrivere il contenuto di M nel registro selezionato.


Il registro M mantiene il proprio contenuto.

Istruzione Risultato

↑ non opera
R↑ non opera
a↑ costanti in M (vedi pag. 21)
A↑ codifica costanti (vedi pag. 21)
b↑ M b
B↑ M B
c↑ M c
C↑ M C
d↑ M d
D↑ M D
e↑ M e
E↑ M E
f↑ M f
F↑ M F

Esempio
M A R B

prima 14.6 32,6 17 12,15


B
dopo 14,8 32.5 17 14,8

(pag. 18)
TRASFERIMENTO IN A

Un'istruzione contenente la funzione « » fa scrivere in A il contenuto del registro selezionato,


senza cancellarla dal registro d'origine.

Istruzione Risultato

↓ M A
R↓ R A
A↓ non opera
b↓ b A
B↓ B A

From the original Italian Manual - (L.C. Sept 2017)


c↓ c A
C↓ C A
d↓ d A
D↓ D A
e↓ e A
E↓ E A
f↓ f A
F↓ F A

Esempio
M A R B

prima 32,15 10,3 4 15,3


B
dopo 32,15 15,3 4 15,3

SCAMBIO CON A ↕
Un'istruzione contenente la funzione «↕» comanda lo scambio del contenuto di A con quello
del registro selezionato.

Istruzione Risultato

↕ M↓A
R↕ (opera come R↓A) R A
A↕ valore assoluto
b↕ b↔A
B↕ B↔A
c↕ c↔A
C↕ C↔A
d↕ d↔A
D↕ D↔A
e↕ e↔A
E↕ E↔A
f↕ f↔A
F↕ F↔A

Esempio
M A R B

prima 32,15 18,6 14,3 17,51


B↕
dopo 32,15 17,51 14,3 18,6

PARTE DECIMALE DI A IN M /↕

L'istruzione /↕ fa scrivere in M la parte decimale del contenuto di A, che non viene modificato.

Esempio
M A R B

prima 2,6 5,231 21,8 12


/↕
dopo 0,231 5,231 21,8 12

From the original Italian Manual - (L.C. Sept 2017)


FUNZIONI LOGICHE

Le funzioni logiche consentono di interrompere l’esecuzione sequenziale delle istruzioni e di ri-


prenderla da un punto del programma diverso e determinato in precedenza.
Ciò offre la possibilità di eseguire parti diverse del programma in base a decisioni dell'operato-
re o del calcolatore.
Le funzioni logiche possono essere usate per:

1. creare dei «cicli» che permettono di ripetere l’esecuzione di una sequenza di calcolo nel
corso di un programma
2. scegliere programmi o sottoprogrammi diversi, a discrezione dell'operatore
3. scegliere programmi o sottoprogrammi diversi, a seconda del valore di un dato, in base
ad una scelta automatica del calcolatore.

Le funzioni logiche sono di 2 tipi:

• Salti incondizionati

• Salti incondizionati
(pag. 19)
Ogni funzione logica richiede l'uso di 2 istruzioni:

• istruzione di origine: nel punto in cui si deve interrompere la sequenza

• istruzione di destinazione: nel punto in cui si deve riprendere la sequenza.

Per raggiungere un unico punto di destinazione da diversi punti di origine, viene utilizzata per
ogni punto la stessa istruzione di origine.
Ogni istruzione di destinazione non può essere; utilizzata che una sola volta per ciascun pro-
gramma. Dopo ogni istruzione di origine la ricerca dell'istruzione di destinazione corrisponden-
te comincia a partire dall'istruzione n. 1 del programma. Se per errore sono state poste due o
più istruzioni di destinazione uguali, il calcolatore si porterà sempre sulla prima ignorando le
successive.

SALTI INCONDIZIONATI

Le istruzioni di salto incondizionato determinano sempre l'abbandono della sequenza all'istru-


zione di origine per riprenderla all'istruzione di destinazione.
Possono essere usate 16 diverse coppie di istruzioni di salto incondizionato:

Origine Destinazione
V AV
W AW
Y AY
Z AZ
CV BV
CW BW
CY BY
CZ BZ
DV EV
DW EW
DY EY
DZ EZ
RV FV
RW FW
RY FY
RZ FZ

From the original Italian Manual - (L.C. Sept 2017)


Per rappresentare le suddette coppie di istruzioni si può adottare la seguente forma abbrevia-
ta:

∆ A∆
C∆ B∆ ∆ = V, W, Y, Z
D∆ E∆
R∆ F∆

Le prime 4 istruzioni corrispondono ai 4 tasti di selezione presenti in tastiera e sono normal-


mente usate per l'avvio di un programma o per la selezione manuale di un sottoprogramma.
I 4 tasti sono posizionati in corrispondenza dell'uscita della scheda; la loro selezione può esse-
re indicata nella corrispondente casella sulla scheda stessa.

SALTI CONDIZIONATI

Le istruzioni di salto condizionato determinano l'abbandono della sequenza all'istruzione di ori-


gine, per riprenderla all'istruzione di destinazione, in base al contenuto del registra A.
Se A> 0 la sequenza di istruzioni viene abbandonata fino alla corrispondente istruzione di de-
stinazione.
Se A ≤ 0 la sequenza di istruzioni continua ad essere svolta secondo l'ordine normale.
E’ possibile ottenere una successiva discriminazione tra A < 0 ed A = 0. Con l'istruzione valore
assoluto (A ↕), il contenuto di A viene trasformato, se negativo, in positivo, rimanendo invece
immutato se è uguale a zero.
Un'istruzione di salto condizionato esamina il contenuto di A: se è positivo viene abbandonata
la sequenza normale delle istruzioni. In caso contrario la sequenza continua con l'istruzione
A↕.
Una seconda istruzione di salto condizionato esamina il contenuto di A. Se la sequenza viene
interrotta, il contenuto iniziale di A era negativo (trasformato in positivo con istruzione A ↕).
Se invece continua, il contenuto iniziale di A era zero. (pag. 20)
Qualora necessario, il programma provvede successivamente a ripristinare il contenuto alge-
brico di A. Possono essere usate 16 diverse coppie di salti condizionati:

Origine Destinazione
/V aV
/W aW
/Y aY
/Z aZ
cV bV
cW bW
cY bY
cZ bZ
dV eV
dW eW
dY eY
dZ eZ
rV fV
rW fW
rY fY
rZ fZ

Per rappresentare le suddette coppie di istruzioni si può adottare la seguente forma abbrevia-
ta:

/∆ a∆
c∆ b∆ ∆ = V, W, Y, Z
d∆ e∆
r∆ f∆

From the original Italian Manual - (L.C. Sept 2017)


FUNZIONI Dl SERVIZIO

AZZERAMENTO *
Un'istruzione contenente la funzione «*» comanda l'azzeramento del registro selezionato.
Questa istruzione non opera su M ed R.

Esempio
M A R B

prima 3,5 12,71 12,7114 18


B*
dopo 3,5 12,71 12,7114 0

STAMPA

Un'istruzione contenente la funzione « » comanda la stampa del contenuto del registro sele-
zionato.

STOP S
L'istruzione «S» arresta lo svolgimento del programma, riattiva la tastiera, e permette:

1. l'impostazione dei dati variabili


2. la selezione di un sottoprogramma
3. l’uso manuale del calcolatore

Per riavviare il programma occorre premere il tasto «S» oppure il tasto di selezione di un sot-
toprogramma.

INTERLINEA /
L'istruzione «/ » fa avanzare di un'interlinea senza stampa la striscia di carta.
L'interlinea avviene automaticamente dopo ogni operazione dl stampa.

COSTANTI

Il calcolatore Olivetti Programma 101 può registrare su scheda magnetica, oltre alle istruzioni
anche dati numerici e costanti utilizzati nel corso di un programma. La registrazione di costanti
su scheda può avvenire in 2 modi:

• Costanti nei registri numerici


• Costanti come istruzioni.

COSTANTI NEI REGISTRI NUMERICI

Quando dei dati numerici siano stati introdotti nei registri D, d, E, e, F, f, essi possono essere
direttamente registrati su scheda magnetica, insieme alle istruzioni di programma. (pag. 21)

From the original Italian Manual - (L.C. Sept 2017)


In fase di lettura della scheda gli stessi dati vengono nuovamente trasferiti nei registri d'origi-
ne.
E’ quindi possibile registrare sino a 3 dati di 22 cifre, oppure sino a 6 dati di 11 cifre, od ogni
altra combinazione alternativa.
I dati numerici possono essere conservati soltanto nei registri che non contengono istruzioni,
tenendo presente che la sequenza delle istruzioni procede da F verso D.
Queste possibilità di memorizzazione si usano generalmente quando i dati da registrare abbia-
no molte cifre e/o vengano utilizzati più volte nel corso del programma.

COSTANTI COME ISTRUZIONI

Questo metodo consente di registrare dati numerici sotto forma di istruzioni di programma.
Ogni cifra è rappresentata da un'istruzione; queste istruzioni - compilate automaticamente nel
modo descritto più avanti - sono precedute, nel programma, dall'istruzione «a », che serve a
qualificarle come dati numerici, anziché come funzioni operative.
Quando il programma viene eseguito il dato numerico è formato nel registro M e può quindi
essere direttamente utilizzato per le successive operazioni previste dal programma.
Questa metodo è generalmente usato per la registrazione di dati numerici composti da poche
cifre e/o da utilizzare una sola volta nel corso dello stesso ciclo operativo.
Per la compilazione automatica delle istruzioni corrispondenti ai dati numerici da registrare, si
opera come segue:

1. inserire il comando «stampa programma»


2. premere l'annullatore generale
3. impostare il dato nella tastiera numerica.
4. premere nell'ordine: il tasto di indirizzo «A» e quello di trasferimento da M ( ).

Il calcolatore stampa il dato seguito dalla sequenza di istruzioni corrispondenti.


Le istruzioni sono generate partendo da quella relativa alla cifra meno significativa fino alla
prima cifra; la virgola nell’ambito dell'istruzione relativa alla cifra che la precede. L'istruzione
relativa all'ultima cifra contiene l'indicazione che segnala la fine del dato.

Esempio

impostando 3,14 A

il calcolatore scrive R+
R
d↕

La sequenza di istruzioni così compilata va inserita nel programma, alla posizione prevista,
preceduta ogni volta dall'istruzione «a ».

Esempio
M A R B
prima 25 15 15,25 33
a
R+
R
d↕
dopo 3,14 15 15,25 33

REGISTRI DIVISI

Come si è visto precedentemente i registri B, C, D, E, F, possono essere divisi in 2 parti, cia-


scuno con capacità di 11 cifre piu virgola decimale e segno algebrico.

From the original Italian Manual - (L.C. Sept 2017)


L'indirizzo della parte destra di ogni registro è ottenuto premendo il tasto con la lettera corri-
spondente, che identifica sia il registro intero che la sua parte destra.
L'indirizzo della parte sinistra di ogni registro è ottenuto premendo il tasto con la lettera corri-
spondente seguito dal tasto « / ». In stampa, il calcolatore identifica i registri interi o la parte
destra dei registri, quando divisi, con le lettere maiuscole, la parte sinistra con le lettere minu-
scole (esempio: c equivale a C/) (pag. 22)
Il calcolatore Programma 101 impedisce, segnalando errore, il trasferimento di un dato di più
di 11 cifre in un registro diviso, o l'uso di un registro diviso, quando lo stesso contenga un dato
con più di 11 cifre.
E’ possibile comunque usare, nel corso di un programma, il medesimo registro, sia intero che
diviso, in fasi diverse, servendosi dell'istruzione di azzeramento (*) prima di ogni passaggio
dall'una all'altra situazione.

Esempio
Nella 1a fase di un programma il registro B è impiegato (B, b).
Al termine di tale fase, l'istruzione b * azzera la parte sinistra del registro consentendo, nella
2a fase l'uso del registro intero.
Al termine della 2a fase, l'istruzione B * azzera l'intero registro consentendo nuovamente l'uso
del registro diviso per la 1a fase.

PREDISPOSIZIONE DEI DECIMALI

E’ possibile ottenere il numero di decimali desiderato nel risultato delle operazioni e nella
stampa del contenuto dei registri, predisponendo l'indicatore dei decimali.

OPERAZIONI ARITMETICHE

Addizione, sottrazione, moltiplicazione


Dopo l'operazione, il registro A contiene il risultato con il numero di decimali corrispondente al-
la posizione dell'indicatore.
Il registro R contiene il risultato completo.

Divisione
Dopo l'operazione, il registro A contiene il quoziente con il numero di decimali corrispondente
alla posizione dell'indicatore.
Il registro R contiene il resto della divisione.

Radice quadrata
Dopo l'operazione, il registro A contiene il risultato con il numero di decimali corrispondente al-
la posizione dell'indicatore.
Il registro R contiene un dato non significativo.

TRASFERIMENTI

La predisposizione dei decimali non opera quando i dati numerici vengono trasferiti da un regi-
stro a un'altro.

INTRODUZIONE DA TASTIERA

I dati introdotti da tastiera, premendo il tasto «S», o qualsiasi tasto operativo di funzione, sono
stampati esattamente come vengono impostati, indipendentemente dalla posizione dell'indica-
tore dei decimali; la virgola decimale si imposta nella sua naturale posizione, con il tasto appo-
sito.

From the original Italian Manual - (L.C. Sept 2017)


STAMPA

Il contenuto dei registri, sia interi che divisi, viene stampato con il numero di decimali corri-
spondente alla posizione dell'indicatore; fa eccezione il registro R, il cui contenuto è stampato
nella sua struttura completa, indipendentemente dalla posizione dell'indicatore.

From the original Italian Manual - (L.C. Sept 2017)


Norme operative

REGISTRAZIONE DEI PROGRAMMI

Quando il programma è stato codificato, la sua registrazione in memoria è ottenuta diretta-


mente da tastiera usando i tasti corrispondenti ai simboli delle istruzioni.
Dalla memoria il programma può quindi essere registrato sulla scheda magnetica.
Si opera nel seguente modo:

1. mettere in funzione il calcolatore

2. premere l'annullatore generale

3. inserire il comando «registrazione pro-


gramma»

4. impostare le istruzioni del programma


secondo la sequenza predisposta

5. ogni istruzione dopo che è stata comple-


tamente impostata in tastiera viene stam-
pata; quando l'istruzione ha un solo simbo-
lo, viene stampata preceduta da M

6. per correggere eventuali errori di impo-


stazione, premere il tasto annullatore di im-
postazione, che cancella l'ultima istruzione
completamente introdotta; oppure la parte
di istruzione già impostata, anche se non ancora completa. La zona stampata avanza automa-
ticamente di una interlinea per consentire l'identificazione dell'istruzione erroneamente impo-
stata
7. terminata l'introduzione delle istruzioni, disinserire il
comando «registrazione programma»

8. se il programma prevede costanti nei registri D, E, F,


impostare i dati in tastiera e trasferirli nei registri relativi.

Esempio

Per registrare 74,353 nel registro d, premere nell'ordine i


tasti:

From the original Italian Manual - (L.C. Sept 2017)


REGISTRAZIONE DEL PROGRAMMA SULLA SCHEDA MAGNETICA

Per registrare le istruzioni del programma su scheda magnetica:

1. inserire il comando «registrazione programma»

2. introdurre la scheda nell'apposita fessura


della unità di lettura e registrazione; il disposi-
tivo per il trascinamento automatico provvede
a far passare la scheda sotto la testina di lettu-
ra e registrazione del calcolatore che registra
nell'apposita pista magnetica le istruzioni con-
tenute in memoria

3. disinserire il comanda «registrazione pro-


gramma»

4. la scheda dopo la registrazione si presenta


in posizione di uscita da dove può essere e-
stratta.

STAMPA DEI PROGRAMMI

Quando il programma è registrato in memoria,


l’intera sequenza di istruzioni che lo compongono
può essere stampata.
Ciò consente un ulteriore controllo dell'esattezza
del programma e l'individuazione degli errori.

Si opera nel seguente modo:

1. inserire il comando «stampa programma»


2. premere il tasto di selezione inizio--programma;
viene stampato il simbolo corrispondente (istruzio-
ne di origine) ed omessa la stampa della prima i-
struzione (istruzione di destinazione). Segue quindi

From the original Italian Manual - (L.C. Sept 2017)


la stampa delle istruzioni del programma nella loro sequenza
3. la stampa si arresta dopo ogni istruzione di Stop; per riattivarla premere il tasto « »
4. terminata la stampa di tutte le istruzioni, disinserire il comando «stampa programma»
5. quando un programma viene letto da scheda magnetica, per ottenerne la stampa non è ne-
cessario premere il tasto che ne seleziona l’inizio. E’ sufficiente, dopo l'inserimento di «stampa
programma» premere il tasto « », inizialmente e dopo ogni istruzione di Stop.
Alla fine del programma, premendo il tasto « » viene stampato soltanto S.
Quando si comanda la stampa del programma la M non viene stampata.

LETTURA DEI PROGRAMMI

Per trasferire in memoria un programma registrato su scheda


magnetica) si opera nel seguente modo:

1. mettere in funzione il calcolatore

2. premere l'annullatore generale

3. disinserire i comandi «registrazione programma» e «stampa


programma»

4. inserire nell'unita di lettura e registrazione la scheda magneti-


ca. Il suo contenuto è registrato in memoria e la scheda può es-
sere lasciata o tolta.

From the original Italian Manual - (L.C. Sept 2017)


ESECUZIONE DEI PROGRAMMI

Per eseguire un programma, registrato in memoria direttamente dalla tastiera o letto dalla
scheda magnetica, si opera nel seguente modo:

1. i comandi «registrazione programma» e


«stampa da programma» devono essere di-
sinseriti

2. predisporre l'indicatore dei decimali

3. premere l'appropriato tasto di selezione


per avviare la sequenza di programma desi-

derata.
(pag. 27)
Lo svolgimento del programma avviene secon-
do quanto previsto dalle relative norme opera-
tive. La tastiera rimane bloccata automatica-
mente e si libera ad ogni istruzione di Stop per
permettere l'introduzione dei dati. Lo svolgi-
mento del programma riprende abbassando il
tasto «S».

From the original Italian Manual - (L.C. Sept 2017)


SCHEDA PARZIALE

E’ possibile registrare su scheda magnetica «parziale» istruzioni e/o dati numerici destinati ad
essere introdotti esclusivamente nei registri E, D, senza alterare il contenuto degli altri registri.
Tale procedura consente di:

1. utilizzare nel corso di un programma principale (massimo 72 istruzioni) diversi sottopro-


grammi (massimo 48 istruzioni), ciascuno dei quali è registrato su una scheda parziale. L'in-
troduzione di queste schede avviene in punti predeterminati del programma principale

2. introdurre da scheda magnetica, anziché da tastiera, dati numerici da elaborare. La scheda


parziale può contenere 2 dati numerici di 22 cifre oppure 4 di 11 cifre, più virgola e segno.

Per introdurre in memoria istruzioni destina-


te ad una scheda parziale si opera nel se-
guente modo:

1. inserire entrambi i comandi «registrazione


programma» e «stampa programma»

2. introdurre da tastiera le istruzioni nella lo-


ro sequenza; tali istruzioni vanno ad occupa-
re esclusivamente i registri E, D (da E verso
D).

Se occorre registrare dati numerici, questi


vengono trasferiti nei registri E, D con le
normali procedure, manualmente da tastiera
o mediante istruzioni di programma.

Per creare una scheda parziale si opera ad


seguente modo:

1. inserire i comandi «registrazione programma» e «stampa programma»

2. introdurre la scheda magnetica; il contenuto dei due registri E, D viene registrato sulla
scheda.

Per leggere una scheda parziale si opera nel


seguente modo: (pag. 28)

1. inserire il comando «stampa programma»

2. introdurre la scheda magnetica; il conte-


nuto della scheda è trasferito nei registri E,
D, senza alterare il contenuto degli altri re-
gistri.

ISTRUZIONE RS RS
Questa istruzione comanda il trasferimento del contenuto del registro D in R e viceversa; essa
ha caratteristiche speciali e può essere utilizzata nei seguenti due casi:

1. Programmi registrati su più schede, per conservare temporaneamente nel registro R dati o
risultati parziali contenuti nel registro D (D, d). Tale registro infatti, unitamente ai registri E ed
F, viene automaticamente azzerato non appena ha inizio la lettura di una scheda. Con l'istru-

From the original Italian Manual - (L.C. Sept 2017)


zione RS viene scambiato il contenuto dell’intero registro D - anche se diviso in D, d - con
quello del registro R, rendendo quindi possibile, nel passaggio da una scheda all’altra, la con-
servazione di dati e/o risultati parziali nel registro R, oltre che in M, A, B, C. L'istruzione RS è
posta alla fine della prima parte di programma registrata su una scheda e, per ripristinare la
situazione originale, all’inizio della parte di programma registrata sulla scheda successiva.
Tra la prima e la seconda istruzione RS non si può eseguire alcuna funzione aritmetica, di
stampa o di trasferimento, che interessi il registro R.

Esempio
situazione a fine scheda

M A R b B c C d D

13 11 20 17 19 8 3 31

istruzione RS

situazione all'inizio della nuova scheda

M A R b B c C d D

13 11 3 31 20 17 19 8

situazione all'inizio della nuova scheda

M A R b B c C d D

13 11 20 17 19 8 3 31

2. Programmi che usano il registro D, per istruzioni nella parte iniziale del programma e, suc-
cessivamente, per contenere dati numerici.

Un sistema interno di controlli impedisce che un registro contenente istruzioni venga usato per
accogliere dati.
Mediante le istruzioni R * ed RS, nell'ordine, è possibile liberare il registro D dalla parte di pro-
gramma in esso contenuta, dopo che è stata eseguita; il registro D può quindi essere utilizzato
nel successivo corso del programma per contenere dati numerici.
Le istruzioni R * ed RS vanno situate nel programma in posizione tale da essere eseguite dopo
le istruzioni contenute in D.
Si può in tal modo ottenere un programma di 120 istruzioni e, al tempo stesso, fare uso del
registro D come registro numerico.
Per ripetere il programma è necessaria ogni volta la lettura della scheda magnetica.
(pag. 29)
Esempi inizio fase 1
Istruzioni

1 AY Registri: 1,2, F, E
2 R*
3 RS
.
.
.
96 V
97 AV Registro: D
.
.

From the original Italian Manual - (L.C. Sept 2017)


.
120 Y

Dati numerici Registri C, B

Istruzioni

1 AY Registri: 1,2, F, E
2 R*
3 RS
.
.
.
96 V

Dati numerici Registri C, B, D

USO MANUALE

Il calcolatore può anche essere usato manualmente. Le diverse funzioni vengono comandate
premendo i tasti operativi nelle stesse combinazioni e con le stesse regole previste per la pro-
grammazione, con le seguenti eccezioni:

1. l'uso del tasto «S» non è mai richiesto, in quanto la tastiera, alla fine di ogni singola
operazione, è libera per ricevere l'impostazione di nuovi dati (pag. 29)

2. l'uso dei tasti di selezione non è mai richiesto data l'assenza di un programma

3. i risultati della moltiplicazione, divisione e radice quadrata vengono stampati automati-


camente;

4. i risultati dell'addizione e sottrazione vengono stampati premendo, nell'ordine, i tasti


«A» e « »
5. il tasto «*», premuto dopo il tasto di un registro, provoca l'azzeramento e la stampa
del contenuto del registro selezionato, ad eccezione dei registri M ed R, che non vengo-
no azzerati.

Il calcolatore può essere usato manualmente anche durante l'esecuzione di un programma,


quando una istruzione di Stop ne arresti lo svolgimento.
Questa caratteristica consente di eseguire calcoli del tutto indipendenti dal programma; occor-
re evitare l'uso dei registri il cui contenuto debba essere conservato per la prosecuzione del
programma.
Alla fine delle operazioni manuali, il programma può essere ripreso dal punto interrotto, con il
tasto «S», o con un tasto di selezione, secondo le norme operative del programma stesso.

CONTROLLI AUTOMATICI

Un sistema di controlli automatici interni in-


dica il corretto funzionamento di tutti gli or-
gani.

1. Il segnalatore di corretto funzionamento:


a luce verde, indica il funzionamento regola-
re del calcolatore (pag. 30) . In fase di attesa
dell'introduzione di dati la luce verde è fis-
sa; in fase di calcolo è intermittente.

From the original Italian Manual - (L.C. Sept 2017)


2. Il segnalatore di errore: a luce rossa, indica anomalie di funzionamento del calcolatore. Si
accende nei seguenti casi:

a) per indicare che la scheda magnetica è stata letta in modo non corretto o non è stata letta,
perchè danneggiata o introdotta irregolarmente. In questo caso bisogna ripetere l’operazione,
dopo aver verificato lo stato della scheda

b) «fuori capacità», derivante dall'esecuzione di operazioni (il contenuto originale dei registri A
ed R viene alterato o distrutto)

c) «fuori capacità» di un registro diviso, per


un trasferimento (il trasferimento non av-
viene)

d) divisione per zero (il contenuto originale


dei registri A ed R viene alterato o distrut-
to)

e) introduzione da tastiera di un dato ecce-


dente la capacità del registro. In questo ca-
so bisogna premere il tasto annullatore d'impostazione prima di introdurre un nuovo dato.

In casa di accensione del segnalatore di errore, è possibile ricercarne la causa nei seguenti
modi:

1. stampare il contenuto di tutti i registri

2. inserire il comando «stampa programma» e premere il tasto « ». Le istruzioni del pro-


gramma vengono stampate iniziando da quella immediatamente successiva a quella che ha
causato l'errore, che quindi può essere identificata.

3. stampare le istruzioni di tutto il programma.

From the original Italian Manual - (L.C. Sept 2017)


Esempio di applicazione

La soluzione di ogni problema può essere ottenuta sia con l'impiego programmato del calcola-
tore che con il suo uso manuale.

Dati 2 valori p e q, calcolare:

p + q = n1
p – q = n2
p x q = n3
n1 + n2 + n3 = N
se N > 0, calcolare √ N
se N ≤ 0, calcolare p : q

ESECUZIONE MANUALE

• Mettere in funzione il calcolatore.


• Premere il tasto annullatore generale.
• Disinserire il comanda «registrazione programma».
• Disinserire il comando «stampa programma».
• Predisporre l’indicatore dei decimali.

Introdurre p in b.
Introdurre q in B.
Trasferire p in A.
Sommare p + q = n1.
Stampa del risultato in A.
Scambio tra C cd A.
Trasferire p in A.
Sottrarre p – q = n2.
Stampa del risultato in A.
Accumulo dei risultati.
Scambio tra C cd A.
Trasferire p in A.
Moltiplicare p x q = n3.
Stampa del prodotto.
Accumulo dei risultati = N.
Stampa dell'accumulo in A.

Se positivo
Radice quadrata dell'accumulo N.
Stampa del risultato.

Se negativo
Trasferire p in A.
Dividere p : q.
Stampa del quoziente.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 32)

STESURA DEL PROGRAMMA

Inizio. Destinazione di salto incondizionato.


Azzeramento di C per l'accumulo dei risultati In-
troduzione della prima variabile p.
Trasferimento di p in b.
Introduzione della seconda variabile q.
Trasferimento di q in B.
Trasferimento di p in A.
Somma p + q = n1.
Stampa della somma.
Scambio tra C ed A (la somma in C).
Trasferimento di p in A.
Sottrazione p - q = n2.
Stampa del risultato della sottrazione.
Accumulo dei risultati.
Scambio tra C cd A (l'accumulo in C).
Trasferimento di p in A.
Moltiplicazione p x q = n3.
Stampa del prodotto.
Accumulo dei risultati = N.
Stampa dell'accumulo.
Istruzione di origine del salto condizionato.
Il salto non avviene: trasferimento di p in A.
Divisione p : q.
Stampa del quoziente.
Salto incondizionato per tornare all'inizio.
Istruzione di destinazione salto condizionato.
Radice quadrata dell'accumulo N.
Stampa del risultato della radice quadrata.
Salto incondizionato per tornare all'inizio del
programma.

Poiché le istruzioni per l'impiego manuale o a programma della macchina sono eguali (salvo le
istruzioni di salto e di stop per l'introduzione delle variabili), per verificare un nuovo program-
ma basta eseguire manualmente le istruzioni, controllando dopo ogni operazione il contenuto
dei registri.

From the original Italian Manual - (L.C. Sept 2017)


Tecniche di programmazione

Alcune espressioni matematiche di uso frequente possono essere facilmente risolte con le sot-
toelencate istruzioni (supponendo che il valore « a» ≠ 0 si trovi già nel registro A):

(a + 1) A: Divisione di a per se stesso, per creare 1 nel registro A.


+ Somma di 1 ad a per ottenere (a + 1) o (1 + a).

(a - 1) A: Divisione di a per se stesso, per creare 1 nel registro A.


↕ Scambio del contenuto di M (a) con il contenuto di A (I).
- Sottrazione di 1 da a (a - 1).

(1 - a) A : Divisione di a per se stesso, per creare 1 nel registro A.


- Sottrazione di a da 1 (1 - a).

a(1 +a) Ax Moltiplicazione di a per se stesso, per creare a2 nel registro A.


+ Somma di a (da M) con a2 per avere (a2 + a) che è equivalente ad
a(1 + a) o ad a(a + 1).

a(a -1) Ax Moltiplicazione di a per se stesso, per creare a2.


- Sottrazione di a da a2 (a2 - a) che è eguale ad a(a - 1).

a(1-a) Ax Moltiplicazione di a per se stesso, per avere a2.


↕ Scambio del contenuto di M (a) con il contenuto di A (a2).
- Sottrazione di a2 da a (a - a2) che e eguale ad a (1 - a).

ARROTONDAMENTO PER DIFETTO o PER ECCESSO

L'arrotondamento per difetto o per eccesso (a seconda della posizione dell'indicatore dei deci-
mali) si ottiene in addizione, sottrazione o moltiplicazione con la tecnica indicata nelle tabelle
che seguono. Si supponga che un determinato valore sia conservato nel registro B ed un se-
condo valore nel registro C.

Addi- Sottra- Moltipli-


zione zione cazione

B B B Trasferimento del primo valore nel registro A.


C+ C - C x Esecuzione dell'operazione
R- R - R - Sottrazione del risultato completo dal risultato troncato.
Trasferimento del risultato completo nel registro A
R - R - R - Sottrazione del resto negativo dal risultato completo
A A A Stampa del risultato arrotondato

Per ottenere in addizione, sottrazione o moltiplicazione, l'arrotondamento soltanto per eccesso


si impiega la seguente tecnica:

Addi- Sottra- Moltipli-


zione zione cazione

B B B Trasferimento del primo valore in A


C + C - C x Esecuzione dell'operazione
R+ R + R + Somma del risultato troncato con quello completo
↕ ↕ ↕ Trasferimento in A del risultato completo e in M della somma dei due risultati
- - - Sottrazione della somma dei due risultati da quello completo
+ + + Somma del risultato negativo della sottrazione alla somma dei due risultati
A A A Stampa del risultato arrotondato

From the original Italian Manual - (L.C. Sept 2017)


La sequenza di istruzioni che segue è usata per ottenere l'arrotondamento a valori determinati
(supponendo di scegliere a titolo di esempio il registro d per la memorizzazione di una costante
opportuna).

(pag. 34)
Contenuto del registro d Arrotondamento

0,2 a5
0,1 a 10
0.01 a 100

Addi- Sottra- Multipli-


zione zione zione

B B B Trasferimento del primo valore in A


C+ C - C x Esecuzione dell'operazione
D/x D/x D/x Moltiplicazione del valore da arrotondare per la costante di arrotondamento
R- R - R - Sottrazione del risultato completo dal risultato troncato.
Trasferimento del risultato completo nel registro A
R - R - R - Sottrazione del resto negativo dal risultato completo
D/: D/: D /: Divisione del risultato della sottrazione per la costante di arrotondamento
A A A Stampa del risultato arrotondato

L'arrotondamento per difetto o per eccesso dell'ultima cifra richiesta (secondo il posizionamen-
to dell'indicatore dei decimali) si ottiene in divisione con la seguente tecnica:
Se il divisore si trova nel registro B e il dividendo nel registro C, le istruzioni saranno le se-
guenti:

C Trasferimento del dividendo nel registro A.


B: Divisione del dividendo per il divisore.
R Trasferimento del resto nel registro A.
C + Somma del dividendo al resto.
R Trasferimento del dividendo, completo di decimali e sommato al resto, nel registro A.
B : Divisione del dividendo (più il resto) per il divisore.
A Stampa del quoziente arrotondato

Questa tecnica richiede 7 istruzioni.

Se il divisore si trova nel registro B e il dividendo nel registro A, le istruzioni saranno le se-
guenti:

A + Raddoppio del dividendo.


R Trasferimento del risultato completo nel registro A.
B : Divisione del divisore per il doppio del dividendo.
A/ Serie di istruzioni per creare 0,5 nel registro M.
R -
D/S
x Moltiplicazione del doppio del quoziente per 0,5.
R - Sottrazione del risultato completo da quello troncato.
Trasferimento del risultato completo nel registro A.
R - Sottrazione del resto negativo dal risultato completo.
A Stampa del quoziente arrotondato.

Questa sequenza richiede 10 istruzioni ed è consigliabile quando non vi sia sufficiente disponi-
bilità nei registri di deposito per contenere il dividendo. Per ottenere l'arrotondamento dopo
una moltiplicazione o divisione con un numero di decimali inferiori a quello predisposto con il
posizionamento dell'indicatore (ad esempio, l'arrotondamento a due decimali quando l'indicato-
re è a 5) si utilizzano le istruzioni che seguono. Al punto di inizio della sequenza di programma

From the original Italian Manual - (L.C. Sept 2017)


si supponga che l'operazione sia già stata completata e che il valore da arrotondare si trovi nel
registro A. Il registro d è usato per memorizzare 100.
(pag. 35)
D/x Moltiplicazione del contenuto di A per 100, per spostare i decimali.
/ ↕ Trasferimento della parte decimale del contenuto di A in M.
+ Somma della parte decimale al contenuto di A.
/ ↕ Trasferimento della parte decimale di A in M.
- Sottrazione della parte decimale dal contenuto di A.
D/: Divisione del contenuto del registro A per 102, per spostare i decimali.
A Stampa del risultato arrotondato.

Questa sequenza richiede 7 istruzioni ed un registro per contenere la costante 10n (dove n è
uguale al numero di decimali che si desidera ottenere nell'arrotondamento).

USO PROMISCUO DEI REGISTRI F, E, D PER MEMORIZZARE DATI E ISTRIONI

E' possibile utilizzare i registri F, E, D in modo promiscuo; sfruttare cioé le posizioni non occu-
pate da dati numerici per ospitare istruzioni. La tecnica qui illustrata consente di utilizzare cia-
scuno di questi registri (interi o divisi),
per dati e istruzioni, ed eseguire quindi
trasferimenti, operazioni aritmetiche o di
stampa sui dati memorizzati senza altera-
re le istruzioni e senza provocare l'accen-
sione della luce rossa dell'indicatore di er-
rore.
Il dato numerico (costante o dato inter-
medio) deve precedere le istruzioni, e
non deve superare la capacità assegnata-
gli. A tale scopo il registro deve essere
considerato capace di 24 posizioni: la se-
zione destra (F, E, D) contiene le posizio-
ni dall'1 al 12 e quella sinistra (f, e, d) dal
13 al 24.
Un numero di due cifre nella parte destra
occuperà ad esempio, le posizioni 1 e 2;
un numero di due cifre nella parte sinistra, le posizioni 13 e 14.
La tecnica da seguire per memorizzare in modo promiscuo istruzioni e dati nella stessa sezione
di registro è la seguente:

1. Le istruzioni devono essere impostate


nel modo usuale, con la differenza che in
questa caso occorre programmare tante
S quante saranno le cifre che si ritiene
comporranno il dato.

1. Per utilizzare la sezione sinistra


del registro (f, e, d) occorre pro-
grammare un segnale di Stop (S)
nella 12a posizione del registro
(1).
2. Per utilizzare la sezione destra (F,
E, D) occorre programmare uno
Stop (S) nella 24a posizione del
registro stesso (2).
3. L'istruzione immediatamente suc-
cessiva allo spazio riservato al
numero dev'essere o uno Stop

From the original Italian Manual - (L.C. Sept 2017)


(S) (3) o un'istruzione di destinazione di salta incondizionato avente «A» come parte
«indirizzo» (AV, AW, AY, AZ) (4).

L'istruzione che precede le posizioni destinate ad ospitare un numero può essere un'istruzione
qualsiasi di programma, ad eccezione di S. Normalmente sarà un'istruzione di origine di salto
incondizionato onde eludere durante l'esecuzione del programma le posizioni di memoria desti-
nate a dati numerici e continuare con le istruzioni successive (3 e 4).
(pag. 36)

GENERAZIONE DI COSTANTI

Per generare costanti decimali di lunghezza pari a quella stabilita con il posizionamento dell'in-
dicatore dei decimali (ad esempio la costante 0,0003 con l'indicatore dei decimali posizionato a
4, supponendo che il registro C contenga un dato > 0), si utilizzano le seguenti istruzioni:

A/ Sequenza speciale per generare la costante 3 nel registro M.


D/↕
Trasferimento di 3 nel registro A.
A/ Sequenza per generare la costante 0,1 in M.
R
D/ S
B/ V Destinazione di salto condizionato (C/V) quando il contenuto di A è >0.
C ↕ Trasferimento del contenuto di A in C e di quello di C in A.
x Moltiplicazione del nuovo contenuto di A per 0,1.
C/V Confronto e salto se il risultato è > 0
A Stampa della costante generata quando A = O.

La sequenza sopra descritta richiede la disponibilità di un registro per memorizzare la costante


e le istruzioni per generarla.
Ove occorra invece creare una costante con un numero di decimali superiore di una unità a
quello predeterminato dall'indicatore dei decimali (creare ad esempio la costante 0,00005
quando l'indicatore dei decimali è a 4) le istruzioni da programmare saranno le seguenti:

A/ Sequenza speciale per creare 5 nel registro M.


D/-
Trasferimento di 5 nel registro A.
A/ Sequenza per generare la costante 0,1 in M.
R
D/ S
F/ Z Destinazione di salto condizionato da R / Z quando A > 0.
x Moltiplicazione del contenuto di A per 0,1
R/ Z Confronto e salta se A>0.
R Trasferimento del contenuto di R in A, per A=0.
C ↕ Trasferimento del contenuto di A in C, che memorizzerà così la costante desiderata.

La sequenza sopra descritta richiede la disponibilità di un registro per memorizzare la costante


che viene creata e 11 istruzioni per crearla.

PROGRAMMAZIONE DI UN CONTATORE

Un contatore che permetta l'interruzione dell’esecuzione di una sequenza ciclica allorché sia
stata eseguita n volte, può essere realizzato sia per successivi incrementi che per successivi
decrementi.
Nel primo caso (supponendo che il numero n sia già memorizzato nel registro B, che il registro
C sia già stato azzerato, la sequenza di istruzioni sarà la seguente:

From the original Italian Manual - (L.C. Sept 2017)


(pag. 37)

A/V Destinazione di salto condizionato / V quando il valore n, diminuito del contenuto del contatore, sia
> 0.
B Trasferimento del valore n in A.
A : Divisione del contenuto di A per se stesso (n : n = 1); si crea così il valore 1 che permette
l'aggiornamento del contatore di una unità ad ogni ciclo.
C + Somma del contenuto di C con il contenuto di A (incremento di una unità del contatore).
C ↕ Scambio del contenuto di C con quello di A.
B n in A.
C - n - il valore del contatore.
/V Confronto e salto se il contenuto di A è > 0.
…… Proseguimento delle istruzioni, per A = 0.

Alla fine della sequenza, il registro B conterrà ancora n.

Per programmare invece un contatore che funzioni per decrementi successivi la sequenza sarà
la seguente (supponendo che n sia memorizzato nel registro B e nel registro A):

A/V Destinazione di salto condizionato / V quando il valore del registro A sia > 0.
B Trasferimento di n nel registro A.
A : Creazione del valore 1 (n : n = 1) che permette l'aggiornamento del contatore di una unità ad ogni
ciclo.
B ↕ Scambio del contenuto di B con quello di A.
B - n - 1 (aggiornamento del contatore).
B ↕ Scambio del contenuto di B con quello di A (n - 1 in B).
B n - 1 in A.
/ V Confronto e salto se n - 1 > 0.
…… Proseguimento delle istruzioni, per n - 1 = 0.

Alla fine della sequenza il registro B non conterrà più il valore n, che sarà stato annullato.

REGISTRAZIONE DI PIU' DATI IN UN UNICO REGISTRO

Spesso si ha la necessità di memorizzare più dati di poche cifre (ad es. costanti) in un unico
registro. Si debbano ad esempio memorizzare in un unico registro le costanti 453, 281, 397 e
24. Per far ciò occorrerà memorizzare nel registro voluto (ad es., D) il numero composto
453281397,024. Lo zero è stato aggiunto nell'ultimo dato (prima di 24) per fare in modo che
ogni costante abbia lo stesso numero di cifre. Creando ed utilizzando il numero 0,001 sarà
possibile isolare ciascuna delle costanti che sono riunite nel numero composto, dividendo ogni
volta tale numero per mille. Il numero che si desidera isolare si troverà, al termine di ogni divi-
sione, nel registro R.

A V Destinazione di salto incondizionato.


D Trasferimento in A del numero composto.
C ↕ Scambio del contenuto di C con quello di A.
B V Destinazione di salto incondizionato C V.
C Trasferimento del numero composto in A.
/ V Confronto e salto se il contenuto di A> O.
/ Interlinea.
V Ritorno all'inizio.
A/V Destinazione di salto condizionato
↕ Parte decimale di A in M.
C Trasferimento e memorizzazione in C della parte decimale di A (precedentemente trasferita in M).
- Sottrazione della parte decimale dal numero composto.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 38)
A/ Sequenza speciale per creare la costante 0,001 in M.
R
R S
R S
D/S
x Moltiplicazione per spostare la virgola decimale di 3 posizioni verso sinistra.
R Trasferimento del prodotto completo in A.
C ↕ Scambio del contenuto di C (parte decimale) con quello di A (parte rimanente del numero
composto).
: Divisione della parte decimale per trasformarlo in numero intero,
S Impostazione di dati.
x Moltiplicazione.
A Stampa del risultato.
/ Interlinea.
C V Origine di salto incondizionato (ritorno a B V).

TECNICA DI ROTAZIONE DEI REGISTRI

Le sequenze di programma qui riportate illustrano una particolare procedura che viene chiama-
ta anche «tecnica di rotazione dei registri» e che è particolarmente utile in talune applicazioni
(ad esempio, una media mobile) nelle quali l'introduzione di ogni successivo termine sposta il
contenuto di ogni registro in un senso prestabilito mandandolo ad occupare il registro adiacen-
te.
Si supponga ad esempio di calcolare una media mobile dove N=5:

AV Destinazione di salto incondizionato


S Impostazione di n1
D/ Memorizzazione di n1
S Impostazione di n2
D Memorizzazione di n2
S Impostazione di n3
E/ Memorizzazione di n3
S Impostazione di n4
E/ Memorizzazione di n4
B V Destinazione di salto incondizionato
/ Interlinea.
S Impostazione di n5
Trasferimento di n5 in A.
E ↕ Tecnica di rotazione (sinistrorsa).
E/↕
D ↕
D/↕
C ↕
E Trasferimento di n5 in A.
E /+ n5 + n4
D + n5 + n4+n3
D/+ n5 + n4+n3+n2
C + n5 + n4+n3+n2+n1 = Σ ni
C /↕ Trasferimento della Σ ni in c
A/ Creazione di N=5
D/-
B Memorizzazione di N in B
C/ Trasferimento della Σ ni in A
B : Σ ni : N = media mobile
R Arrotondamento in divisione
C/ :

From the original Italian Manual - (L.C. Sept 2017)


R
B :
A Stampa del risultato arrotondato
CV Origine del salto incondizionato
(pag. 39)

Gli spostamenti provocati dalla suddetta tecnica appaiono chiaramente dalla seguente tabella
che mostra la situazione di tutti i registri ad ogni istruzione:

PROGRAMMI SU PIU' SCHEDE

Ci si trova spesso di fronte a programmi complessi, che richiedono più di 120 istruzioni.
In tal caso occorre spezzare il programma in più parti, ciascuna delle quali, preposta all'esecu-
zione di una determinata sequenza, viene registrata in memoria dopo l’esecuzione della prece-
dente.
Poiché soltanto cinque dei registri del calcolatore sono interessati nella registrazione di una
scheda magnetica, gli altri cinque possono essere utilizzati per accogliere fino ad otto dati in-
termedi e conservarli per ulteriore elaborazione.
Per collegare più schede in un'unica sequenza di programma occorre interromperlo in un punto
conveniente dopo aver memorizzato nei registri M, A, R, B, C, i dati da utilizzare in seguito. Si
supponga che si siano memorizzati i dati intermedi, per le successive elaborazioni, nei seguenti
registri:

Prima
M A R b B c C D E F

n Σx Σy Σx2 Σ y2 Σ xy

Occorrerà in tal caso aggiungere al programma una serie di istruzioni simili a quelle qui elenca-
te, cosicché l'operatore, dopo aver introdotto tutti i valori x ed y, prema il pulsante di selezione
Z per trasferire e memorizzare i risultati intermedi prima del cambio di scheda.

AZ

From the original Italian Manual - (L.C. Sept 2017)


E+ Trasferimento da E ad M
RS Trasferimento da D ad R

F Trasferimento da F ad A

Dopo

M A R b B c C D E F
Σ y2 Σ xy Σx2 n Σx Σy

AV
RS
F↕
E

La prima serie di istruzione della scheda successiva deve contenere un’istruzione RS (per ritra-
sferire il contenuto di R al registro D prima di qualsiasi operazione aritmetica o di trasferimento
che interessi il registro R) seguita da due istruzioni di trasferimento per ricostituire la situazio-
ne originale.

From the original Italian Manual - (L.C. Sept 2017)


Appendice

SOSTITUZIONE DEL NASTRO

1. Togliere la copertura del dispositivo


di stampa, sollevandola dalla parte
superiore.
2. Premere il tasto libera-carta e sfilare
il nastro stampa dal cilindro di scrit-
tura.
3. Alzare e portare in avanti il supporto
del rotolo di carta.

4. Alzare il tegolino che copre le bobine.


5. Allontanare e premere le levette per liberare
le bobine.
6. Avvolgere il nastro usato su una sola bobi-
na.
7. Sostituire con una bobina nuova quella su
cui si è avvolto il nastro.
8. Avvolgere per alcuni giri il nastro nuovo sul-
la bobina libera, dopo averlo fatto passare
intorno agli appositi rullini e sul cilindro di
scrittura.
9. Abbassare il tegolino.

SOSTITUZIONE DEL ROTOLO DI CARTA

1. Premere il tasto libera-carta (c) e sfi-


lare la striscia di carta dal cilindro di
scrittura.
2. Tirare verso l'esterno il perno porta-
rotolo (a) e montare il nuovo rotolo.
3. Inserire la striscia di carta sotto il ci-
lindro di scrittura facendola passare

sopra la sbarretta a molla (b) e sotto la ta-


glierina trasparente.
4. Mettere in funzione il calcolatore.
5. Premere il comando per l'avanzamento della
carta, che sblocca il libera-carta.

From the original Italian Manual - (L.C. Sept 2017)


(pag. 41)

DIMENSIONI ED INSTALLAZIONE

Alimentazione elettrica: 50 Hz
110/220 Volt
350 Watt (circa)

Dimensioni

Altezza: 19 cm.
Larghezza: 48 cm.
Profondità: 61 cm
Peso: 35,5 kg.

Non è richiesto alcun condizionamento dell'ambiente in


cui il calcolatore deve funzionare.

MATERIALI D'USO

Rotolo di carta: larghezza mm. 90


diametro esterno max. mm. 90
lunghezza m. 60.
Nastro di scrittura: nylon nero
altezza mm. 13
diametro bobina mm. 40.

SCHEDE PROGRAMMA

• Supporto di Mylar (polimero tipo nylon) con


una facciata ricoperta di sostanza ferromagne-
tica.
• Piste per la registrazione di due programmi di
120 istruzioni ciascuno.
• Dimensioni mm. 240 x 70.
• Bustina protettrice della scheda in cartoncino
con spazio bianco sulle due facciate per la de-
scrizione dei programmi.

From the original Italian Manual - (L.C. Sept 2017)


Indice analitico

A I
Addizione 15 Impostazione (annullatore di) 12
Annullatore di impostazione 12 Indicatore dei decimali 13,22
Annullatore generale 13 Indirizzo (tasti di) 13
Applicazione (esempio di) 31 Installazione 41
Arrotondamento per difetto o per Interlinea 19
eccesso 33 Interruttore dell'alimentazione 11
Azzeramento (funzione di) 18 Introduttore per la scheda magnetiche 11
Azzeratore 13 Istruzione RS 28
Istruzioni di destinazione 19,20
C Istruzioni di origine 19,20
Codifica costanti 17,21 Istruzioni di programma 14
Comando manuale per l'avanzamento
della carta 11 L
Contatore (programmazione di un) 36 Lettura dei programmi 26
Controlli automatici 29 Libera-carta (comando) 11
Costanti (codifica e richiamo) 17,20,21
M
D Materiali d'uso 41
Decimali (indicatore dei) 13 Memoria 9
Decimali (predisposizione dei) 13,22 Moltiplicazione 16
Dimensioni 41
Divisione 16 N
Divisione dei registri 10 Nastro (sostituzione del) 40

E O
Esecuzione dei programmi 26 Operazioni aritmetiche 14,22
Operazioni aritmetiche (tasti delle) 13
Origine (istruzioni di) 19,20

F P
Funzione di azzeramento 18 Parte decimale di A in M 18
Funzioni aritmetiche 14 Predisposizione dei decimali 22
Funzioni di servizio 14 Programma (stesura del) 32
Funzioni logiche 14, 19 Programmazione 14
Fuori capacita 30 Programmi (esecuzione dei) 26
Programmi (lettura dei) 26
G Programmi (registrazione dei) 23
Programmi su più schede 28,39
Generazione di costanti 36 Programmi (stampa dei) 13,25

From the original Italian Manual - (L.C. Sept 2017)


(pag. 44)
R Tasti di trasferimento 13
Radice Quadrata 17,22 Tastiera 9,12
Registrazione dei programmi 13,23 Tastiera numerica 12
Registrazione di piu dati in un unico Tastiera (sblocco della) 13
registro 37 Tecnica di rotazione dei registri 38
Registri divisi 10,21,22 Tecniche di programmazione 33
Registri (indirizzo dei) 13 Trasferimento da M 17
Registri numerici 9, 10 Trasferimento (funzioni di) 14,17
Registri operativi 9,10,14 Trasferimento in A 18
Registri programma 9,10 Trasferimento (tasti di) 13
Rotazione dei registri (tecnica di) 38
Rotolo di carta (sostituzione del) 40 U
Unità aritmetico-logica 9
S Unità di governo 9
Salti condizionati 19,20 Unità di lettura e di registrazione
Salti incondizionati 19 della scheda magnetica 9,24,26
Sblocco della tastiera 13 Unità di stampa 9
Scambio con A 18 Uso manuale 29,31
Scheda magnetica 9,11,14,20,23,24, Uso promiscuo dei registri F, E, D per
26,27,28,30,34,41 dati e istruzioni 35
Scheda parziale 27
Segnalatore di corretto funzionamento 11,29 V
Segnalatore di errore 11, 30 Valore assoluto 17
Segno algebrico negativo 14
Selezioni di programma 12,26,29
Sostituzione del nastro 40
Sostituzione del rotolo di carta 40
Sottoprogrammi 19,20,27
Sottrazione 15
Split 10,21
Split (tasto) 12
Stampa 12,14,18,22,25,30
Stampa (comando di) 12
Stampa dei programmi 13, 21, 25, 30
Start (comando) 12
Stesura del programma 32
Stop 19
Stop (comando) 12
Supporto del rotolo di carta 11

T
Tasti delle operazioni aritmetiche 13
Tasti di indirizzo 13

From the original Italian Manual - (L.C. Sept 2017)

Potrebbero piacerti anche