P1.3 Projektovanje makroasemblera

Слични документи
P1.2 Projektovanje asemblera

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

P11.3 Analiza zivotnog veka, Graf smetnji

Logicko projektovanje racunarskih sistema I

P1.0 Uvod

P9.1 Dodela resursa, Bojenje grafa

P2.1 Formalne gramatike

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Zbirka resenih zadataka iz arhitekture racunara

RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova

PROMENLJIVE, TIPOVI PROMENLJIVIH

P11.2 Izbor instrukcija, IBURG

AR2019

Funkcije predavač: Nadežda Jakšić

Fortran

Precesor Intel 8086

Funkcije predavač: Nadežda Jakšić

Algoritmi i arhitekture DSP I

OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su me

RACUNARSKA ELEKTRONIKA – VEŽBE 3

Tutoring System for Distance Learning of Java Programming Language

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Pojačavači

Kombinatorno testiranje

Tutoring System for Distance Learning of Java Programming Language

kvadratna jednačina - zadaci za vežbanje (Vladimir Marinkov).nb 1 Kvadratna jednačina 1. Rešiti jednačine: a x 2 81 b 2 x 2 50 c 4 x d x 1

P9.2 Optimizujuci kompajler, prednji deo

P11.1 Izbor instrukcija, najveci zalogaj

Uvod u računarstvo 2+2

Projektovanje tehnoloških procesa

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

Inženjering informacionih sistema

Classroom Expectations

Microsoft Word - CAD sistemi

Strukture predavač: Nadežda Jakšić

Uvod u takmičarsko programiranje

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Grananje u programu predavač: Nadežda Jakšić

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Microsoft Word - Multidisciplinarne obuke _ Satnica

Uvod u organizaciju i arhitekturu računara 2 1

Повезивање са интернетом

Ravno kretanje krutog tela

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PowerPoint Presentation

Oblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr

Osnovni programiranja I

COMARC/A Format

ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Baze podataka MySQL Community Server i MySQL Workbench

Mathcad - MCADMod MCD

Microsoft PowerPoint - jkoren10.ppt

Kvadratna jednaqina i funkcija 1. Odrediti sve n N takve da jednaqina x3 + 7x 2 9x + 1 x 2 bar jedno celobrojno rexee. = n ima 2. Ako za j-nu ax 2 +bx

Programski jezik C

Analiticka geometrija

Рачунарска интелигенција

_sheets.dvi

Microsoft PowerPoint - 12a PEK EMT VHDL 1 od 4 - Uvod (2011).ppt [Compatibility Mode]

3.Kontrlne (upravlja~ke) strukture u Javi

Алгебарски изрази 1. Запиши пет произвољних бројевних израза. 2. Израчунај вредност израза: а) : ; б) : (

Microsoft Word - 24ms241

UNIVERZITET U ZENICI

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

Univerzitet u Beogradu Mašinski fakultet Konstrukcija i tehnologija proizvodnje letelica PODEŠAVANJE PROGRAMSKOG PAKETA CATIA V5 Miloš D. Petrašinović

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

Microsoft Word - MySQL_3.doc

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU

Microsoft PowerPoint - X i XI termin - odredjivanje redosleda poslova [Compatibility Mode]

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме Сала Математика :00 све Основи електротехнике :00 све Програмирање

Logicko projektovanje racunarskih sistema I

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију

ЛИНЕАРНА ФУНКЦИЈА ЛИНЕАРНА ФУНКЦИЈА у = kх + n А утврди 1. Које од наведених функција су линеарне: а) у = 2х; б) у = 4х; в) у = 2х 7; г) у = 2 5 x; д)

1.1. Programiranje i programski jezici Uvod -pojmovi programa i programiranja prisutni su danas na svakom koraku, pogotovo u masovnim medijima

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.

KATALOG ZNANJA IZ INFORMATIKE

Microsoft Word - 13pavliskova

18 1 DERIVACIJA 1.3 Derivacije višeg reda n-tu derivaciju funkcije f označavamo s f (n) ili u Leibnizovoj notaciji s dn y d x n. Zadatak 1.22 Nadite f

Microsoft Word - Projekat iz MIPS-a - simCPU.doc

DUBINSKA ANALIZA PODATAKA

Microsoft Word - 02 Elementi programskog jezika Pascal

Računarski softver Da bi računarski sistem mogao da radi, pored hardvera mora biti opremljen i odgovarajućim programima koji će njime upravljati.ova k

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Matematika 1 - izborna

Model podataka

Teorija skupova - blog.sake.ba

Vektorski procesori Najveći izvor paralelizma su DoAll petlje kako je već definisano u poglavlju o paralelizaciji petlji. Paralelizam tih petlji, ako

