Motorola 68000: primi programmi assembly

Documenti analoghi
Rappresentazione di numeri interi

Processore M68000: ulteriori istruzioni

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 5 Linguaggio Assembly

Laboratorio di Architettura degli Elaboratori

Guida all installazione ed all uso di ASIM

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Istruzioni assembler Istruzione N Registri

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Sistemi di numerazione

Lecture 2: Prime Istruzioni

Dispensa del corso di Informatica

Il linguaggio assembly

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Famiglia dei processori INTEL

La tabella dell addizione Completa la tabella e poi rispondi alle domande.

Componenti di un processore

Cosa è l Informatica?

Corso di Informatica di Base

Costrutti condizionali e iterativi

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Corso di Informatica

Architettura degli Elaboratori

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Il calcolatore. Architettura di un calcolatore (Hardware)

Architettura hardware

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

NUMERI ED OPERAZIONI indicatori descrittori valutazione

Soluzioni Esercizi su rappresentazione binaria dell informazione

U"lizzo della memoria (Indirizzamento, le2ura, scri2ura) Dire8ve Assembler in SPIM

Rapida Nota sulla Rappresentazione dei Caratteri

Modi di indirizzamento del processore MC68000 (parte prima)

La tabella dell addizione Completa la tabella e poi rispondi alle domande.

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

LINGUAGGIO MACCHINA e ASSEMBLER. Una CPU MINIMA Il linguaggio macchina di MINIMA Il linguaggio Assembler per MINIMA

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

Abilità Informatiche e Telematiche

Funzione esponenziale Equazioni esponenziali RIPASSO SULLE POTENZE

Moltiplicazione. Divisione. Multipli e divisori

Rappresentazione numeri relativi e reali

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

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

Esempio di moltiplicazione come somma e spostamento

Modi di indirizzamento del processore MC68000 (parte seconda)

Aritmetica elementare

Strutture di iterazione

usare le funzioni aritmetiche e logiche di base come. Volgiamo costruire un foglio elettronico in cui registriamo i voti presi

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

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

Capitolo 5 Elementi architetturali di base

Lezione 3. I numeri relativi

Bit, Byte, Word e Codifica Dati

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

I formati delle istruzioni

Codifica binaria. Rappresentazioni medianti basi diverse

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Corso di Architettura degli Elaboratori

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di programmazione in linguaggio assembly del Motorola 68000

Corso di Laurea Ingegneria Civile Fondamenti di Informatica

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Aritmetica elementare

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

Calcolatori: Rappresentazione dei Dati e Aritmetica binaria

APPUNTI DI INFORMATICA

Tutorial Calcolatrice

Architettura di una CPU

I.4 Rappresentazione dell informazione

ISTITUTO COMPRENSIVO BASSA ANAUNIA DENNO PIANO DI STUDIO DI MATEMATICA CLASSE SECONDA. Competenza 1

Esercitazione 4. Comandi iterativi for, while, do-while

LABORATORIO DI INFORMATICA

Lezione 2. La conoscenza del mondo

La "macchina" da calcolo

Esempio di Patto Formativo per la classe terza

Laboratorio di Applicazioni numeriche

Mini-dispensa sui puntatori in C

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Unità Didattica 2 Rappresentazione dei Dati

La programmazione dei calcolatori. L insieme delle istruzioni. Vantaggi e svantaggi dell assembler. Benefici dei linguaggi ad alto livello

LE STRUTTURE IN PROGRAMMAZIONE ASSEMBLER

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

Calcolare con il computer: Excel. Saro Alioto 1

Learning by doing Attività all aperto/outdoor Training Lezione frontale Esercitazioni individuali Compito di apprendimento Approccio dialogico

OBIETTIVI MINIMI DI MATEMATICA

Architettura dei computer

Richiami sull architettura del processore MIPS a 32 bit

L insieme delle istruzioni

Cosa si intende con stato

Firmware Division & Floating pointer adder

