Manualino minimale MIPS

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Manualino minimale MIPS"

Transcript

1 Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica Commenti (es) Commenti. add add add $1,$2,$3 add $1,$2,$3 $1 = $2 + $3 $1 = $2 2 operandi + $3 operandi: 2 registri registro; subtract sub sub $1,$2,$3 $1,$2,$3 = $2 $3$1 = $2 2 operandi $3 registro; operandi: 2 registri add immediate addi $1,$2,100 = $ operandi: registro operandi: add immediate addi $1,$2,99 $1 = $ e costante; add unsigned addu $1,$2,$3 $1 = $2 + $3 2 operandi registro; e costante subtract add unsigned unsignedsubu addu $1,$2,$3 $1,$2,$3 = $2 $3 $1 = $2 2 operandi + $3 registro; operandi: 2 registri add subtract imm. unsigned unsign. addiu subu $1,$2,99 $1,$2,$3 = $ $1 = $2 operandi: $3 registro operandi: e costante; 2 registri multiply add immediate mult $2,$3 Hi Lo = $2 x $3 prodotto con segno: operandi: addiu $1,$2,99 res in 64 bit $1 = $ multiply unsigned unsigned multu $2,$3 Hi Lo = $2 x $3 prodotto senza registro segno: e costante res in 64 bit divide div $2,$3 Lo = $2 $3, Lo = quoziente, prodotto Hi = resto con segno: multiply mult $2,$3 Hi Lo = $2 $3 (risulato in 64 bit) multiply unsigned multu $2,$3 divide unsigned divu $2,$3 Lo = $2 $3, Hi Lo Quoziente = $2 $3 idem, ma senza segno e resto senza segno Hi = $2 mod Lo $3= $2 $3, Lo = quoziente divide div $2,$3 Move from Hi mfhi $1 $1 = Hi Hi = $2 Copia mod Hi $3 Hi = resto in un registro Move divide from unsigned Lo mflo divu $1 $2,$3$1 = Lo Lo = $2 Copia $3, Lo in un idem, registro ma senza segno move from Hi mfhi $1 $1 = Hi Copia Hi in un registro move Architettura from degli Lo elaboratori mflo $1-2$1 - = Lo MIPS Copia Instruction Lo in Set un Architecture registro Piccolo Prontuario Assembly MIPS 1

2 Operazioni Logiche Nome Comando completo Esempio Sintassi (es) Significato Semantica Commenti (es) Commenti. and add and $1,$2,$3 $1 = $2 & $3 AND bit a bit add $1,$2,$3 $1 = $2 + $3 2 operandi registro; subtract or sub or $1,$2,$3 = $2 $3$1 = $2 2 operandi v $3 registro; OR bit a bit add immediate addi $1,$2,100 $1 = $ operandi: registro e costante; xor xor $1,$2,$3 $1 = $2 $3 XOR bit a bit add unsigned addu $1,$2,$3 $1 = $2 + $3 2 operandi registro; subtract nor unsignedsubu nor $1,$2,$3 $1,$2,$3 = $2 $3 $1 = ~($2 2 operandi $3) registro; NOR bit a bit add imm. unsign. addiu $1,$2,99 $1 = $ operandi: registro e costante; and immediate andi $1,$2,10 $1 = $2 & 10 AND tra reg. e costante multiply mult $2,$3 Hi Lo = $2 x $3 prodotto con segno: res in 64 bit multiply or immediate unsigned multu ori $2,$3 $1,$2,10 Hi Lo = $2 $1 x $3 = $2 prodotto 10 senza OR segno: tra reg. e res costante in 64 bit divide div $2,$3 Lo = $2 $3, Lo = quoziente, Hi = resto xor immediate xori $1, $2,10 $1 = $2 10 XOR tra reg. e costante divide shift left unsigned logical divu sll $2,$3 $1,$2,10 Lo = $2 $3, $1 = $2 Quoziente << 10 e resto Shift a senza sinistra di segno una costante shift right logical srl $1,$2,10 $1 = $2 >> 10 Shift a destra di una costante Move from Hi mfhi $1 $1 = Hi Copia Hi in un registro Move shift right from arithm. Lo mflo sra $1 $1,$2,10 = Lo $1 = $2 Copia >> 10 Lo in un Idem, registro ma con est. in segno shift left logical sllv $1,$2,$3 $1 = $2 << $3 Shift a sinistra di una variabile shift right logical srlv $1,$2,$3 $1 = $2 >> $3 Shift a destra di una variabile Architettura degli elaboratori Letture e scritture RAM Istruzione Commento sw $3, 500($4) sh $3, 502($2) sb $2, 41($3) lw $1, 30($2) lh $1, 40($3) lhu $1, 40($3) lb $1, 40($3) lbu $1, 40($3) lui $1, 40($3) Store word Store half Store byte Load word Load halfword Load halfword unsigned Load byte Load byte unsigned Load Upper Immediate (16 bits shifted left by 16) da registro a mem (store) da mem a registro (load) Architettura degli elaboratori Piccolo Prontuario Assembly MIPS 2

