Il Livello ISA Instruction Set Level Architecture. Set istruzioni Motorola Caratteristiche del 68000: da ricordare i registri
|
|
- Liliana Carlucci
- 4 anni fa
- Visualizzazioni
Transcript
1 Il Livello ISA Instruction Set Level Architecture Set istruzioni Motorola 68 Caratteristiche del 68: da ricordare i registri Il 68 ha 8 registri di dato (D-D7) e 8 registri di indirizzo (A-A7) I registri di dato sono indifferenziati tra loro Il registro A7 si usa convenzionalmente come Stack Pointer (SP) Lo Stack Pointer punta sempre alla prima cella piena della pila e la pila cresce dal basso (indirizzi alti della memoria) verso l alto (indirizzi bassi della memoria) Per inserire un nuovo dato in pila (push): Decremento dello SP Scrittura del dato a quell indirizzo di memoria Per estrarre un dato dalla pila (pop): Lettura del dato dall indirizzo di memoria definito dallo SP Incremento dello SP Il registro A6 si può usare convenzionalmente come Frame Pointer (FP), cioè come riferimento all area di attivazione di un sottoprogramma Il Program Counter è di 4 bit - - Pag.
2 Caratteristiche del 68: da ricordare i suffissi di dimensione Molte istruzioni 68 e alcuni modi di indirizzamento possono avere un suffisso (.X) che indica quanti bit usare per gli operandi.b = byte = 8 bit, i meno significativi.w = word = 6 bit, i meno significativi (default).l = long word = 3 bit Esempio con istruzioni MOVE.L #$345678, D CLR D MOVE.B D, D * D contiene $78 CLR D MOVE.W D, D * D contiene $5678 CLR D MOVE.L D, D * D contiene $ Istruzioni: sottoinsieme di M68 Sottoinsieme del linguaggio M68 con queste caratteristiche: Funzionalmente completo Pochi codici mnemonici Indirizzamento ortogonale, per quanto possibile Anche istruzioni privilegiate Classi di istruzioni: trasferimento da e in memoria e tra registri aritmetico-logiche modifica del flusso di esecuzione: salto: incondizionato, condizionato, a sottoprogramma trasferimento dati da e in periferica (istruzioni di I/O) istruzioni speciali (controllo) Pag.
3 Istruzioni e ortogonalità rispetto al modo di indirizzamento () Ortogonalità: possibilità di utilizzare, per gli argomenti delle istruzioni (operandi), i modi di indirizzamento disponibili liberamente (qualsiasi modo di indirizzamento ) e indipendentemente tra i due argomenti Tipi di ortogonalità: Completamente ortogonale Semiortogonale Non ortogonale E un modello di classificazione a cui non sempre aderisce il set istruzioni di un processore Anche la classificazione applicata al M68 è un po forzata ma utile didatticamente per la programmazione assembler Istruzioni e ortogonalità rispetto al modo di indirizzamento () Istruzione completamente ortogonale: istruzione binaria: i due argomenti possono assumere tutti o quasi i modi di indirizzamento indipendentemente l uno dall altro istruzione unaria: l argomento può assumere tutti o quasi i modi di indirizzamento istruzione nullaria: ovvio, benché banale Istruzione semiortogonale: nell istruzione binaria un argomento è bloccato a un modo di indirizzamento preciso, l altro può assumere tutti o quasi i modi di indirizzamento Istruzione non ortogonale: istruzione binaria: i due argomenti sono bloccati a uno solo o a pochissimi modi di indirizzamento istruzione unaria: l argomento è bloccato a uno solo o a pochissimi modi di indirizzamento Pag. 3 3
4 Istruzioni di trasferimento () MOVE s,d Istruzione che consente di copiare un valore da registro o locazione di memoria a un altro registro o locazione di memoria Aggiorna i bit di esito N e Z MOVEA Istruzione di copia di un indirizzo in un registro di indirizzo (diverso da A7=SP) Non aggiorna i bit di esito MOVEM blocco di registri, blocco di parole di memoria consecutive (o viceversa) Copia il contenuto di un blocco di registri (non necessariamente consecutivo) in un blocco di parole di memoria consecutive a partire da un indirizzo dato Non aggiorna i bit di esito Tipicamente utilizzata per salvare alcuni registri del processore sulla pila alla chiamata di sottoprogramma e poi ripristinarli MOVEM D-D3/A, -(SP) * salva i registri in pila MOVEM (SP)+, D-D3/A * ripristina il contenuto dei registri Istruzioni di trasferimento e uso della pila Lo stack pointer è conservato nel registro A7; Il registro A7 è sdoppiato per poter gestire pile (user mode / system mode), a seconda del flag S; Non ci sono istruzioni PUSH e POP: non servono! Si usa l'istruzione MOVE con indirizzamento indiretto con postincremento/predecremento; Esempio di push, impila il contenuto di D: MOVE.W D, -(A7) Esempio di pop, estrae il top della pila in D: MOVE.W (A7)+, D Pag. 4 4
5 Istruzioni di trasferimento () Modo Esempio di Istruzione Funzionamento in RTL MOVE d [s] di costante (o immediato) si immagini di porre d = Dd ( d 7) MOVE.X #costante, Dd d X costante X di registro MOVE.X MOVE.X indiretto da registro Di, Dd Ai, Dd d X [Di] X d X [Ai] X 3 MOVE.X (Ai), Dd d X [[Ai]] X con autoincremento (indiretto da registro con autoincremento posticipato) 4 MOVE.X (Ai) +, Dd d X [[Ai]] X e poi Ai [Ai] + o o 4 con autodecremento (indiretto da registro con autodecremento anticipato) 5 MOVE.X (Ai), Dd con indice e spiazzamento Ai [Ai] o o 4 e poi d X [[Ai]] X 6 MOVE.X spiazz. 6 (Ai), Dd d X [spiazz. 6 +[Ai]] X con base indice e spiazzamento MOVE.X 7 MOVE.X assoluto (o diretto) spiazz. 8 (Ai, Db.Y), Dd spiazz. 8 (Ai, Ab.Y), Dd d X [spiazz. 8 +[Ai] +[Db] Y ] X d X [spiazz. 8 +[Ai] +[Ab] Y ] X 8 MOVE.X indirizzo.y, Dd d X [indirizzo Y ] X Istruzioni di trasferimento (3) Istruzione Nome Funzionamento in RTL MOVE.X trasferimento d, esiti [s] MOVEA.Y s, Ai trasferimento Ai [s] MOVEM.Y trasferimento di blocco - - blocco d [blocco s] COME DENOTARE IL BLOCCO DI REGISTRI: esempi D-D3/A-A5 vale a dire: D, D, D3, A, A3, A4, A5 D/D3/A/A5vale a dire: D, D3, A, A5 D-D3/A4 vale a dire: D, D, D3 e A4 D-D3/D5-D7/A vale a dire: D, D, D3, D5, D6, D7, A cioè con Da-Db si denota l intervallo di registri da Da a Db (a e b inclusi), mentre con Da/Db si denotano solo i due registri Da e Db; similmente per i registri di indirizzo COME FUNZIONA MOVEM Con modalità di indirizzamento ad autodecremento, MOVEM lavora sul blocco di registri esaminandolo da destra verso sinistra L uso tipico della MOVEM è quello di impilare i registri sullo stack, per salvarne il contenuto in una chiamata a sottoprogramma. Ci deve quindi essere anche la MOVEM opposta che spila i registri MOVEM.Y D-D3/A4, (SP) impila il blocco di registri (A4, D3, D, D) MOVEM.Y (SP) +, D-D3/A4 spila il blocco di registri (D, D, D3, A4) Pag. 5 5
6 Ortogonalità nelle istruzioni di trasferimento MOVE s,d Ortogonalità completa, sorgente qualsiasi e per destinazione vietato Destinazione (=d) = registro di indirizzo Destinazione (=d) = costante MOVEA Ortogonalità completa, destinazione qualsiasi (tranne A7) e sorgente qualsiasi MOVEM blocco di registri, blocco di parole di memoria consecutive Come zona di memoria si utilizza solo la pila (utilizzo ristretto rispetto a quanto consentito da M68) - - Istruzioni aritmetiche-logiche Istruzione Nome Funzionamento in RTL ADD.X ADDI.X #cost., d ADDA.Y s, Ai SUB.X SUBI.X #cost., d SUBA.Y s, Ai addizione (naturale / comp. a due) sottrazione (naturale / comp. a due) d X, esiti [s] X +[d] X d X, esiti cost. X +[d] X Ai Y [s] Y +[Ai] Y d X, esiti [d] X [s] X d X, esiti [d] X cost. X Ai Y [Ai] Y [s] Y AND.X ANDI.X #cost., d prodotto logico bit a bit (bitwise) d X, esiti [s] X [d] X d X, esiti cost. X [d] X OR.X ORI.X #cost., d somma logica bit a bit (bitwise) d X, esiti [s] X [d] X d X, esiti cost. X [d] X CMP.X s, s CMPI.X #cost., s CMPA.Y s, Ai confronto (naturale / comp. a due) esiti esiti esiti [s ] X [s ] X [s ] X cost. X [Ai] Y [s ] Y ASR.X ASL.X LSR.X LSL.X ROR.X ROL.X scorrimento aritmetico a dx scorrimento aritmetico a sx scorrimento logico a dx scorrimento logico a sx rotazione a dx rotazione a sx d X, esiti scorri arit. [d] X dx [s] pos. d X, esiti scorri arit. [d] X sx [s] pos. d X, esiti scorri log. [d] X dx [s] pos. d X, esiti scorri log. [d] X sx [s] pos. d X, esiti ruota [d] X dx [s] pos. d X, esiti ruota [d] X sx [s] pos. TST.X s esame di parola esiti esamina [s] X NEG.X NOT.X d d complemento a due inversione logica (bitwise) CLR.X d azzeramento d X, esiti d X, esiti complementa a due [d] X d X, esiti inverti logicamente [d] X BTST s, s test di un bit Z negazione del bit di s in posizione [ s ] Pag. 6 6
7 Ortogonalità nelle istruzioni aritmetiche-logiche Operazioni binarie: sono sostanzialmente semi ortogonali e non ortogonali ADD/SUB/AND/OR/CMP: semiortogonalità s registro di dato, s=d qualsiasi (no reg di indirizzo, costante) Non contemplata in CMP s=d registro di dato, s qualsiasi (no reg di indirizzo, costante) ADDI/SUBI/ANDI/ORI/CMPI: semiortogonalità s costante, s=d qualsiasi (no reg di indirizzo, costante) ADDA/SUBA/CMPA: semiortogonalità s= d = Ai (tranne A7), costante, s qualsiasi Scorrimento e rotazione: non ortogonale s registro di dato, s=d registro di dato Operazioni unarie: ortogonalità completa Istruzioni di modifica del flusso di esecuzione: istruzioni di salto Esecuzione delle istruzioni in sequenza: la prossima istruzione da eseguire è la successiva Istruzioni di salto incondizionato: specificano quale è la prossima istruzione da eseguire, diversa da quella in sequenza In linguaggio macchina la prossima istruzione da eseguire è specificata tramite un riferimento, diretto o indiretto, al suo indirizzo di memoria In linguaggio Assemblatore la prossima istruzione da eseguire è specificata tramite un riferimento simbolico del suo indirizzo di memoria Istruzioni di salto condizionato: se la condizione è verificata si salta, se non è verificata si procede in sequenza Le condizioni esprimibili sono molto semplici (confronti tra operandi). I risultati dei confronti, eseguiti dall ALU, sono memorizzati nei codici di condizione presenti nel registro CCR I codici vengono testati nelle istruzioni di salto condizionato Istruzione di salto a sottoprogramma E l equivalente di un salto incondizionato, ma la prossima istruzione da eseguire è la prima del sottoprogramma La sua esecuzione prevede che venga automaticamente salvato in pila l indirizzo di ritorno al chiamante Pag. 7 7
8 I codici di condizione nel 68 (o flag) Sono memorizzati in un registro di 6 bit chhiamato SR (status register), composto da: Byte di sistema Byte utente (registro CCR, 8 bit) T - S - - I I I X N Z V C C = riporto, carry; vale se l'ultima istruzione ha generato riporto; V = overflow; vale se l'ultima istruzione ha generato un valore non rappresentabile; Z = zero; vale se l'ultima istruzione ha generato il valore zero; N = negativo vale se l'ultima istruzione ha generato un valore negativo; X = esteso ; copia del riporto non cambiata da tutte le istruzioni che cambiano C; T = traccia; causa un interrupt dopo ogni istruzione; usato dai debugger; S = system-mode; le istruzioni privilegiate possono essere eseguite solo quando S=; I = livello di abilitazione degli interrupt, su 3 bit; sono abilitati solo gli interrupt > I; Istruzioni di salto () Le istruzioni di salto più importanti sono fondamentalmente di due categorie a seconda della modalità di indirizzamento utilizzabile per specificare la destinazione del salto Branch: solo con modalità di indirizzamento relativo a contatore di programma Bcc: salto condizionato (condition code) con 5 condizioni di salto e BRA (Branch Always) salto incondizionato DBcc: come sopra con decremento di un registro contatore specificato nell istruzione (utile per i cicli) Jump: con tutte le modalità di indirizzamento previste per le istruzioni JMP: salto incondizionato JSR: salto a sottoprogramma Pag. 8 8
9 Istruzioni di salto () SALTA dest. (Aj) spiazz. (PC) etichetta spiazz. (PC, Dq.W/L) etichetta (Dq.W/L) spiazz. (PC, Aq.W/L) etichetta (Aq.W/L) Indirizzo.W/L JMP JSR dest. = BRA Bcc BSR DBcc DBRA dest. = vietato vietato Condizioni di salto Suffisso cc Nome (ing.) Significato Simbolo T true condizione sempre verificata F false condizione mai verificata CC carry clear non c è riporto CS carry set c è riporto NE not equal diversità A B EQ equal uguaglianza A = B VC overflow clear non c è trabocco VS overflow set c è trabocco PL plus positività o nullità A MI minus negatività (nullità esclusa) A < GE greater or equal maggioranza in senso lato A B LE less or equal minoranza in senso lato A B GT greater maggioranza in senso stretto A > B LT less minoranza in senso stretto A < B Pag. 9 9
10 Istruzioni di salto in dettaglio (3) JMP dest. JSR dest. BRAdest. (equivale a BT) Bcc dest. BSR dest. DBcc Istruzione dest. DBRA dest. (equivale a DBF) Nome salto incondizionato salto (incondizionato) a routine salto incondizionato salto condizionato (cond. cc) salto (incondizionato) a routine salto condizionato con decremento (cond. cc) salto incondizionato con decremento Funzionamento in RTL PC i.e. dest. SP [SP] 4 [SP] [PC] PC i.e. dest. PC i.e. dest. se cc è verificata, allora PC i.e. dest. PC [PC] + 4 SP [SP] 4 [SP] [PC] PC i.e. dest. se cc non è verificata, allora Di [Di] se [Di], allora PC i.e. dest. PC [PC] + 4 PC [PC] + 4 Di [Di] se [Di], allora PC i.e. dest. PC [PC] + 4 fine Istruzioni di controllo NOP UNLK Ai (idem, di solito i = 6) RTS Istruzione LINK Ai, #cost. (di solito i = 6, cioè il puntatore all area di attivazione o frame pointer FP coincide con A6) TRAP #cost. ( cost. 5) Nome nessuna operazione collegamento a routine (creazione area di attivazione) rilascio di routine (eliminazione di area di attivazione) rientra da routine chiamata a supervisore (SVC) Funzionamento in RTL niente SP [SP] 4 [SP] [Ai] [Ai] [SP] SP [SP] + cost. SP [Ai] Ai [[SP]] SP [SP] + 4 PC [[SP]] SP [SP] + 4 SSP [SSP] 4 [SSP] [PC] SSP [SSP] [SSP] [SR] bit M di SR (attiva modo S) PC [base tab. + cost.] (cioè PC vettore di interruzione) - - Pag.
11 Istruzioni di classe privilegiata MOVE RTE RESET STOP #cost. Istruzione ANDI#cost, SR ORI#cost, SR Nome trasferimento di registro speciale (SP, SR, USP) mascheratura di registro di stato SR rientro da eccezione (= rientro da interruzione) ripristino del processore arresto del processore e attesa di richiesta di interruzione Funzionamento in RTL se bit M di SR = (modo S), allora d [s] esegui TRAP #cod_istr_priv se bit M di SR = (modo S), allora SR cost. o [SR] esegui TRAP #cod_istr_priv se bit M di SR = (modo S), allora SR [[SSP]] SSP [SSP] + PC [[SSP] SSP [SSP] + 4 esegui TRAP #cod_istr_priv se bit M di SR = (modo S), allora attiva la linea RESET del bus esegui TRAP #cod_istr_priv se bit M di SR = (modo S), allora SR cost. attendi richiesta interruzione esegui TRAP #cod_istr_priv Come usare SSP e USP Il simbolo SP è sinonimo di A7, e i due sono intercambiabili SP corrisponde a USP se il modo è U, a SSP se il modo è S Quando il processore è in modo U (bit M di SR = ) è consentito nominare SP o A7 come argomento, e allora corrispondono a USP: MOVEA SP, A! A [USP] Ricorda: è vietato utilizzare A7 (SP) come destinazione è vietato nominare SSP come argomento, perché sarebbe violazione del privilegio è vietato nominare USP come argomento, non perché ci sia divieto logico bensì per semplicità di notazione; sarebbe infatti del tutto equivalente nominare SP o A7, come già è consentito Quando il processore è in modo S (bit M di SR = ) è consentito nominare SP o A7 come argomento, e allora corrispondono a SSP: MOVEA SP, A! A [SSP] MOVEA A, SP! SSP [A] è consentito utilizzare A7 (SP) come destinazione è consentito nominare USP come argomento (perché vale il privilegio), e corrisponde allo user stack pointer anche se il bit M del registro SR vale (modo S): MOVE USP, A! A [USP] MOVE A, USP! USP [A] è vietato nominare SSP come argomento, non perché ci sia divieto logico bensì per semplicità di notazione; sarebbe infatti del tutto equivalente nominare SP o A7, come già è consentito - - Pag.
12 Istruzioni di ingresso e uscita Nel Motorola 68 non ci sono istruzioni specifiche di ingresso e uscita A ciascuna interfaccia di periferica è associato uno spazio di indirizzamento in memoria (memory mapped Input/Output) In questo spazio di indirizzamento vengono mappati gli equivalenti dei registri di interfaccia (dato, stato,...) Le istruzioni di ingresso e uscita (in altri processori definite come IN e OUT) nell M68 sono delle MOVE privilegiate Istruzione MOVE.X Nome trasferimento (con indirizzo s o d in spazio di I / O) Funzionamento in RTL se i.e. di s o d in spazio I / O e bit M = (modo S), allora d X [s] X MMU genera interruzione (evento analogo a TRAP) Direttive all assemblatore assemblatore () Etichetta Direttiva Argomento / i Funzionamento N EQU val Dichiarazione di simbolo. Definisce l etichetta N e le assegna il valore val. Non genera codice macchina, si limita a definire il simbolo N. Si possono usare più direttive EQU nel programma, una per ogni simbolo che si desidera definire. INIZIO ORG ind Dichiarazione di indirizzo di impianto del segmento di codice, dati, pila, ecc. Definisce l etichetta INIZIO, le assegna l indirizzo ind e specifica che il codice, o i dati, o lo spazio pila, ecc, generato in seguito inizia all indirizzo ind. Non genera codice macchina, si limita a definire dove impiantare il codice, i dati, la pila, ecc, seguente. Si possono usare più direttive ORG nel programma, una per ogni segmento che si desidera impiantare. DATO DC.X val, val, Dichiarazione e inizializzazione di dato. Definisce il simbolo DATO associandolo alla cella di memoria corrente, che inizialmente avrà valore val; prosegue inizializzando anche le parole successive con val, ; è consentito anche specificare una stringa (vista come successione di byte) tra apici semplici, per esempio `alfa. Genera codice sotto forma di dati preinizializzati. Ammette segnale di dimensione di parola X. Si possono usare più direttive DC.X nel programma. BLOCCO DS.X dim Dichiarazione di blocco di dati. Definisce il simbolo BLOCCO associandolo alla cella di memoria corrente, e riserva il blocco di parole di dimensione dim., ma non ne preinizilalizza il contenuto. Ammette segnale di dimensione di parola X. Si possono usare più direttive DS.X nel programma. FINE END etichetta Chiusura di programma. Termina il codice del programma e specifica tramite l argomento etichetta l indirizzo iniziale da dove partire con l esecuzione. Non genera codice macchina, si limita a specificare al caricatore l indirizzo di partenza del programma. Nel programma si può usare una sola direttiva END. Pag.
13 Direttive all assemblatore assemblatore () Il programma deve contenere almeno una direttiva ORG e ne può contenere due o più (e deve contenere esattamente una direttiva END con l indirizzo di partenza), riferite a codice, dati, pila o altro. Gli indirizzi dati come argomento a ORG sono inglobati nell intestazione del file eseguibile, e il caricatore (loader) del S.O. li interpreta in due modi diversi possibili: Se il S.O. non prevede meccanismo di memoria virtuale, sono indirizzi reali di memoria fisica dove impiantare i vari segmenti del programma Se il S.O. prevede meccanismo di memoria virtuale, sono indirizzi virtuali, vale a dire spiazzamenti rispetto all indirizzo che idealmente è sempre l indirizzo virtuale iniziale del processo; in pratica i vari indirizzi di ORG sono allora semplicemente gli indirizzi virtuali dei vari segmenti di processo nello spazio di indirizzamento virtuale; ovviamente il meccanismo di memoria virtuale decide poi come associare il tutto a pagine fisiche, ma ciò non riguarda il caricatore Ingombro delle istruzioni per istruzioni che manipolano dati () Dimensione della parola di memoria: 6 bit Dimensione della costante: 8, 6 o 3 bit Dimensione dello spiazzamento: 8 o 6 bit Dimensione dell indirizzo di memoria: 6 o 3 bit L istruzione è sempre costituita da una parola da 6 bit iniziale, detta parola di codice operativo, cui si aggiungono eventualmente altre parole consecutive, dette parole aggiuntive o di estensione l ingombro max dell istruzione è di 5 parole da 6 bit ( parola di codice operativo + 4 parole di estensione) Il codice operativo occupa una frazione breve della parola di codice operativo, spesso (ma non sempre) incorpora il segnale di dimensione del dato, e lascia spazio per argomenti non troppo lunghi Eventuali argomenti (o parti di argomenti) di tipo costante, indirizzo o spiazzamento, occupano ciascuno una parola aggiuntiva oppure due parole aggiuntive a quella di codice operativo Pag. 3 3
14 Ingombro delle istruzioni per istruzioni che manipolano dati () Più in dettaglio Il codice operativo occupa una frazione breve della parola di codice operativo, spesso (ma non sempre) incorpora il segnale di dimensione del dato, e lascia spazio per argomenti non troppo lunghi da codificare: o Modo di indirizzamento del primo argomento. o Se il primo argomento nomina un solo registro, il numero del registro e la specifica se sia di dato o indirizzo o Modo di indirizzamento del secondo argomento. o Se il secondo argomento nomina un solo registro, il numero del registro e la specifica se sia di dato o indirizzo. o NOTA BENE: nella parola di codice operativo NON CI STANNO MAI il modo e il numero dell indirizzo base del modo di indirizzamento con base indice e spiazzamento (vedi dopo dove stanno). Eventuali argomenti (o parti di argomenti) di tipo costante, indirizzo o spiazzamento, occupano ciascuno una parola aggiuntiva oppure due parole aggiuntive a quella di codice operativo, secondo i casi: o Costante: se byte o corta (8 o 6 bit) occupa una parola, se lunga (3 bit) occupa due parole o Spiazzamento: occupa sempre una parola, sia quando è corto (8 bit), e allora ne usa metà, sia quando è lungo (6 bit), e allora la usa tutta. o Indirizzo: se corto (6 bit) occupa una parola, se lungo (3 bit) bit occupa due parole. MOVEM ha una codifica sua particolare (vedi libro), comunque ingombra due parole, e i bit della parola aggiuntiva specificano uno ciascuno un registro di dato Dp o uno di indirizzo Aq istruzione (a indirizzo ) MOVE.B #$, D MOVE.W #$3, D MOVE.L #$34567, D MOVE.X A, D MOVE.X (A), D MOVE.X (A)+, D MOVE.X (A), D MOVE.X $3 (A), D MOVE.X $ (A, D.Y), D MOVE.X $ (A, D.Y), $3 (A3, A4.Y), MOVE.X $3.W, D MOVE.X $34567.L, D MOVE.X $3.W, $456789AB.L MOVE.W #$3, $456789AB.L MOVE.X $34567.L, $89ABCDEF.L MOVE.L #$34567, $89ABCDEF.L ADD.X D, D ADD.X $3.W, D ADDX. $34567.L, D LSL.X #, D parola di cod. op arg parole aggiuntive arg parole total i Pag. 4 4
15 Dettagli Formato generale codice operativo modo reg. / aux modo reg. / aux MOVE.B #$, Da MOVE immed. byte di registro a # hex MOVE.L #$34567, Da MOVE immed. long di registro a #3 hex #4567 hex Altri dettagli MOVE.X $ (Aa, Db.Yb), $ (Ac, Ad.Yd) MOVE.X bas ind spi A Y b D b Y d A d MOVE.X $34567.L, Da 5 3 di registro c hex hex MOVE.X assoluto long di registro a 3 hex MOVE.W #$3, $456789AB.L 4567 hex MOVE immed. word assoluto long #3 hex 4567 hex 89AB hex Pag. 5 5
16 Ingombro delle istruzioni per istruzioni che manipolano istruzioni Dimensione della parola di memoria: 6 bit Dimensione dello spiazzamento: 8 o 6 bit Dimensione dell indirizzo di memoria: 6 o 3 bit L istruzione è costituita da una parola da 6 bit iniziale, detta parola di codice operativo, cui si aggiungono eventualmente altre parole consecutive, dette parole aggiuntive o di estensione ; l ingombro max dell istruzione è di 3 parole da 6 bit ( parola di codice operativo + parole di estensione). Il codice operativo occupa una frazione della parola di codice operativo, e lascia spazio per argomenti non troppo lunghi da codificare, vale a dire: Modo di indirizzamento della destinazione. Se la destinazione nomina un solo registro, il numero del registro indirizzo. Eventuale condizione di salto. Spiazzamento corto, cioè da 8 bit, in caso di indirizzamento relativo a PC (ma senza registro base, vedi sotto); si può usare solo con i salti di tipo B o branch (BRA e simili), non con quelli di tipo J o jump (JMP e simili). Eventuali argomenti (o parti di argomenti) di tipo indirizzo o spiazzamento (da 6 bit oppure da 8 bit ma se c è anche registro base), occupano ciascuno una parola oppure due parole aggiuntive a quella di codice operativo, secondo i casi. In particolare: Spiazzamento: se lungo occupa un intera parola aggiuntiva da 6 bit se corto ma in modo con base relativo a PC, occupa metà di una parola aggiuntiva, e l altra metà contiene la specifica del registro base, come con l analogo indirizzamento di dato Indirizzo: se corto (6 bit) occupa una parola, se lungo (3 bit) bit occupa due parole Esempi concreti istruzione (all indirizzo ) parola di cod. op parole aggiuntive dest parole totali JMP (A) BRA $ (PC) Bcc $ (PC) BRA $34 (PC) Bcc $34 (PC) JMP $ (PC, A) JMP $34.W JMP $ L Pag. 6 6
17 Dettagli Formato generale JMP $ (PC, A) 5 5 codice operativo spiazz./ mod./reg. /cond. JMP con base rel. a PC A (hex) JMP (A) 5 BRA $34 (PC) JMP da reg. numero 5 BRA $ (PC) BRA lungo (= ) 34 (hex) 5 BRA (hex) Pag. 7 7
Caratteristiche del 68000: da ricordare. Caratteristiche del 68000: da ricordare i registri. Il Livello ISA Instruction Set Level Architecture
Caratteristiche del 68: da ricordare i registri Il Livello ISA Instruction Set Level Architecture Set istruzioni Motorola 68 Il 68 ha 8 registri di dato (D-D7) e 8 registri di indirizzo (A-A7) I registri
DettagliIstruzioni di trasferimento. Vittorio Zaccaria Dicembre 2009
Istruzioni di trasferimento Trasferimento Move Copia src in dest. Aggiorna bit di esito (N,Z) nel CCR: MOVE src, dest Copia src in dest (no A7). NON aggiorna bit di esito nel CCR: MOVEA src, dest Uso della
DettagliInstruction set architecture
Architettura dei calcolatori e sistemi operativi Instruction Set Architecture Vittorio Zaccaria Dicembre 2009 Instruction set architecture Programma (C, Fortran, C++) Livello ISA SOFTWARE HARDWARE Eseguito
DettagliCORSO DI INFORMATICA 2 POLITECNICO DI MILANO
CORSO DI INFORMATICA 2 POLITECNICO DI MILANO MATERIALE DIDATTICO DI SUPPORTO VESIONE RIDOTTA DEL LINGUAGGIO MACCHINA DEL PROCESSORE MOTOROLA 68000 A USO DEL CORSO DI INFORMATICA 2 a cura di prof. LUCA
DettagliIntroduzione a ISA. Il Livello ISA Instruction Set Level Architecture. Livello ISA e Motorola 68000: introduzione. Che cosa descrive ISA
Introduzione a ISA Il Livello ISA Instruction Set Level Architecture Livello ISA e Motorola 68000: introduzione Livello ISA (Instruction Level Architecture): insieme delle istruzioni (instruction set)
DettagliIl linguaggio macchina
Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari
DettagliIl set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliIl set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliIntroduzione al linguaggio macchina. Istruzione l/m
Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliAXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000
AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono
DettagliAXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio
AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio
DettagliIstruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
DettagliProgrammazione in linguaggio assembly per architetture Intel 8088
Programmazione in linguaggio assembly per architetture Intel 8088 Marco Di Felice 1 Università of Bologna Dipartimento di Scienze dell Informazione Corso di Architettura degli Elaboratori mail: difelice@cs.unibo.it
DettagliArchitettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H
Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello
DettagliIntroduzione al linguaggio macchina
Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliFondamenti di programmazione in linguaggio assembly del Motorola 68000
Fondamenti di programmazione in linguaggio assembly del Motorola 68000 Daniele Paolo Scarpazza daniele.scarpazza@elet.polimi.it Politecnico di Milano Ultimo aggiornamento: 10 Maggio 2005 Bibliografia Libro
DettagliArchitettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
DettagliFondamenti di Informatica B
Fondamenti di Informatica B Lezione n. 11 Alberto Broggi Gianni Conte A.A. 2005-2006 Fondamenti di Informatica B Lezione n.11n ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO
DettagliCorso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo
Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Istruzioni del processore Abbiamo visto in precedenza alcuni esempi di istruzioni
DettagliFetch Decode Execute Program Counter controllare esegue prossima
Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo
DettagliInvocazione di funzioni. Passaggio parametri Creazione record di attivazione (anche chiamato stack frame o area di attivazione)
Invocazione di funzioni Passaggio parametri Creazione record di attivazione (anche chiamato stack frame o area di attivazione) Passaggio parametri F(a,b,c) { } Z = g(x, y, z) Record di attivazione o registri
DettagliIstruzioni di controllo del flusso
Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal
DettagliIntroduzione alla famiglia Motorola 68000
Introduzione alla famiglia Motorola 68000 Maurizio Rebaudengo Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Storia Introduzione Registri interni Modi di indirizzamento
DettagliStrutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register
Corso di Calcolatori Elettronici I A.A. 2010-2011 Strutture di controllo del flusso di esecuzione in assembler Lezione 25 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di
DettagliAlcuni programmi assembly MC68000
Corso di Calcolatori Elettronici I Alcuni programmi assembly MC68000 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliModi di indirizzamento del processore MC68000 (parte prima)
Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 (parte prima) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea
DettagliModi di indirizzamento del processore MC68000 (parte prima)
Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 (parte prima) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Modello di programmazione
DettagliMECCANISMI PER IL PASSAGGIO DEI PARAMETRI
MECCANISMI PER IL PASSAGGIO DEI PARAMETRI CALCOLATORI ELETTRONICI I CdL Ingegneria Elettronica (A-I) DIS - Università degli Studi di Napoli Federico II Parametri in registri Realizzare un programma che
DettagliArchitettura dei Calcolatori elettronici
Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore
DettagliLinguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA
Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi
DettagliCorso di Architettura (Prof. Scarano) 10/05/2002
Lezione 0 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Le procedure Prima della chiamata di una procedura In ogni linguaggio di
DettagliEsercizio riassuntivo di traduzione e assemblaggio da linguaggio C ad assembly Motorola
Esercizio riassuntivo di traduzione e assemblaggio da linguaggio C ad assembly Motorola 68000. Ultima modifica: 10 Maggio 2005. Autore: Daniele Paolo Scarpazza. Per segnalare eventuali difficoltà o problemi,
DettagliLE STRUTTURE IN PROGRAMMAZIONE ASSEMBLER
LE STRUTTURE IN PROGRAMMAZIONE ASSEMBLER CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Istruzioni di selezione Linguaggio ad alto livello Assembler
DettagliModi di indirizzamento del processore MC68000 (parte prima)
Corso di Calcolatori Elettronici I A.A. 2011-2012 Modi di indirizzamento del processore MC68000 (parte prima) Lezione 21 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliFONDAMENTI DI INFORMATICA Lezione n. 11
FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di
DettagliL'INDIRIZZAMENTO NEL PROCESSORE MC PARTE 1 -
L'INDIRIZZAMENTO NEL PROCESSORE MC 68000 - PARTE 1 - CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Modi di indirizzamento Tecniche di indirizzamento:
DettagliIl linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio
DettagliSubroutine in linguaggio macchina: collegamento e passaggio dei parametri. Sottoprogrammi: richiami
Corso di Calcolatori Elettronici I Subroutine in linguaggio macchina: collegamento e passaggio dei parametri Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso
DettagliSubroutine in linguaggio macchina: collegamento e passaggio dei parametri
Corso di Calcolatori Elettronici I Subroutine in linguaggio macchina: collegamento e passaggio dei parametri Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso
DettagliIntroduzione. Architettura
Introduzione Questo simulatore fornisce una versione semplificata dell assemblatore sfruttato dal processore 8088 trasformando il codice inserito in input in codice eseguibile e ne simula l esecuzione
DettagliArchitettura del processore MC 68000
Architettura del processore MC 68000 Registri generali D0-D7, A0-A7 PC 16 x 32 ALU 32 32 TEMP 32 EAR IR Control unit 16 SR 8 8 CCR Interfaccia memoria ed I/O Bus di memoria e di I/O Modello di programmazione
DettagliIl processore Motorola (MC68000)
Il processore Motorola 68000 (MC68000) Il processore Motorola 68000 è stato un processore innovativo, che ha visto la luce all inizio degli anni 80, ed il cui successo ha posto le basi per lo sviluppo
DettagliAssemblaggio per il processore Motorola 68000
Assemblaggio per il processore Motorola 68000 Daniele Paolo Scarpazza daniele.scarpazza@elet.polimi.it Politecnico di Milano Ultimo aggiornamento: 16 Maggio 2005 Assemblaggio A prima vista sembra un problema
DettagliLinguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
DettagliLezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
DettagliStruttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:
Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema
DettagliModi di indirizzamento parte 1. Modello di programmazione del processore MC68000
Corso di Calcolatori Elettronici I A.A. 2010-2011 Modi di indirizzamento parte 1 Lezione 21 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in
DettagliLinguaggio macchina e register file
Linguaggio macchina e register file Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4,
DettagliSottoprogrammi in linguaggio assembly del Motorola 68000
Sottoprogrammi in linguaggio assembly del Motorola 68000 Daniele Paolo Scarpazza daniele.scarpazza@elet.polimi.it Politecnico di Milano Ultimo aggiornamento: 10 Maggio 2005 Bibliografia Sezioni 4.9, 5.6
DettagliRappresentazione dell informazione
Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione
DettagliASSEMBLER 68K parte 2
ASSEMBLER 68K parte 2 CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Classi di istruzioni Un calcolatore deve avere istruzioni in grado
DettagliIl Linguaggio Assembly
Il Linguaggio Assembly Luca Abeni March 16, 2016 Linguaggio Macchina ed Assembly CPU: capisce (e riesce ad eseguire) solo il suo linguaggio macchina Sequenza di 0 e 1 Non proprio utilissimo per noi umani...
DettagliIstruzioni assembler Istruzione N Registri
Istruzioni assembler Istruzione N Registri Aritmetica add a, b, c a = b+c addi a, b, num a = b + sub a, b, c a = b - c mul a, b, c a = b*c div a, b, c a = b/c utilizzati Descrizione 3 Somma. Somma b e
DettagliESERCITAZIONE Operandi Architettura ad 1 operando Architettura a 2 operandi Architettura a 3 operandi
ESERCITAZIONE 9 Sommario Operandi Registri dedicati Gestione di sottoprogrammi Meccanismi di interruzione 1. Operandi Le prestazioni di una CPU possono variare considerevolmente a seconda del numero di
DettagliORG $8800 N DC 9,11,1,4,5,7,2
ESEMPI DI ASSEMBLY M68000 Esercizio 1 Scrivere un programma non segmentato in linguaggio macchina (simbolico), con sintassi nativa M6800, che rispetti la seguente specifica. Dati 7 numeri di tipo Word,
DettagliIl sistema delle interruzioni nel processore MC68000 (cenni)
Corso di Calcolatori Elettronici I A.A. 2011-2012 Il sistema delle interruzioni nel processore MC68000 (cenni) Lezione 33 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria
DettagliAMBIENTE DI SIMULAZIONE ASIM
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 10 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it http://digilander.libero.it/rosario.cerbone a.a. 2008-2009 AMBIENTE DI SIMULAZIONE ASIM Digitazione
DettagliIntroduzione al linguaggio assembly MC68000
Corso di Calcolatori Elettronici I Introduzione al linguaggio assembly MC68000 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
DettagliArchitettura del calcolatore (Seconda parte)
Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly
DettagliFondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o
Fondamenti di Informatica e Programmazione CPU e Linguag gio Macchina P ro f. G i a n n i D A n g e l o Email: giadangelo@unisa.it A.A. 2018/19 Elaborazione dell Informazione L'elaborazione delle informazioni
DettagliIl linguaggio assembly
Il linguaggio assembly Introduzione al linguaggio macchina Indice Che cos è l assembly Elementi del linguaggio Memoria di programma Registri interni e di I/O Registri particolari Rappresentazione dell
DettagliFondamenti di Informatica A. A / 1 9
Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 1 8 / 1 9 Architettura di Von Neumann Architettura di Von Neumann: l Unità di Elaborazione L Unità di Elaborazione L unità di elaborazione (CPU) contiene
DettagliLa struttura delle istruzioni elementari: il linguaggio Macchina. Sommario
La struttura delle istruzioni elementari: il linguaggio Macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul
DettagliCalcolatori Elettronici Lezione A4 Programmazione a Moduli
Calcolatori Elettronici Lezione A4 Programmazione a Moduli Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Sommario Programmazione a moduli Programmi con linguaggi misti Tempo
DettagliLezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
DettagliCPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore
CPU CPU e programmazione (Parte 1) La CPU (Central Processing Unit) e` in grado di eseguire dei programmi, cioe` sequenze di istruzioni elementari ( istruzioni macchina ) Idea fondamentale dell'architettura
DettagliEsercitazioni ElDig2-09. Dott. Salvatore Pontarelli
Esercitazioni ElDig2-09 Dott. Salvatore Pontarelli mercoledì 9 dicembre 2009 Esercitazioni ElDig2-09 Esercitazioni in aula Giovedi 11:30-13:00 Ricevimento: Giovedi 9:30-11:30 e-mail pontarelli@ing.uniroma2.it
DettagliUn quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
DettagliAssembly. Modello x86
Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore
Dettagliprogramma in linguaggio C esercizio n. 5 linguaggio macchina prima parte codifica in linguaggio macchina
esercizio n. 5 linguaggio macchina prima parte codifica in linguaggio macchina Si deve tradurre in linguaggio macchina simbolico (linguaggio assemblatore) 68000 il programma (main e funzione funz) riportato
DettagliModi di indirizzamento del processore MC68000 parte 1
Corso di Calcolatori Elettronici I Modi di indirizzamento del processore MC68000 parte 1 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliNel microprocessore 8086 abbiamo una gran quantità di registri
I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1
DettagliIstruzioni di Controllo del Flusso Istruz. di Controllo di Flusso
Istruzioni di Controllo del Flusso Istruz. di Controllo di Flusso Salto Non Condizionato Salto Condizionato JMP jump BRA branch non condizionato BEQ branch if Equal BNE branch if Not Equal BCS branch if
DettagliSet di istruzioni Z80 (quarta parte) Pagina 1 di 9 ISTRUZIONI DI SALTO
Set di istruzioni Z80 (quarta parte) Pagina 1 di 9 ISTRUZIONI DI SALTO JP pq E un istruzione di salto assoluto incondizionato. Per salto assoluto si intende il fatto che grazie a quest istruzione, il contenuto
DettagliUniversità degli Studi di Cassino
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliGestione delle subroutine. Appunti di Sistemi per la cl. IV Dinf A cura del prof. Ing. Mario Catalano
Gestione delle subroutine Appunti di Sistemi per la cl. IV Dinf A cura del prof. Ing. Mario Catalano Vantaggi delle subroutines In maniera analoga alle funzioni/metodi dei linguaggi di alto livello, anche
DettagliISA (Instruction Set Architecture) della CPU MIPS
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina
DettagliA.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante
A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 29/01/07 Nota Questi lucidi sono tratti
DettagliUn altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando
Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base
DettagliLinguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
DettagliElettronica dei Sistemi Programmabili A.A Microcontrollori. Architettura degli ARM CORTEX TM -M0 (1a parte / ii)
Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Architettura degli ARM CORTEX TM -M0 (1a parte / ii) Sommario Uso delle flag nei salti Registri speciali IPSR EPSR PRIMASK CONTROL
DettagliPassaggio di Parametri per Valore o Indirizzo
Passaggio di Parametri per Valore o Indirizzo Come in C, l assembler permette di passare un dato per valore (copia) o per indirizzo, nel secondo caso rendendo modificabile il dato stesso da dentro una
DettagliUniversità degli Studi di Cassino
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2007/2008 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliArchitettura del set di istruzioni (ISA)
Architettura del set di istruzioni (ISA) Calcolatori Elettronici-Ingegneria Telematica 1 Instruction Set Architecture Software Hardware Application (Netscape) Compiler Assembler Processor Memory Digital
DettagliL insieme delle istruzioni (6)
L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso
DettagliModi di esecuzione user / kernel
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliIntroduzione al linguaggio assembly del processore Motorola 68000
Corso di Calcolatori Elettronici I Introduzione al linguaggio assembly del processore Motorola 68000 ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica 68000: Modello di programmazione 31
DettagliESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione
ESERCITAZIONE 8 Sommario Unità centrale di elaborazione Meccanismo di interruzione CPU-Memoria Architettura di una CPU Linguaggio macchina Modi di indirizzamento 1. Unità centrale di elaborazione L unità
Dettagli15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio
15 April 2011 05 LABORATORIO 04 PROCEDURE STACK CHIAMATA A PROCEDURE I. Frosio 1 SOMMARIO Procedure Stack Chiamata a procedure 2 PERCHÈ LE PROCEDURE? 15 April 2011 Main Proc3 Proc2 Proc1 Programmazione
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
DettagliLezione XII: La gestione delle eccezioni in MINIX
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 4 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliUn quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto
Un quadro della situazione Lezione 14 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
Dettagli