Modulo 1: Le I.C.T. UD 1.2d: La codifica Digitale dei caratteri

PARTE III MACCHINE A REGISTRI

Lab 02 Tipi semplici in C

A = Quindi > b=a(:) b =

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Esercizi per il recupero del debito formativo:

Transcript:

Corso di Calcolatori Elettronici I A.A. 2012-2013 Motorola 68000: primi programmi assembly ing. Alessandro Cilardo Accademia Aeronautica di Pozzuoli Corso Pegaso V GArn Elettronici

Organizzazione dei dati in memoria programma006.a68 Un vettore è una sequenza ordinata di dati dello stesso tipo presenti in memoria Scrivere un programma che allochi in memoria un vettore contenente le 5 word (due byte) elencate di seguito: 2A11, 2FB1, CC92, 3E40, A119 (suggerimento: usare la direttiva DC) Compilare il programma e, osservando il file.lis, riconoscere il tipo di organizzazione dei dati in memoria adottato dal processore

Organizzazione dei dati in memoria programma007.a68 Estendere il precedente programma aggiungendo una seconda area dati avente la stessa dimensione del primo vettore, ma non inizializzata (suggerimento: usare la direttiva DS) Usando le opportune operazioni di trasferimento (MOVE), copiare il vettore iniziale nella seconda area allocata dal programma, in modo che il vettore risultante sia ordinato secondo una convenzione little-endian

Operazioni di shift Il processore 68000 mette a disposizione le seguenti istruzioni di shift (consultare il manuale per i dettagli della sintassi) ASL: shift aritmetico a sinistra ASR: shift aritmetico a destra LSL: shift logico a sinistra LSR: shift logico a destra ROL: ruota a sinistra ROR: ruota a destra

Operazioni di shift Scrivere un programma che contenga una variabile di tipo Word (due byte) in cui sia memorizzato il seguente valore: B155 programma008.a68 Il programma deve caricare il dato in un registro ed applicargli uno shift a destra. Compilare e simulare il programma. Osservare cosa cambia usando uno shift a destra logico piuttosto che aritmetico Ripetere le stesse prove con lo shift a sinistra

Operazioni di shift Scrivere un programma che contenga una variabile di tipo Long (4 byte) in cui sia memorizzato il seguente valore: B155 programma009.a68 Il programma deve moltiplicare il precedente dato per il valore 19 = (10011) 2, facendo uso soltanto di operazioni di shift e di addizione. suggerimento: ricordare un esempio simile presentato nella parte sulla rappresentazione dei numeri

Swap programma010.a68 Scrivere un programma che contenga due variabili di tipo Word (due byte) etichettate come A e B. Scegliere arbitrariamente il contenuto delle due locazioni di memoria Facendo uso di operazioni di spostamento, il programma deve eseguire lo swap, ovvero deve invertire i contenuti delle due locazioni di memoria A e B.

Costrutti condizionali programma011.a68 Scrivere un programma che contenga due variabili di tipo Word (due byte) etichettate come A e B. Scegliere arbitrariamente il contenuto delle due locazioni di memoria Facendo uso di operazioni di spostamento, di confronto (CMP) e di salto condizionato (Bcc), il programma deve eseguire lo swap, ovvero deve invertire i contenuti delle due locazioni di memoria, ma soltanto nel caso in cui il contenuto di A sia minore del contenuto di B

Costrutti condizionali e cicli programma012.a68 Scrivere un programma che calcola la moltiplicazione tra due variabili A e B secondo il seguente approccio: somma A un numero di volte indicato dal valore di B Ad esempio, per calcolare 5 x 3, calcola 5 + 5 + 5= 15 suggerimento: usare costrutti di confronto (CMP) e salto condizionato (Bcc) per creare un ciclo. Il ciclo deve essere ripetuto B volte. Usare un registro dati Dx, da inizializzare con il valore di B e decrementare fino a quando diventa 0, mentre in un altro registro dati Dy si somma ripetutamente il valore di A.