3 Branch (salti condizionali) Con confronto fra due registri beq rs, rt, dest equal, if R[rs] == R[rt] then jump to dest bne rs, rt, dest not equal, blt rs, rt, dest branch less then salta se R[rs] < R[rt] (pseudo-istruzione) Con confronto fra un registro e zero blez rs, dest less-or-equal zero, if R[rs] <= 0 then jump bgtz rs, dest greater-then zero > bgez rs, dest greater-or-equal zero >= bgezal rs, dest come sopra «and link» bltz rs, dest less-than zero < bltzal rs, dest come sopra «and link» Architettura degli elaboratori Jumps (salti non condizionali) Istruzione Esempi Significato jump j vai all istruzione jump and link jal vai all istruzione and link jump register jr $31 vai all istruzione contenuta nel registro $31 Architettura degli elaboratori Piccolo Prontuario Assembly MIPS 3

4 Assegnamenti condizionali Istruzioni Esempi Significato set on less than slt $1,$2,$3 if ($2 < $3) $1=1; else $1=0 < (complemento a 2) set on less than slti $1,$2,100 if ($2 < 100) $1=1; else $1=0 immediate <costante (complemento a 2) set on less than sltu $1,$2,$3 if ($2 < $3) $1=1; else $1=0 unsigned < (numeri senza segno) set less then sltiu $1,$2,100 if ($2 < 100) $1=1; else $1=0 immediate unsigned <costante (numeri senza segno) Architettura degli elaboratori Inizializzazione / copia valori / etc move $t0, $t1 li $t0, val la $t0, etichetta (copia $t1 in $t0) (load immediate, copia il valore val in $t0) (load address, copia l indirizzo addr in $t0) nop syscall (non fare nulla) (chiamata di sistema: viene invocato il servizio indicato dal valore di $v0 vedi tabella) Architettura degli elaboratori Piccolo Prontuario Assembly MIPS 4

5 Funzioni di sistema Servizio Codice (in $v0) Argomenti Risultato print integer 1 $a0 = valore da stampare (nessuno) print float 2 $f12 = valore da stampare (nessuno) print double 3 $f12 = valore da stampare (nessuno) print string 4 $a0 = indirizzo della stringa da stampare (nessuno) read integer 5 (nessuno) $v0 = valore letto read float 6 (nessuno) $f0 = valore letto read double 7 (nessuno) $f0 = valore letto read string 8 $a0 = indirizzo dove mettere la stringa $a1 = quanti caratteri leggere + 1 (nessuno) memory allocation 9 $a0 = numero di byte richiesti $v0 = address del blocco exit 10 (nessuno) (nessuno) print character 11 $a0 = integer (nessuno) read Architetture character 12 (nessuno) $v0 Programmazione = carattere ASM lettomips Sinonimi dei registri Registro: $0 $1 $2 $3 $4 $5 $6 $7 Sinonimo: $r0 $at $v0 $v1 $a0 $a1 $a2 $a3 Registro: $8 $9 $10 $11 $12 $13 $14 $15 Sinonimo: $t0 $t1 $t2 $t3 $t4 $t5 $t6 $t7 Registro: $16 $17 $18 $19 $20 $21 $22 $23 Sinonimo: $s0 $s1 $s2 $s3 $s4 $s5 $s6 $s7 Registro: $24 $25 $26 $27 $28 $29 $30 $31 Sinonimo: $t8 $t9 $k0 $k1 $gp $sp $s8 $ra Architetture Programmazione ASM MIPS Piccolo Prontuario Assembly MIPS 5

6 Convenzioni nell'uso dei registri $at, $k0-$k1: riservati (per l'assemblatore e il system calls risp.) $a0 - $a3 : argomenti per routine (e system calls) $v0 - $v1 : risutlati di routine (e system call) $t0 - $t9 : valori temporanei, $s0 - $s7 : valori stabili (salvati nelle chiamate) $gp : puntatore globale (quale blocco di memoria da 64K nel viene usato) $sp : è lo stack pointer, indirizza la pos libera in cima allo stack $fp : frame pointer (vedremo). $ra : return address, l'indirizzo di rientro dalla chiamata di procedura. Architetture Programmazione ASM MIPS Direttive Generali:.data.text.globl e Inizio segmento dati Inizio segmento programma L etichetta e è visibile da altri file (per progetti multifile) Dati:.word.half.byte.ascii.asciiz «Memorizza i literal numero successivi in 4 byte ciascuno» «Memorizza i literal numero successivi in 2 byte ciascuno» «Memorizza i literal numero successivi in 1 byte ciascuno» «Memorizza i literal stringa succ. come sequenze di byte» «Memorizza i literal stringa succ. come sequenze di byte, terminate da 0».space n «Lascia n Bytes liberi qui».align n «Padding per allinearsi a 2 n bytes» Architetture Programmazione ASM MIPS Piccolo Prontuario Assembly MIPS 6

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div

Dettagli

MIPS! !

MIPS! ! MIPS! Sono descritte solamente le istruzioni di MIPS32, le pseudo-istruzioni, System Calls e direttive del linguaggio assembly che sono maggiormente usate.! MIPS è big-endian, cioè, lʼindirizzo di una

Dettagli

Assembly (del MIPS): piccolo prontuario

Assembly (del MIPS): piccolo prontuario Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architetture degli elaboratori: Assembly (del MIPS): piccolo prontuario Marco Tarini Dipartimento di Scienze Teoriche e

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il 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

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il 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

Dettagli

Instruction Set MIPS: piccolo prontuario

Instruction Set MIPS: piccolo prontuario Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Instruction Set MIPS: piccolo prontuario MIPS R3000 Instruction Set Architecture Categorie di istruzioni: Computazioni

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 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

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:

Dettagli

Istruzioni di trasferimento dati

Istruzioni 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:

Dettagli

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly Architettura degli Elaboratori e delle Reti Lezione 12 Assembly II Set di Istruzioni MIPS Strutture di controllo in Assembly Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 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

Dettagli

Istruzioni di controllo del flusso

Istruzioni 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

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

Fetch 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

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS

ISA (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

Dettagli

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.

Linguaggio 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

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS32

ISA (Instruction Set Architecture) della CPU MIPS32 Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS32 Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del COGNOME NOME

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del COGNOME NOME COMPITINO # di CALCOLATORI ELETTRONICI del 03--09 MATRICOLA COGNOME NOME ) [8/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla

Dettagli

MIPS Instruction Set 1

MIPS Instruction Set 1 Architettura degli Elaboratori e Laboratorio 20 marzo 2012 Istruzioni Comuni 1/3 Istruzioni Aritmetiche: Instruction Example Meaning Comments add add $1,$2,$3 $1=$2+$3 Always 3 operands subtract sub $1,$2,$3

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

Dettagli

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.

Corso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio 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

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly Strutture di controllo P.H. cap. 2.6 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Le strutture di controllo Istruzioni di salto if then do...

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 09: - Modi di indirizzamento del MIPS

Dettagli

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Le 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):

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a. 2006-2007 Docente: H. Muccini Lecture 12: - Numeri con segno -Somma e sottrazione

Dettagli

Lezione 2 Assembly MIPS (2)

Lezione 2 Assembly MIPS (2) Lezione 2 Assembly MIPS (2) http://www.dii.unisi.it/~giorgi/didattica/arcal1 All figures from Computer Organization and Design: The Hardware/Software Approach, Second Edition, by David Patterson and John

Dettagli

LA FAMIGLIA DI PROCESSORI MIPS

LA FAMIGLIA DI PROCESSORI MIPS 1 INTRODUZIONE ALLA PROGRAMMAZIONE ASSEMBLY DI PROCESSORI MIPS IL PROCESSORE MIPS ISA RIDOTTO emips PROGRAMMAZIONE ASSEMBLY DELL emips FRAMEWORK PER L'ESECUZIONE DI APPLICAZIONI ASSEMBLY SUL MODELLO VERILOG

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly Strutture di controllo P.H. cap. 2.6 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Le strutture di controllo Istruzioni di salto if then do...

Dettagli

Il linguaggio macchina

Il 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

Dettagli

Istruzioni assembler Istruzione N Registri

Istruzioni 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

Dettagli

Linguaggio Assembler

Linguaggio Assembler 1 Linguaggio Assembler Andrea Coccoli A.Coccoli@guest.cnuce.cnr.it aa 2001-2002 1 Indice Linguaggio ad alto livello, linguaggio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni

Dettagli

Il linguaggio Assembly del MIPS

Il linguaggio Assembly del MIPS Il linguaggio Assembly del MIPS Linguaggio macchina Linguaggio definito da un insieme di istruzioni, codificate come stringhe di bit, che il processore può interpretare ed eseguire direttamente Linguaggio

Dettagli

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I Il linguaggio Assembly Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it 1 Linguaggio

Dettagli

Assembly. Motivazioni. Programmazione Assembly

Assembly. Motivazioni. Programmazione Assembly Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di MIPS: modello di programmazione Anno Accademico 2007/2008 Francesco Tortorella CPU Compito della CPU: eseguire istruzioni Le istruzioni costituiscono le operazioni primitiva eseguibili dalla CPU

Dettagli

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento

Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Architetture degli Elaboratori e delle Reti Lezione 17 Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità

Dettagli

Architettura degli elaboratori

Architettura degli elaboratori Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Programmazione in assembly MIPS Marco Tarini Dipartimento di Scienze Teoriche e Applicate

Dettagli

Corso di Calcolatori Elettronici

Corso di Calcolatori Elettronici di Cassino e del Lazio Meridionale Corso di MIPS: modello di programmazione Anno Accademico Francesco Tortorella CPU Compito della CPU: eseguire istruzioni Le istruzioni costituiscono le operazioni primitiva

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici MIPS: modello di programmazione Anno Accademico 2012/2013 Alessandra Scotto di Freca Si ringrazia il prof.francesco

Dettagli

Motivazioni. Assembly. Programmazione Assembly. Programmazione Assembly

Motivazioni. Assembly. Programmazione Assembly. Programmazione Assembly Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:

Dettagli

Un 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) 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

Dettagli

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A *** indicano le affermazioni corrette. 1. Con riferimento alle architetture dei calcolatori ed alla valutazione

Dettagli

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio

Dettagli

Gestione delle eccezioni.

Gestione delle eccezioni. Gestione delle eccezioni nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Eccezioni Fetch Decodifica Calcolo Lettura / scrittura Eccezione (es. istruzione non riconosciuta) Eccezione

Dettagli

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo

Dettagli

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio

15 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

Dettagli

MIPS Instruction Set 1

MIPS Instruction Set 1 Laboratorio di Architettura 8 aprile 2011 1 SPIM 2 Architettura Mips 3 Esercitazione SPIM emulatore software architettura MIPS R2000/R3000 debugger + servizi base di sistema operativo realizzazione/verifica

Dettagli

Stringhe di caratteri

Stringhe di caratteri Stringhe di caratteri PH 2.8 1 Gestione dei caratteri Ogni carattere è rappresentato univocamente mediante un codice numerico rappresentabile usando un byte (codice ASCII) MIPS fornisce le istruzioni lb

Dettagli

p = 7. E = bias + p = = E = s e m

