Linguaggio Assemblativo della famiglia 80x86
|
|
- Leopoldo Angeli
- 5 anni fa
- Visualizzazioni
Transcript
1 Linguaggio Assemblativo della famiglia 80x86 Dr. Luciano Capitanio BOZZA PRELIMINARE Assembler 80x86 Dr. Luciano Capitanio 1 Linguaggio Assemblativo della famiglia 80x86 Obiettivo Verranno forniti gli elementi necessari per la programmazione nel linguaggio assemblativo della famiglio di CPU 80x86. Assembler 80x86 Dr. Luciano Capitanio 2 1
2 Linguaggio Assemblativo Della Famiglia 80x86 Contenuti Risorse Convenzioni Architettura Dati primitivi e operazioni Metodi di indirizzamento Strutture di controllo Sottoprogrammi Interrupts Chiamate al sistema operativo Assembler 80x86 Dr. Luciano Capitanio 3 Risorse 1 di comp.lang.asm.x86 Assembler 80x86 Dr. Luciano Capitanio 4 2
3 Risorse 2 di Assembler 80x86 Dr. Luciano Capitanio 5 Architettura registri di segmento da 16 bit SS CS DS ES FS GS Compatibilità verso il basso: Le aree a colore pieno sono ereditate dall architettura a 16 bit (8086) 8 registri general purpose EFLAGS EIP EAX EBX ECX EDX EBP ESP EDI ESI 4 Giga byte 4 G - 1 Spazio di indirizzamento in memoria 0F FFFF 16 bit 16 bit Assembler 80x86 Dr. Luciano Capitanio 6 3
4 Dati Primitivi E Operazioni Dati primitivi Interi senza segno Interi con segno Caratteri Stringhe e vettori multidimensionali Reali floating point Assembler 80x86 Dr. Luciano Capitanio 7 Dati Primitivi E Operazioni Interi senza segno size Range byte word longword Assembler 80x86 Dr. Luciano Capitanio 8 4
5 Dati Primitivi E Operazioni Interi con segno size Range byte word longword ,768 32,767-2,147,483,648 2,147,483,647 Assembler 80x86 Dr. Luciano Capitanio 9 Dati Primitivi E Operazioni Assembler 80x86 Dr. Luciano Capitanio 10 5
6 Call & ret L istruzione Call <routine_address> salva nello stack l indirizzo dell istruzione ad essa successiva <call_next>e salta all indirizzo <routine_address> L istruzione ret esegue un pop dell indirizzo salvato dalla call <call_next> e riprende l esecuzione del programma chiamante dall indirizzo pop-ato. Assembler 80x86 Dr. Luciano Capitanio 11 Call & ret I parametri di una funzione possono essere passati attraverso lo stack: Msg1 db Dammi un intero,0.. Push msg1 Call get_int Assembler 80x86 Dr. Luciano Capitanio 12 6
7 Call & ret La convenzione generalmente usata sui PC impone che i sottoprogrammi possano essere chiamati con sicurezza in qualunque parte del programma chiamante. Questa convenzione impone le regole che vedremo nelle pagine seguenti Assembler 80x86 Dr. Luciano Capitanio 13 Call & ret 1) I parametri non sono mai pop-ati dall stack. Perché? In caso contrario si il return address verrebbe distrutto: Stack dopo la call: ESP +4 : parameter ESP : Return Address Assembler 80x86 Dr. Luciano Capitanio 14 7
8 Call & ret 2)Lo scheletro di una routine è: Subprogram label: push ebp mov ebp,esp ; subprogram code pop ebp ret Assembler 80x86 Dr. Luciano Capitanio 15 Call & ret 3)Quando un sottoprogramma termina qualcuno deve pulire lo stack. Convenzione C: il programma chiamante pulisce lo stack Push dword 1 Call fun Add esp, 4 ; oppure pop ecx più veloce Convenzione Pascal: il sottoprogramma deve pulire lo stack Assembler 80x86 Dr. Luciano Capitanio 16 8
9 Strutture di controllo Control structures decide what to do based on comparisons of data. In assembly, the result of a comparison is stored in the FLAGS register to be used later. The 80x86 provides the CMP instruction to perform comparisons. Assembler 80x86 Dr. Luciano Capitanio 17 Strutture di controllo The FLAGS register is set based on the difference of the two operands of the CMP instruction. The operands are subtracted and the FLAGS are set based on the result, but the result is not stored anywhere. If you need the result use the SUB instead of the CMP instruction. Assembler 80x86 Dr. Luciano Capitanio 18 9
10 Strutture di controllo For unsigned integers, there are two flags that are important: the zero (ZF) and carry (CF) ags. cmp vleft, vright The difference of vleft - vright is computed and the flags are set according. If the difference of the of CMP is zero, vleft = vright, then ZF is set (i.e., 1) and the CF is unset (i.e., 0). If vleft > vright, then ZF is unset and CF is unset (no borrow). If vleft < vright, then ZF is unset and CF is set (borrow). Assembler 80x86 Dr. Luciano Capitanio 19 Strutture di controllo For signed integers, there are three ags that are important: ZF(zero), OF(overflow/underflow) and SF(sign). Cmp vleft, vright If vleft=vright ZF=1 If vleft>vright ZF=0 & SF=OF (?) If vleft>vright ZF=0 & SF<>OF (?) If there is no overflow, then the difference will have the correct value and must be non-negative. Thus SF=OF =0. Assembler 80x86 Dr. Luciano Capitanio 20 10
11 Strutture di controllo JZ branches only if ZF is set JNZbranches only if ZF is unset JO branches only if OF is set JNO branches only if OF is unset JS branches only if SF is set JNS branches only if SF is unset JC branches only if CF is set JNC branches only if CF is unset JP branches only if PF is set JNP branches only if PF is unset Assembler 80x86 Dr. Luciano Capitanio 21 Strutture di controllo Variations of the jump instruction: JMP SHORT 4 :This jump is very limited in range. It can only move up or down 128 bytes in memory. (displacement 1 byte long). JMP NEAR LABEL: This jump is the default type for both unconditional and conditional branches, it can be used to jump to any location in a segment.(displacement 2 o 4 byte long) IMP FAR LABEL: This jump allows control to move to another code segment. Assembler 80x86 Dr. Luciano Capitanio 22 11
12 Strutture di controllo if ( EAX == 0 ) EBX = 1; else EBX = 2; 1 cmp eax, 0 ; set flags (ZF set if eax - 0 = 0) 2 jz thenblock ; if ZF is set branch to thenblock 3 mov ebx, 2 ; ELSE part of IF 4 jmp next ; jump over THEN part of IF 5 thenblock: 6 mov ebx, 1 ; THEN part of IF 7 next: Assembler 80x86 Dr. Luciano Capitanio 23 Strutture di controllo if ( EAX >= 5 ) EBX = 1; else EBX = 2; 1 cmp eax, 5 2 js signon ; goto signon if SF = 1 3 jo elseblock ; goto elseblock if OF = 1 and SF = 0 4 jmp thenblock ; goto thenblock if SF = 0 and OF = 0 5 signon: 6 jo thenblock ; goto thenblock if SF = 1 and OF = 1 7 elseblock: 8 mov ebx, 2 9 jmp next 10 thenblock: 11 mov ebx, 1 12 next : Assembler 80x86 Dr. Luciano Capitanio 24 12
13 Strutture di controllo Signed JE branches if vleft = vright JNEbranches if vleft <> vright JL, JNGE branches if vleft < vright JLE, JNG branches if vleft<=vright JG, JNLE branches if vleft >vrightt JGE, JNLbranches if vleft>=vright Unsigned JE branches if vleft = vright JNEbranches if vleft <> vright JB, JNAE branches if vleft < vright JBE, JNA branches if vleft<=vright JA, JNBE branches if vleft > vright JAE, JNA branches if vleft>=vright Assembler 80x86 Dr. Luciano Capitanio 25 Strutture di controllo if ( EAX >= 5 ) EBX = 1; else EBX = 2; 1 cmp eax, 5 2 jge thenblock 3 mov ebx, 2 4 jmp next 5 thenblock: 6 mov ebx, 1 7 next: Assembler 80x86 Dr. Luciano Capitanio 26 13
14 Strutture di controllo if ( condition ) then block ; else else block ; 1 2 ; code to set FLAGS jxx else_block ; select xx so that branches if condition false 3 ; code for then block 4 jmp endif 5 else_block: 6 ; code for else block 7 endif: Assembler 80x86 Dr. Luciano Capitanio 27 Strutture di controllo if ( condition ) then block ; 1 ; code to set FLAGS 2 jxx endif ; select xx so that branches if condition false 3 ; code for then block 4 endif: Assembler 80x86 Dr. Luciano Capitanio 28 14
15 Strutture di controllo The while loop is a top tested loop: while( condition ){ body of loop; } 1 while: 2 ; code to set FLAGS based on condition 3 jxx endwhile ; select xx so that branches if false 4 ; body of loop 5 jmp while 6 endwhile:: Assembler 80x86 Dr. Luciano Capitanio 29 Strutture di controllo The do while loop is a bottom tested loop: do { body of loop; } while( condition ); 1 do: 2 ; body of loop 3 ; code to set FLAGS based on condition 4 jxx do ; select xx so that branches if true Assembler 80x86 Dr. Luciano Capitanio 30 15
L assembler 80x86. Corso di Calcolatori Elettronici II Prof. Giulio Iannello
L assembler 80x86 Corso di Calcolatori Elettronici II Prof. Giulio Iannello 6OLGHDFXUDGL6LPRQ3LHWUR5RPDQR Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II La rappresentazione
DettagliArchitetture I. Lez. V La preparazione dei programmi A.A. 09/10. Architetture degli Elaboratori I Danilo Bruschi
Architetture I Lez. V La preparazione dei programmi Preparazione programmi La sequenza di azioni da intraprendere per trasformare un programma scritto in assembler, o in altro linguaggio evoluto, in un
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
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
DettagliPseudo-operatori. Lo pseudo-operatore ORG
Pseudo-operatori Viene usato per inizializzare il Program Location Counter (PLC) Sintassi: ORG $HEXADDR Lo pseudo-operatore END Viene usato per terminare il processo di assemblaggio e saltare all entry
DettagliRiassunto. 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
DettagliFamiglia dei processori INTEL
Famiglia dei processori INTEL 1975 2002 8080-8086 - 80286-80386 - 80486 - Pentium - Pentium II-III-IV - Itanium Compatibilità del SW (assemby) 8086 80286 80386 80486 Pentium Pentium III Perché studiare
DettagliIstruzioni di modifica della sequenza di elaborazione
Istruzioni di modifica della sequenza di elaborazione Permettono di modificare la sequenza di esecuzione delle istruzioni di un programma, normalmente controllata dal meccanismo automatico di avanzamento
DettagliLinguaggio Assembler Intel -cenni - Calcolatori Elettronici B a.a. 2005/2006 Massimiliano Giacomin
Linguaggio Assembler Intel -cenni - Calcolatori Elettronici B a.a. 2005/2006 Massimiliano Giacomin 1 Un po di storia 1978: architettura 8086, a 16 bit, con registri dati a 16 bit e spazio di indirizzamento
DettagliCenni ad Assembly Intel
Cenni ad Assembly Intel Luca Abeni April 17, 2015 Architerrura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi
DettagliArchitettura 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
DettagliAssembler Intel 80x86: Set delle istruzioni
Assembler Intel 80x86: Set delle istruzioni Calcolatori Elettronici B aa 2004/2005 Massimiliano Giacomin 1 Classi di istruzioni Il set di istruzioni dell Assembler Intel 80x86 può essere suddiviso nelle
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo Microprocessori INTEL per il PC 8080 (1974)
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
DettagliIl 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...
DettagliIl 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
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:
DettagliLinguaggio macchina e linguaggio assembly
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell
DettagliIl 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...
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
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Anno Accademico 2009-2010 Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo I processori Intel
Dettaglip = 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
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
DettagliHardware di un Computer
Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,
DettagliL architettura Intel
Architettura degli Elaboratori e delle Reti Lezione 33 L architettura Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 33 1/29 Le prime
DettagliProcessore PC. Spazio di indirizzamento. la ALU (Arithmetic and Logic Unit) la FPU (Floating Point Unit)
Processore PC Faremo riferimento al cosiddetto processore PC, che rappresenta una schematizzazione dei processori a 32 bit presenti nei Personal Computer. Il processore è costituito da due unità fondamentali:
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
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
DettagliLinguaggio 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
DettagliI.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086
I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi Elementi di Assembly 8086 1 Assembly 8086 I registri Per poter elaborare le informazioni ricevute dall esterno,
DettagliElementi di sicurezza e Privatezza. Lezione 8: memory error exploit
Elementi di sicurezza e Privatezza Lezione 8: memory error exploit Situazione I meccanismi di controllo degli accessi consentono un controllo particolarmente efficace su chi può fare cosa in un sistema
DettagliL architettura Intel
Architettura degli Elaboratori e delle Reti Lezione 33 L architettura Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 33 1/30 Le prime
Dettagli( ISA ) Architettura del Set di Istruzioni
( ISA ) Architettura del Set di Istruzioni Instruction Set Architecture Software Hardware Application Compiler Assembler Processor Memory Digital Design Circuit Design Operating System I/O system Datapath
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
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
DettagliLezione 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à
DettagliLe architetture INTEL
Le architetture INTEL Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it 1/24 Le prime architetture Intel 1978 8086. Estensione del
DettagliLA CPU INTEL Vantaggi dei programmi Assembly
1 LA CPU INTEL 8086 Vantaggi dei programmi Assembly L utilizzo del linguaggio Assembly anzichè di un linguaggio ad alto livello (tipo C o Pascal) è talvolta giustificato dalla maggiore efficienza del codice;
DettagliMC68000: programmazione assembly
Corso di Calcolatori Elettronici I MC68000: programmazione assembly Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
DettagliLezione 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
DettagliL architettura Intel
Architettura degli Elaboratori e delle Reti Lezione 33 L architettura Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 33 1/30 Le prime
Dettagli1.1.1 Esercizio conta le occorrenze di un carattere in una stringa
1.1.1 Esercizio conta le occorrenze di un carattere in una stringa Scrivere un programma che legge una stringa di memoria lunga un numero arbitrario di caratteri (ma terminata da \0), inserita in un buffer
DettagliArchitettura degli Elaboratori e delle Reti. L ISA di Intel. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti L ISA di Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano Patterson, sezione 2.17 1/38 Sommario
DettagliIng. Gabriele MONTI Controllo del flusso
1 Istruzioni per il controllo del flusso Ogni programma esegue automaticamente in successione le istruzioni i cui codici sono posti in memoria in locazioni successive. Ci si può immaginare che un programma
DettagliArchitettura degli Elaboratori e delle Reti. Lezione 29. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Lezione 29 L architettura Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano Patterson, sezione
Dettagli26 April CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio
CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio SOMMARIO Procedure di sistema (syscall) / direttive Chiamata a procedura semplice Chiamata a procedure intermedia Procedure ricorsive
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
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
DettagliNumeri Reali. Sottoinsieme discreto dei Numeri Razionali. Sequenze di bit. Underflow. Densità che dipende dal numero di bit usati
Numeri Reali Sottoinsieme discreto dei Numeri Razionali Sequenze di bit Overflow Underflow Overflow 0 Densità che dipende dal numero di bit usati 1 Numeri Reali Virgola fissa (1/5) Si usa un numero fisso
DettagliProgrammazione Assembly Note su Microsoft Assembler
Programmazione Assembly Note su Microsoft Assembler Giacomo Fiumara giacomo.fiumara@unime.it Anno Accademico 2012-2013 1 / 254 Microsoft Assembler Masm32.com installare configurare path perchè contenga
DettagliProgrammazione Assembly per 8088: Esercizi svolti
Programmazione Assembly per 8088: Esercizi svolti Marco Di Felice 13 dicembre 2006 1 Esercizio 1 (esercizio 1 del Tanenbaum, Appendice C) TESTO. Dopo l esecuzione dell istruzione MOV AX, 702 qual è il
DettagliCenni ad Assembly Intel
Cenni ad Assembly Intel Luca Abeni April 14, 2016 Architettura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi
DettagliLINGUAGGIO ASSEMBLER PER 8086/8088
LINGUAGGIO ASSEMBLER PER 8086/8088 Linguaggio Macchina insieme di istruzioni che un elaboratore è in grado di eseguire direttamente strettamente correlato alla realizzazione fisica dell'elaboratore Esempio
DettagliAssembly Introduzione Rev. Digitale 1.0 del 01/09/2016
Assembly 8086 - Introduzione Rev. Digitale 1.0 del 01/09/2016 E un linguaggio mnemonico in corrispondenza 1 : 1 con le istruzioni binarie riconosciute dalla CPU 8086. Cioè codifica con un nome mnemonico
DettagliCAPITOLO 4: BASI DI ASSEMBLY
CAPITOLO 4: BASI DI ASSEMBLY x86 Un giorno a qualcuno venne in mente di creare un processore 8086, che si è poi evoluto ed è diventato il più veloce 80286, meglio conosciuto come 286, che a sua volta ha
DettagliDal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente
DettagliSistemi Operativi. Introduzione all architettura IA-32 Lez. 16. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011
Sistemi Operativi Introduzione all architettura IA-32 Lez. 16 1 Microprocessori Intel Nel 1979 Intel introduce la famiglia dei microprocessore 8086 8086, 8087, 8088, e 80186 Processori a 16-bit con registri
DettagliArchitettura del set di istruzioni (ISA)
Architettura del set di istruzioni (ISA) 1 Instruction Set Architecture Software Hardware Application (Netscape) Compiler Assembler Processor Memory Digital Design Circuit Design transistors Operating
DettagliReverse engineering: disassembly
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Reverse engineering: disassembly Roberto Paleari Emanuele Passerini
DettagliIntel x 86. Prof. B.Fadini a.a. 2006/2007
Intel x 86 Prof. B.Fadini (fadini@unina.it) a.a. 2006/2007 La CPU 8086 e la gestione segmentata della memoria Prof. B.Fadini (fadini@unina.it) a.a. 2006/2007 % #&' 3 Intel 8086/8088 Registri a 16-bit Bus
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
DettagliEsempi di Programmi Assembly. Luigi Palopoli, Luca Abeni
Esempi di Programmi Assembly Luigi Palopoli, Luca Abeni Scopo della lezione In questa lezione vedremo alcuni esempi di programmi (o frammenti di programmi) in vari linguaggi assembly per renderciconto
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):
Dettagli21 March : ESERCITAZIONE 01 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA. I. Frosio
02: ESERCITAZIONE 01 21 March 2011 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA I. Frosio 1 SOMMARIO Organizzazione della memoria Istruzioni di accesso alla memoria Vettori Istruzioni
DettagliIl Linguaggio Assembly: Gestione della memoria e controllo
Il Linguaggio Assembly: Gestione della memoria e controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/42 Sommario L organizzazione
DettagliLinguaggio Assembler Intel 80x86. Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin
Linguaggio Assembler Intel 80x86 Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin 1 Scopi principali Studiare un ulteriore esempio di linguaggio assembler Saper svolgere semplici programmi
Dettagli; ; Definizione costanti
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 TITLE
DettagliTutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086.
I processori Intel Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. L'8086 e' un processore a 16 bit quindi i suoi registri potranno
DettagliMicroprocessori x86-16
Microprocessori x86-16 Segmenti............................................ 2941 «Registri...................2943 Trasferimento di dati tra due segmenti differenti........... 2947 Riferimenti a indirizzi
DettagliReverse engineering: disassembly
Università degli Studi di Milano Facoltà di Scienze e Tecnologie Dipartimento di Informatica Reverse engineering: disassembly Lanzi Andrea A.A. 2014 2015 Andrea Lanzi Reverse
DettagliControllo 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
DettagliManualino minimale MIPS
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
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
DettagliArchitettura del Set di Istruzioni (ISA)
Architettura del Set di Istruzioni (ISA) Maurizio Palesi Maurizio Palesi 1 Instruction Set Architecture (ISA) Software instruction set Hardware Maurizio Palesi 2 1 Instruction Set Architecture (ISA) Applicazioni
DettagliGestione dello Stack nel MIPS
Gestione dello Stack nel MIPS Lo stack cresce da indirizzi di memoria alti verso indirizzi di memoria bassi ad es. sp-> 0x7fffffff 0x7ffffdfc riservata stack L inserimento di un dato nello stack (operazione
DettagliWINDOWZ: Remote Overflow Case Study and Protections. Matteo ryujin Memelli Antonio s4tan Parata
WINDOWZ: Remote Overflow Case Study Matteo ryujin Memelli Antonio s4tan Parata Agenda Introduzione al SEH Exploiting SEH Overwrite Demo Windows Protections /SafeSEH + /GS internals Conclusioni Riferimenti
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Graziano Pravadelli Dipartimento di Informatica Università di Verona Introduzione all assembly In questa lezione vengono introdotti i concetti fondamentali
DettagliLinguaggio macchina e linguaggio assembler
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliInstruction Set Architecture
( ISA ) Architettura del set di istruzioni Instruction Set Architecture Software Hardware ( Netscape ) Application Compiler Assembler Processor Memory Digital Design Circuit Design transistors Operating
DettagliSET/CLEAR LOAD DATA FROM STRING
SET/CLEAR STD CLD AZIONE: Imposta ad 1 (STD) o a zero (CLD) il valore del flag DF. Sono istruzioni senza parametri. Vanno sempre messi!! FLAG di cui viene modificato il contenuto: Nessuno (a parte DF).
DettagliArchitettura e funzionamento del calcolatore
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore
DettagliEsercitazione n. 3. Dott. Salvatore Pontarelli
Esercitazione n. 3 Dott. Salvatore Pontarelli Struttura di un modulo Assembly Assembly è il linguaggio che l ARM assembler (armasm) legge per produrre il codice oggetto. può essere: ARM assembly language
DettagliSistemi Operativi 1. Mattia Monga. 6 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 6 marzo 2007 1 c 2007 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliArchitettura degli elaboratori (A)
Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma
DettagliARCHITETTURE 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
DettagliInterrupts and Exceptions
s and Exceptions Da Understanding Linux Kernel Daniel P. Bovet, Marco Cesati Gli interrupts sono generati da timer e da periferiche sono asincroni Le exception sono sincrone Errori di programma Condizioni
DettagliL assembler 80x86. Corso di Calcolatori Elettronici II Prof. Giulio Iannello
L assembler 80x86 Corso di Calcolatori Elettronici II Prof. Giulio Iannello 6OLGHDFXUDGL6LPRQ3LHWUR5RPDQR Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II I sottoprogrammi:
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
DettagliQuesti trasparenti sono una versione estesa di quelli prodotti per il consorzio NETTUNO. 01/04/03 G. Bucci - Calcolatori Elettoronici 1
Questi trasparenti sono una versione estesa di quelli prodotti per il consorzio NETTUNO 01/04/03 G. Bucci - Calcolatori Elettoronici 1 Giugno 1978: 8086 40 piedini 29.000 transistori f = 5 Mhz CPI = 15
DettagliIstruzioni e linguaggio macchina
Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare
DettagliParte V. Il Livello delle Istruzioni Macchina
Parte V Il Livello delle Istruzioni Macchina V.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità
DettagliLezione 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
Dettagli7 May INTERRUPT ED ECCEZIONI I. Frosio
1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM) Decodifica
DettagliSistemi Operativi. Bruschi Martignoni Monga. Send/Receive mini send Enqueue e dequeue mini receive mini notify. System call in MINIX
1 Mattia Lezione XIX: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo
Dettagli