Microsoft Word - X-Lite_EUnetUputstvo_Mart11.doc

Sveucilište u Zagrebu

Microsoft Word - TAcKA i PRAVA3.godina.doc

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

Osnove inženjerske informatike II. Uvod u programiranje Vaš prvi program K. F. & V. B.

Транскрипт:

ПРОЈЕКТОВАЊЕ МАКРОАСЕМБЛЕРА Макроасемблер Потребна проширења асемблера 1

МАКРОАСЕМБЛЕР Макроасемблер преводи полазни програм написан на макроасемблерском језику у извршиви машински програм. Приликом израде асемблерског програма често се делови програма понављају више пута. Уводи се отворени потпрограм, који се назива МАКРО ДЕФИНИЦИЈА, а позива се МАКРО ИНСТРУКЦИЈОМ. 2

МАКРОАСЕМБЛЕРСКИ ЈЕЗИК Особине Језик вишег нивоа Уз задржавање предности асемблера Могућност стандардизације Третира се као проширење асемблера Примене Описивање оперативног система (ОС) Генерисање ОС макро претпроцесирањем Симболичке машинске инструкције нове апстрактне машине, нпр. save, restore, итд. 3

МАКРОИ У ВИШИМ ПРОГРАМСКИМ ЈЕЗИЦИМА Макро искази (макрои) постоје и у вишим програмским језицима Нпр. у језику Це(++) Директиве Це макро претпроцесора #include, #ifdef, #endif, itd. Макрои се дефинишу помоћу #define Нпр. #define MAX(A,B) ((A)>(B): (A)? (B)) Макро MAX(x,y) се развија у ((x)>(y)? (x) : (y)) 4

Проширења асемблера ради обраде макроинструкција: Прво: да препозна макроинструкцију. Друго: да прошири макроинструкцију. Да би то урадио он најпре треба да пронађе и сачува макродефиницију која одговара макроинструкцији. Макро дефиниција започиње MACRO, а завршава са ENDM псеудо инструкцијом. 5

Препознавање макроинструкција: Препознавањем псеудо операције MACRO име је у пољу лабеле Најпростији начин: додати врсту у табели кода операције. Ова врста садржи назив макро инструкције и указивач на одговарајућу макро дефиницију. Дефиниције макроа се чувају у ТАБЕЛИ МАКРО ДЕФИНИЦИЈА. 6

Обрада макро дефиниције Врста табеле КОП садржи симболички КОП, његов тип, одговарајући нумерички код и тип његових операнада Макро нема нумерички код Ту се смешта индекс одговарајуће макродефиниције у табели макро дефиниција (ТМД) Задњи елеменат, тип операнда, није битан за макро инструкцију 7

Пример ТМД Смешта се цела макро дефиниције Све симболичке инструкције унутар ње су у редоследу у коме су се појавили у процедури полазног језика INDEKS TABELA MAKRO DEFINICIJE (TMD) 15 ADDUP MACRO ADD ADD ADD MEND Pl, P2, P3 AX, P1 BX, P2 CX, P3 8

ЛИСТА НАЗИВА ПАРАМЕТАРА: Поред табеле макро дефиниција користи се и листа назива параметара (ЛНП). Она успоставља везу између фиктивних и стварних параметара макро инструкције. Унутар макро дефиниције параметри се могу референцирати и преко индекса у листи параметара. 9

Пример ЛНП Нпр. макроинструкција: ADDUP DATA1, DATA2, DATA3 ADDUP назив макроинструкције DATA1, DATA2, DATA3 су стварни параметри ( аргументи ) TABELA LISTE NAZIVA PARAMETARA (LNP) INDEKS 1 2 3 STVARNI PARAMETAR DATA 1 DATA 2 DATA 3 FIKTIVNI PARAMETAR P1 P2 P3 10

Проширивање макро инструкција (обавља се у фази превођења): Макро инструкција се замењује телом одговарајуће макро дефиниције. Формални параметар у телу макро дефиниције се замењује одговарајућом вредношћу стварног параметра из поља операнда макро инструкције која се проширује. Даље следи први пролаз асемблера. 11

Специфичности проширивања макроинструкција: Макро језик укључује макро променљиве, уграђене функције за баратање низовима знакова, изразе, и исказе доделе и избора. Дозвољена је само и међу рекурзија опасност од бесконачног развоја. Резултат променљив број инструкција. Замена фиктивних параметара стварним се обавља на нивоу ASCII знакова. 12

Пример програма у ЛПРС асемблеру #define NOP and R0, R0, R0 #define ZERO(x) sub x, x, x.text Begin: // program racuna a * b ZERO(R0) ld R1, a ld R2, b Loop: add R0, R0, R1 dec R2, R2 jmpnz Loop NOP 13