p = 7. E = bias + p = = E = s e m 255 1 0.125 0 127 1 0.25 0 63 1 0.5 1 31 1 15 1 7 1 3 1 1 1. Rappresentazione binaria: 11111111.001 2. Scorrere la virgola: 3. Bit di segno: Numero positivo 0. 4. Esponente: 5. Mantissa: 1111111001 (ottenuta

Dettagli

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione Modifiche di orario Lezione 19 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Al posto della lezione di domani giovedì 22/5 (12-1)

Dettagli

L insieme delle istruzioni (5)

L insieme delle istruzioni (5) L insieme delle istruzioni (5) Architetture dei Calcolatori (lettere A-I) Esempio di procedura annidata Codice C Assumiamo che set_array sia la prima procedura chiamata Assumiamo che la variabile i corrisponde

Dettagli

Esempio di procedura annidata. L insieme delle istruzioni (5) Esempio di procedura annidata (2) set_array: Esempio di procedura annidata (3)

Esempio di procedura annidata. L insieme delle istruzioni (5) Esempio di procedura annidata (2) set_array: Esempio di procedura annidata (3) L insieme delle istruzioni (5) Architetture dei Calcolatori (lettere A-I) Esempio di procedura annidata Codice C Assumiamo che set_array sia la prima procedura chiamata Assumiamo che la variabile i corrisponde

Dettagli

Università degli Studi di Roma La Sapienza

Università degli Studi di Roma La Sapienza Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Introduzione ai concetti ed al simulatore SPIM Indice degli argomenti Introduzione Assembler, compilatore, linker, programma

Dettagli

Corso di Architettura (Prof. Scarano) 10/05/2002

Corso 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

Dettagli

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App. Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile

Dettagli

Assembler MIPS R2000/3000

Assembler MIPS R2000/3000 TITLE Assembler MIPS R2000/3000 Alberto Montresor Programma delle lezioni! Introduzione ai concetti di assembler, compilatore, linker, programma eseguibile! Introduzione all assembly Sintassi del linguaggio

Dettagli

Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti

Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti Il Linguaggio Assembly: Controllo del flusso: istruzioni e costrutti Prof. Alberto Borghese Ing. Iuri Frosio Dipartimento di Scienze dell Informazione borghese,frosio@dsi.unimi.it Università degli Studi

Dettagli

5 April LABORATORIO 03 CONTROLLO DEL FLUSSO DI UN PROGRAMMA JUMP ADDRESS TABLE. I. Frosio

5 April LABORATORIO 03 CONTROLLO DEL FLUSSO DI UN PROGRAMMA JUMP ADDRESS TABLE. I. Frosio 5 April 2012 04 LABORATORIO 03 CONTROLLO DEL FLUSSO DI UN PROGRAMMA JUMP ADDRESS TABLE I. Frosio 1 SOMMARIO If... Then... If... Then... Else... For... Break... While... Do Do... While Switch (jump address

Dettagli

L insieme delle istruzioni del processore MIPS. Corso Calcolatori Elettronici presso POLITECNICO DI MILANO

L insieme delle istruzioni del processore MIPS. Corso Calcolatori Elettronici presso POLITECNICO DI MILANO L insieme delle istruzioni del processore MIPS Corso Calcolatori Elettronici presso POLITECNICO DI MILANO Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione email:

Dettagli

Le tre famiglie fondamentali. Laboratorio di Architettura. 1. Manipolazione di dati. 1.1 Aritmetica di base. Lezione 3

Le tre famiglie fondamentali. Laboratorio di Architettura. 1. Manipolazione di dati. 1.1 Aritmetica di base. Lezione 3 Le tre famiglie fondamentali Laboratorio di Architettura Lezione 3 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia Ci sono tre famiglie fondamentali di istruzioni, per: 1.

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Rappresentazione dei caratteri Anche i caratteri, come i numeri, sono rappresentati

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

Dettagli

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 Controllo di flusso Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano

Dettagli

Autilia Vitiello Dip. di Informatica ed Applicazioni Stecca 7, 2 piano, stanza 12

Autilia Vitiello Dip. di Informatica ed Applicazioni Stecca 7, 2 piano, stanza 12 Autilia Vitiello Dip. di Informatica ed Applicazioni Stecca 7, 2 piano, stanza 12 vitiello@dia.unisa.it http://www.dia.unisa.it/~avitiello Presentazione Corso di Architettura matricole congruo a 0: prof.

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull

Dettagli

La struttura delle istruzioni elementari: il linguaggio Macchina. Sommario

La 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

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Il Set di Istruzioni MIPS Francesco Lo Presti Rielaborate da Salvatore Tucci Set Istruzioni 1 La programmazione dei calcolatori Linguaggio macchina (codifica con numeri binari)

Dettagli

Introduzione a MIPS64 (I parte)

Introduzione a MIPS64 (I parte) Introduzione a MIPS64 (I parte) MIPS64: caratteristiche Nel 1981 John L. Hennessy della Stanford University avviò un gruppo di ricerca sulle architetture RISC RISC (vs CISC): Istruzioni complesse non implementate

Dettagli

Modalità di indirizzamento

Modalità di indirizzamento Modalità di Indirizzamento + Programmi Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it

Dettagli

Il Linguaggio Assembly: Le procedure

Il Linguaggio Assembly: Le procedure Il Linguaggio Assembly: Le procedure Prof. Alberto Borghese Ing. I. Frosio Dipartimento di Scienze dell Informazione {borghese,frosio}@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson:

Dettagli

Introduzione a MIPS64 (I parte)

Introduzione a MIPS64 (I parte) Introduzione a MIPS64 (I parte) MIPS64: caratteristiche Nel 1981 John L. Hennessy della Stanford University avviò un gruppo di ricerca sulle architetture RISC RISC (vs CISC): Istruzioni complesse non implementate

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del path path a ciclo singolo Anno Accademico 24/25 Francesco Tortorella Realizzazione del data path. Analizzare l instruction set => Specifiche sul datapath il significato di ciascuna

Dettagli

La programmazione dei calcolatori. Architetture dei Calcolatori (Lettere. Benefici dei linguaggi ad alto livello. Vantaggi e svantaggi dell assembler

La programmazione dei calcolatori. Architetture dei Calcolatori (Lettere. Benefici dei linguaggi ad alto livello. Vantaggi e svantaggi dell assembler La programmazione dei calcolatori Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Prof. Francesco Lo Presti Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente

Dettagli

Linguaggio macchina e register file

Linguaggio 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,

Dettagli

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Dal sorgente all eseguibile I programmi Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Riferimenti sul Patterson: Cap. 2.10 + Appendice B, tranne B.7

Dettagli

ISA e linguaggio macchina

ISA e linguaggio macchina ISA e linguaggio macchina 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, D1, D2. 1/55

Dettagli

Piccola Introduzione al Linguaggio Assembly e Simili Amenità. Luca Abeni

Piccola Introduzione al Linguaggio Assembly e Simili Amenità. Luca Abeni Piccola Introduzione al Linguaggio Assembly e Simili Amenità Luca Abeni 20 aprile 2016 Capitolo 1 Il Linguaggio Assembly 1.1 Introduzione La CPU (Central Processing Unit) di un computer funziona eseguendo

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del Data path Data path a ciclo singolo Anno Accademico 27/28 Francesco Tortorella (si ringrazia il prof. M. De Santo per parte del materiale presente in queste slides) Realizzazione

Dettagli

Assembler MIPS R2000/R3000 Assembly I

Assembler MIPS R2000/R3000 Assembly I TITLE Assembler MIPS R2000/R3000 Assembly I Riccardo Solmi 1 Bibliografia MIPS Assembly Language Programmer s Guide Manuale di programmazione assembly MIPS Assemblers, Linkers, and the SPIM Simulator Contiene

Dettagli

Il linguaggio assembly

Il linguaggio assembly Il linguaggio assembly PH 2.3 (continua) 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Istruzioni logiche 2 1 La memoria del MIPS I contenuti delle locazioni di memoria

Dettagli

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione Informazioni varie Lezione 18 Il Set di Istruzioni (5) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno La lezione di martedì 20 maggio (9-12) non si tiene

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 13 1/23 Chiamata

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli

8 March : LABORATORIO 01 ISA & ASSEMBLY REGISTER FILE INTRODUZIONE A SPIM OPERAZIONI ARITMETICHE. I. Frosio

8 March : LABORATORIO 01 ISA & ASSEMBLY REGISTER FILE INTRODUZIONE A SPIM OPERAZIONI ARITMETICHE. I. Frosio 01: LABORATORIO 01 ISA & ASSEMBLY REGISTER FILE INTRODUZIONE A SPIM OPERAZIONI ARITMETICHE I. Frosio 1 SOMMARIO ISA & Linguaggio macchina Assembly I registri Istruzioni aritmetiche Obiettivo PCSpim Operazioni

Dettagli

Assembly IV Le procedure

Assembly IV Le procedure rchitettura degli Elaboratori e delle Reti Lezione 14 ssembly IV Le procedure Proff.. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli