2 bits di mantissa e 3 di esponente = 0 = = = = 0.25 = = = = 0.5 = = 0.75 = = 1 = 1.25 = 1.5 = 1.75 = 2 = 2.5 = 3 = 3.5 = 4 = 5 = 6 = 7 = 8 = 10 = 12 = 14 = 16 =
Siccome -2≤e≤3:
In generale, con h bit per la mantissa:
Per i numeri piccoli con h bit per la mantissa e k bit per l’esponente: Per i numeri grandi:
Nel nostro esempio abbiamo k = 3 ed h = 2
Rappresentazione dei caratteri in generale viene usata la codifica ASCII: ogni carattere è rappresentato da 1 byte: 256 caratteri. Questo basta per: a...z A...Z , ; : ( ) = e per caratteri di controllo: enter, tab...
wide characters nel caso sia necessario rappresentare più caratteri, ad esempio gli ideogrammi cinesi, esiste una codifica che associa 2 bytes ad ogni carattere. In questo modo si rappresentano caratteri diversi
LINGUAGGIO MACCHINA e ASSEMBLER Una CPU “MINIMA” Il linguaggio macchina di “MINIMA” Il linguaggio Assembler per “MINIMA”
BUS Dati Programma in linguaggio macchina RAM P IP CICI CPU R0R ALU ALU riconosce la prossima istruzione e chiama il C I corrispondente R1R1 R7R7 RC
4 tipi di istruzioni macchina: 1)di trasferimento tra RAM e registri di calcolo della CPU 2)aritmetiche: somma,differenza, moltiplicazione, e divisione 3)di input/output 4)di controllo (confronto, salto e stop)
Istruzioni di trasferimento: registri RAM ALU R0R0 R1R1 R2R2 LOAD STORE P IP LOAD 15 STORE LOAD 43 STORE 17
Formato: in binario! codice-op n. registro indirizzo parola RAM 8 bit 4 bit 20 bit 1 parola LOAD STORE Codici: Esempio:
ARITMETICHE eseguono somma, differenza, moltiplicazione e divisione usando i registri come operandi ADD FADD SUB FSUB MULT FMULT DIV FDIV MOD RiRi RjRj CICI
FORMATO: codice-op reg 1 reg 2 8 bit 4 bit 4 bit inutilizzati 1 parola xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx Esempio:
Istruzioni di input/output: unità I/O RAM READ WRITE
Formato codice-op n. unità indirizzo parola RAM 8 bit 4 bit 20 bit 1 parola READ WRITE Codici:Unità: STINP 0000 STOUT Esempio:
Confronto paragona il contenuto di 2 registri R i ed R j e: se R i < R j mette -1 nel registro RC se R i = R j mette 0 in RC se R i > R j mette 1 in RC RiRi RjRj C Cf RC COMP FCOMP Codici:
FORMATO codice-op reg 1 reg 2 8 bit 4 bit 4 bit inutilizzati 1 parola xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx Esempio:
Salto istruzioni che permettono di saltare ad un’altra istruzione del programma a seconda del contenuto di RC (cioè a seconda del risultato di un confronto) BRLT BRNE BRLE BRGE BREQ BRGT BRANCH Anche salto incondizionato!
FORMATO codice-op indirizzo RAM 8 bits inutilizzati 20 bit 1 parola xxxx xxxx Esempio:
STOP termina il programma STOP Codice:
FORMATO codice-op 8 bits inutilizzati 1 parola xxxxxxxxxxxxxxxxxxxxxxxx Esempio: