Kitlei Róbert kitlei.web.elte.hu. Karunkról Kari digitális könyvtár
|
|
- Emília Nagyné
- 7 évvel ezelőtt
- Látták:
Átírás
1 . előadás Kitlei Róbert kitlei.web.elte.hu Jegyzet: ssembly programozás Karunkról Kari digitális könyvtár
2 i az assembly? gépi kód: a számítógép által közvetlenül értelmezett és végrehajtott jelsorozat assembly: a gépi kód emberek számára könnyen értelmezhető reprezentációja
3 iért érdemes assemblyt tanulni? a legalacsonyabb absztrakciós szint a gépi kód felett gyors, hatékony bizonyos feladatokhoz nélkülözhetetlen új rálátást ad
4 ilyen assemblert használunk? architektúra: x86-32 két fő gyártó: D, Intel operációs rendszer: inux assembler: nasm több platformra is megtalálható linker: gcc
5 ilyen más tárgyak kapcsolódnak? Nagy hatékonyságú számítások RIC processzorokkal zeries (I nagygépek) Operációs rendszerek Programnyelvek I. és II.
6 Platform C64 start ldx #$0d cycle lda hworld,x sta $0400,x dex bne cycle hworld rts.text "hello world!!!"
7 Platform zeries nagygép TIT 'Hello World (V/C)' HO TRT R 2,0 UING *,2 * WRTR 'Hello World!' * R 5,5 R 4 * ND HO
8 Platform VX 0:.data.text.align.globl _main _main:.word 2 jbr 4 5:.data 7:.ascii "Hello, world.2"...
9 Platform x86, DO,.OD tiny.cod ORG 00h HO PROC OV H,09h DX,msg INT 2h OV X,4C00h INT 2h HO NDP msg D 'Hello World$' ND HO
10 Platform x86, DO, T ; WRITTN IN T (Turbo ssembler).od TIN COD GNT U C:COD, D:COD ORG 00h TRT: mov ah,9 mov dx,offt sg int 2h int 20h sg D 'Hello World',3,0,'$' COD ND ND TRT
11 Platform x86, NetD, gas.data msg:.string "Hello World\n" len:.long. msg.text.globl _start _start: push $len /* aenge */ push $msg /* dresse */ push $ /* tdout */ movl $0x4, %eax /* write */...
12 Platform x86, inux, nasm section.text global main main mov eax, 4 mov ebx, mov ecx, mov edx, H int 0x80 mov eax, xor ebx, ebx int 0x80 section.data H db Hello world
13 datábrázolás ogikai értékek hamis 0 bit igaz és and 0 vagy or nem not kizáró vagy xor 0 0 0
14 datábrázolás ogikai értékek bitmanipuláció and nulla töröl or egyes beállít 0 0 xor egyes átvált eredeti módosító spec. alk. önmagával módosítás: törlés
15 datábrázolás Nemnegatív számok a bitek sorban a bitek sorszáma számok előjel nélkül a szám értéke: 57 0 leírása: 000b az egyes bitek helyi értékei
16 datábrázolás Nemnegatív számok a kezdeti szám ha páros a szám, nullát írunk, ha páratlan, egyet majd osztunk kettővel, és folytatjuk amíg maradt a számból ekkor a végeredményt alulról felfele olvasva kapjuk: 6 = 0 0 2
17 datábrázolás Nemnegatív számok hexadecimális (tizenhatos) számrendszer mint tízesben számok leírása xCD = C 0 0 0h = D 0 h posztfixszel nullát kell írni 5 0 F elé, ha betűvel kezdődik
18 datábrázolás Nemnegatív számok összeadás az összeg egy bittel hosszabb, erre majd fel kell készülni (átvitel) = = 2 nem keletkezik túlcsordulás =0 2 a nullát leírjuk, az egyes túlcsordul 434 0
19 datábrázolás lőjeles számok +52 negálás bitenként not, majd egy hozzáadása -52 nyolc biten ábrázolva ún. kettes komplemens alak nemnegatív előjeles szám nullával kezdődik, alakja megegyezik az előjel nélküliekével not not not not not not not a szám legfelső bitje mutatja az előjelét (: negatív)
20 datábrázolás CII karakterek Karakter Ö ű Θ
21 datábrázolás CII karakterek Karakter Ö ű Θ Karakterkészlet CII IO Unicode
22 datábrázolás CII karakterek Karakter Karakterkészlet Kód (hexa) kódolás: CII CII 4 Ö IO kódolás: IO D6 ű Unicode 0 7 Θ kódolás: UTF-8
23 datábrázolás CII karakterek Karakter Karakterkészlet Kód (hexa) Ö IO D6 IO Θ
24 datábrázolás CII karakterek karakter új sor kocsivissza kódja 0 0 0D 3 szóköz Z a.. z megjegyzés a sorvége jelzése DO, Windows 0D 0, Unix, inux alatt a számjegyek az angol ábécé betűi sorban, kihagyás nélkül sok karakter nincs benne, ezért fejlesztették ki a Unicode-ot minden karaktert egy nyolc bites számmal kódolunk
25 memória felépítése R lineáris memóriamodell a memória byte-ok sorozata mindegyiknek egy 32 bites címe van DD DDF D0 memóriacímek D D C0 D... a memória tartalma
26 memória felépítése R lineáris memóriamodell egy lépésben kezelhető adatok byte 8 bit word 6 bit szó dword 32 bit duplaszó a memóriában byte-onként fordított sorrendben tárolódnak (little-endian) 0C7 0C7F 0C80 0C8... F 5 F 0C az 0C7 címen található duplaszó értéke: F5F 6 = az 0C8 címen található szó értéke: 57F 6 =
27 memória felépítése Regiszterek 7 az általános célú regiszterek D F eax ebx ecx edx esi edi a regiszter bitjei sorszámmal (vö. helyi érték) az általános célú regiszterek: eax, ebx, ecx, edx, esi, edi
28 memória felépítése Regiszterek az általános célú regiszterek 7 D F ax bx cx dx si di eax ebx ecx edx esi edi a regiszter bitjei sorszámmal (vö. helyi érték) az általános célú regiszterek: eax, ebx, ecx, edx, esi, edi 32 bitesek, egyes részeik külön névvel rendelkeznek
29 memória felépítése Regiszterek az általános célú regiszterek 7 D ah bh ch dh al bl cl dl F ax bx cx dx si di eax ebx ecx edx esi edi a regiszter bitjei sorszámmal (vö. helyi érték) az általános célú regiszterek: eax, ebx, ecx, edx, esi, edi 32 bitesek, egyes részeik külön névvel rendelkeznek
30 memória felépítése Regiszterek további 32 bites regiszterek jelzőbitek regisztere átviteli jelzőbit (carry) veremkezelő regiszterek: esp, ebp ezek is általános célúak csak a futási idejű verem kezelésére használjuk őket
31 fordítás menete agasszintű forráskód x.cpp y.adt z.hs Fordítóprogram g++ gnat ghc ssembly forráskód a.asm x.asm y.asm z.asm ssembler nasm g++ gas fasm Tárgykód a.o x.o y.o z.o
32 fordítás menete Tárgykód a.o x.o y.o z.o zerkesztő gcc Futtatható állomány a.out
33 z első program Programkód section.text ; a kódszegmens kezdete global main ; a program legyen elindítható main ; a program belépési pontját jelző címke mov eax, 4 ; a rendszerszolgáltatás mov ebx, ; paramétereinek beállítása: mov ecx, szoveg ; szöveg kiírása a képernyőre mov edx, 6 ; a szoveg címkéről 6 hosszan int 0x80 ; rendszerszolgáltatás hívása mov eax, ; a kilépés paramétereinek mov ebx, 0 ; beállítása int 0x80 ; rendszerszolgáltatás hívása: kilépés section.data ; az adatszegmens kezdete szoveg db Hello, 0x ; a szöveg, végén egy újsorral
34 z első program Fordítás, futtatás fordítás és futtatás > nasm hellovilag.asm -f elf > gcc hellovilag.o -o hellovilag >./hellovilag Hello > hellovilag.o hellovilag
35 z első program memóriacím az utasítás kódja F a memóriában sorban megjelenő bájtok a generált bájtok a paraméterek kódolt alakja CD CD C 6C 6F 0 az eredeti forrásszöveg section.text ; ez a 3 sor global main ; nem generál main ; kódot mov eax, 4 mov ebx, mov ecx, szoveg mov edx, 6 int 0x80 mov eax, mov ebx, 0 int 0x80 section.data szoveg db Hello db 0x ista
36 Utasítások datmozgatás mnemonik mov edx, ebx mov bh, 9 edx a céloperandus ebx a forrásoperandus mov ah, 0h ; 0 nélkül más mov ecx, 0xFDC ; a teteje nullákkal töltődik fel mov feltétel nélküli adatmozgatás általános elv a forrás és a cél hosszának meg kell egyeznie mov edi, címke ; edi címke értékét veszi fel, ami egy szám HTN mov ebx, [címke] mov eax, bl ; ebx a címke által jelölt mov [c], [c2] ; memóriacímen található ; duplaszó értékét veszi fel
37 Utasítások Tegyük fel, hogy címke értéke 0x0D7DD. kkor datmozgatás mov feltétel nélküli adatmozgatás mov ecx, címke hatása mov ecx, 0x0D7DD olyan, mint 0D7DD 0D7D 0D7DF 0D770 0D77... C C
38 Utasítások Tegyük fel, hogy címke értéke 0x0D7DD. kkor datmozgatás mov feltétel nélküli adatmozgatás hatása olyan, mov ecx, [címke] mint mov ecx, 0x775CC little endian bájtsorrend 0D7DD 0D7D 0D7DF 0D770 0D77... C C
39 Utasítások meg kell adni a méretet, csak a címből nem derül ki datmozgatás mov feltétel nélküli adatmozgatás mov dword [56789Dh], 0xC07D mov word [456789Ch], 59Dh mov byte [456789h], C D D D C 56789D F 56789C0... D 7 C0 7...
40 Utasítások datmozgatás movzx előjel nélküli hosszkiterjesztés movsx előjeles hosszkiterjesztés xchg adatok felcserélése movsx és movzx: a cél hosszabb, mint a forrás movzx: nullákkal terjeszt ki movsx: a felső bittel terjeszt ki mov al, b movzx bx, al ; bx = b movsx cx, al ; cx = b xchg bx, cx ; bx = 0xFF80, cx = 0x0080 HTN movzx eax, ebx movsx ax, edi xchg bl, edx
41 Utasítások ogikai műveletek not logikai nem and logikai és or logikai vagy xor logikai kizáró vagy mov al, 000b not al ; al = 00000b and al, 00000b ; al = b or al, 0000b ; al = 000b xor al, 0000b ; al = 000b
42 Utasítások ritmetikai műveletek inc érték növelése add összeadás dec érték csökkentése mov al, 6 mov dl, 5 sub al, dl ; al = inc al ; al = 2 add al, al ; al = 4 dec al ; al = 3 neg al ; al = -3 előjelesen hatása ekvivalens ezzel: not al inc al ; előjel nélkül: 253 sub kivonás neg negáció
43 Utasítások ritmetikai műveletek mul előjel nélküli szorzás imul előjeles szorzás div előjel nélküli osztás idiv előjeles osztás egyoperandusúak, ennek hosszától függően a másik: byte: ax illetve al (osztás maradéka: ah) szó: dx:ax illetve ax (osztás maradéka: dx) duplaszó: edx:eax illetve eax (osztás maradéka: edx) dx:ax és edx:eax regiszterek úgy tekintendőek, mintha egy 32 (64) bites regisztert alkotnának összeolvasva. HTN div 2 div byte 2 mul eax, 3
44 Utasítások ritmetikai műveletek mul előjel nélküli szorzás imul előjeles szorzás div előjel nélküli osztás idiv előjeles osztás mov al, 5 mov dx, 0x0F ; dl = -2, dh = 0 mov bx, mul dh ; ax = 50 = 0x0032, dl marad imul dl ; ax = 0xFF9C = -00 div bx ; ez nem ax-ot osztja, hanem dx:ax-ot: ; 0x0FFF9C = ; ax = 9224, dx = 3740 = 0x09C, dl = -00 idiv dl ; al = -92 = 0x4, ah = 24
45 Utasítások itforgatás shl és shr bitléptetés balra/jobbra sal és sar aritmetikai léptetés balra/jobbra rol és ror bitforgatás balra/jobbra mov eax, 0x38F ; eax = b shr eax, 3 ; eax = b shl eax, 5 ; eax = b ror eax, 7 ; eax = b rol eax, 3 ; eax = b sar eax, 4 ; eax = b sal eax, 2 ; eax = b kettőhatvánnyal szorzás shl, shr: előjel nélkül sal, sar: előjelesen
46 Utasítások Feltételvizsgálat cmp összehasonlítás jmp feltétel nélküli ugrás ja, jb, jc,... feltételes ugrások egy feltételvizsgálat két sorból áll cmp eax, ebx ; beállítja a jelzőbiteket je cimke ; a jelzőbitek állása szerint ugrik ; ha a feltétel nem áll fenn, a program ; a következő utasítással folytatódik a feltételes ugrások alakja < > nem előjeles jb, jnae jbe, jna ja, jnbe jae, jnb jelzőbitek je, jne = jz, jnz egyenlőség előjeles jl, jnge jle, jng jg, jnle jge, jnl jc, jnc átvitel
47 Utasítások ogikai műveletek bt bittesztelés bts bittesztelés és beállítás btc bittesztelés és törlés btr bittesztelés és fordítás seta,... feltételes értékbeállítás mov al, 00000b bt al, 0 ; átviteli bit =, al = 00000b bts al, 3 ; átviteli bit = 0, al = 0000b btc al, 5 ; átviteli bit =, al = 00000b btr al, 7 ; átviteli bit = 0, al = 0000b cmp al, 0000b sete dl ; dl =
Karunkról Kari digitális könyvtár
. előadás Jegyzet www.inf.elte.hu Karunkról Kari digitális könyvtár i az assembly? gépi kód: a számítógép által közvetlenül értelmezett és végrehajtott jelsorozat assembly: a gépi kód emberek számára könnyen
RészletesebbenAssembly utasítások listája
Assembly utasítások listája Bevezetés: Ebben a segédanyagban a fontosabb assembly utasításokat szedtem össze. Az utasítások csoportosítva vannak. A fontos kategóriába azok az utasítások tartoznak, amiknek
RészletesebbenMi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása
Mi az assembly Gyakorlatias assembly bevezető Fordítóprogramok előadás (A, C, T szakirány) programozási nyelvek egy csoportja gépközeli: az adott processzor utasításai használhatóak általában nincsenek
RészletesebbenAssembly Utasítások, programok. Iványi Péter
Assembly Utasítások, programok Iványi Péter Assembly programozás Egyszerű logikán alapul Egy utasítás CSAK egy dolgot csinál Magas szintű nyelven: x = 5 * z + y; /* 3 darab művelet */ Assembly: Szorozzuk
RészletesebbenA számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.
Példák számok kiírására A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni. Decimális számok kiírása Az alábbi
RészletesebbenA 32 bites x86-os architektúra regiszterei
Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)
RészletesebbenBalaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.
Balaton Marcell Balázs Assembly jegyzet Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. 1. Regiszterek Regiszterek fajtái a. Szegmensregiszterek cs (code):
RészletesebbenAdatelérés és memóriakezelés
Adatelérés és memóriakezelés Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)
RészletesebbenKitlei Róbert. Assembly programozás ELTE, 2007. Lektorálta: Dévai Gergely. Kitlei Róbert Assembly programozás 1
Kitlei Róbert Assembly programozás Lektorálta: Dévai Gergely ELTE, 2007 Kitlei Róbert Assembly programozás 1 Tartalomjegyzék Bevezető...3 Alapvető adatelemek...4 Logikai értékek...4 Előjel nélküli egész
RészletesebbenAritmetikai utasítások
Aritmetikai utasítások Az értékadó és aritmetikai utasítások során a címzési módok különböző típusaira látunk példát. A 8086/8088-as processzor memóriája és regiszterei a little endian tárolást követik,
RészletesebbenDigitális rendszerek. Utasításarchitektúra szintje
Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik
Részletesebbentalálhatók. A memória-szervezési modell mondja meg azt, hogy miként
Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési
RészletesebbenAssembly. Iványi Péter
Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter
RészletesebbenGyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék
Gyakorló feladatok Számrendszerek: Feladat: Ábrázold kettes számrendszerbe a 639 10, 16-os számrendszerbe a 311 10, 8-as számrendszerbe a 483 10 számot! /2 Maradék /16 Maradék /8 Maradék 639 1 311 7 483
RészletesebbenAssembly Címzési módok. Iványi Péter
Assembly Címzési módok Iványi Péter Gépi kód Gépi kód = amit a CPU megért 1-13 byte hosszúak lehetnek az utasítások Kb. 20 000 variációja van a gépi kódú utasításoknak Számítógép architektúrától függ Feszültség
RészletesebbenArchi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz
Archi2 Gyak (Processzorok Utasításszintű Kezelése) 2014 ősz Ajánlott irodalom Agárdi Gábor: Gyakorlati Assembly, LSI Oktatóközpont, 1996, ISBN 963 577 117 7 Agárdi G.: Gyakorlati Assembly haladóknak, LSI
RészletesebbenBevezetés a számítástechnikába
Bevezetés a számítástechnikába, Címzési módok, Assembly Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 2/9. ú utasítás
Részletesebbenassume CS:Code, DS:Data, SS:Stack Start mov dl, 100 mov dh, 100 push dx Rajz
Feladat5: rajzolo.asm Feladat meghatározása A feladat célja bemutatni egy egyszerű grafikai program segítségével a közvetlen címzést (grafikus VGA 320*200). A program a kurzor mozgató gombok segítségével
RészletesebbenProcesszorok Utasításszintű Kezelése tavasz
Processzorok Utasításszintű Kezelése 2014 tavasz Ajánlott irodalom Agárdi Gábor: Gyakorlati Assembly, LSI Oktatóközpont, 1996, ISBN 963 577 117 7 Agárdi G.: Gyakorlati Assembly haladóknak, LSI oktatóközpont,
RészletesebbenSegédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez
Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Sándor Tamás, sandor.tamas@kvk.bmf.hu Takács Gergely, takacs.gergo@kvk.bmf.hu Lektorálta: dr. Schuster György PhD, hal@k2.jozsef.kando.hu
RészletesebbenStack Vezérlés szerkezet Adat 2.
Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc
RészletesebbenAritmetikai utasítások I.
Aritmetikai utasítások I. Az értékadó és aritmetikai utasítások során a címzési módok különböző típusaira látunk példákat. A 8086/8088-as mikroprocesszor memóriája és regiszterei a little endian tárolást
RészletesebbenAssembly Rekurzív függvények, EXE, C programok. Iványi Péter
Assembly Rekurzív függvények, EXE, C programok Iványi Péter Algoritmusok előadás Rekurzív függvény FÜGGVÉNY nyomtat(n) print n HA n!= 0 nyomtat(n-1) ELÁGAZÁS VÉGE FÜGGVÉNY VÉGE Rekurzív függvény org 100h
RészletesebbenAssembly programozás levelező tagozat
Assembly programozás levelező tagozat Szegedi Tudományegyetem Képfeldolgozás és Számítógépes Grafika Tanszék 2011-2012-2 Tematika Assembly nyelvi szint. Az Intel 8086/88 regiszter készlete, társzervezése,
RészletesebbenMáté: Assembly programozás
Dr. Máté Eörs docens Képfeldolgozás és Számítógépes Grafika Tanszék Árpád tér 2. II. em. 213 6196, 54-6196 (6396, 54-6396) http://www.inf.u-szeged.hu/~mate Tantárgy leírás: http://www.inf.u-szeged.hu/oktatas/kurzusleirasok/
Részletesebbenassume CS:Code, DS:Data, SS:Stack Start: xor di, di mov si, 1 Torles int 10h mov dl, 40 xor bh, bh mov ah, 02h Kesleltet int 16h
Fealadat3: labda.asm Feladat meghatározása A program célja az assembly rutinok időzítési lehetőségeinek bemutatása. Az időzítés az AH00, INT1Ah funkció segítségével történik. A program egy labda leesését
Részletesebbencode segment para public 'code' assume cs:code, ds:code, es:nothing, ss:nothing
Készítsen VIZSGA3.COM programot, amely a képernyő bal felső sarkában megjeleníti az egérgombok pillanatnyi állapotát. Azaz a "bal", "jobb", "mindkettő", "egyik sem" szövegeket írja ki, attól függően, hogy
RészletesebbenBevezetés az informatikába gyakorló feladatok Utoljára módosítva:
Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 10 3.1. Megoldások... 12 A gyakorlósor lektorálatlan,
RészletesebbenA regiszterek az assembly programozás változói. A processzor az egyes mőveleteket kizárólag regiszterek közremőködésével tudja végrehajtani.
1. Regiszterek A regiszterek az assembly programozás változói. A processzor az egyes mőveleteket kizárólag regiszterek közremőködésével tudja végrehajtani. Általános célú regiszterek AX akkumulátor: aritmetikai
RészletesebbenMiért van szükség fordítóprogramokra? Fordítóprogramok célja és szerkezete. Miért van szükség fordítóprogramokra?
és szerkezete Így kényelmes programozni int sum = 0; for( int i=0; i
RészletesebbenBevezetés az informatikába gyakorló feladatok Utoljára módosítva:
Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 12 3.1. Megoldások... 14 A gyakorlósor lektorálatlan,
RészletesebbenSZÁMÉRTÉKEK (ÁT)KÓDOLÁSA
1 ELSŐ GYAKORLAT SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA A feladat elvégzése során a következőket fogjuk gyakorolni: Számrendszerek közti átváltás előjelesen és előjel nélkül. Bináris, decimális, hexadexcimális számrendszer.
RészletesebbenDr. Oniga István DIGITÁLIS TECHNIKA 2
Dr. Oniga István DIGITÁLIS TECHNIKA 2 Számrendszerek A leggyakrabban használt számrendszerek: alapszám számjegyek Tízes (decimális) B = 10 0, 1, 8, 9 Kettes (bináris) B = 2 0, 1 Nyolcas (oktális) B = 8
RészletesebbenParaméter átadás regisztereken keresztül
Eljárások paramétereinek átadási módjai Az eljárások deklarációjánál nincs mód arra, hogy paramétereket adjunk meg, ezért más, közvetett módon tudunk átadni paramétereket az eljárásoknak. Emlékeztetőül:
RészletesebbenHardverközeli programozás 1 1. gyakorlat. Kocsis Gergely 2015.02.17.
Hardverközeli programozás 1 1. gyakorlat Kocsis Gergely 2015.02.17. Információk Kocsis Gergely http://irh.inf.unideb.hu/user/kocsisg 2 zh + 1 javító (a gyengébbikre) A zh sikeres, ha az elért eredmény
RészletesebbenSzámítógép Architektúrák
Számítógép Architektúrák Utasításkészlet architektúrák 2015. április 11. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Számítógép Architektúrák Horváth
RészletesebbenSZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA
SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA BINÁRIS (kettes) ÉS HEXADECIMÁLIS (tizenhatos) SZÁMRENDSZEREK (HELYIÉRTÉK, ÁTVÁLTÁSOK, MŰVELETEK) A KETTES SZÁMRENDSZER A computerek világában a
Részletesebben1. Az utasítás beolvasása a processzorba
A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez
RészletesebbenSZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1
INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép
RészletesebbenUtasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28.
2. előadás Kitlei Róbert 2008. november 28. 1 / 21 Adatmozgató irányai regiszter és memória között konstans betöltése regiszterbe vagy memóriába memóriából memóriába közvetlenül másoló utasítás nincsen
RészletesebbenA számítógép alapfelépítése
Informatika alapjai-6 számítógép felépítése 1/8 számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: : Harvard struktúra : Neumann struktúra kétféle elrendezés alapvetően egyformán
RészletesebbenMegszakítások és kivételek
Megszakítások és kivételek Megszakítások Megszakítás a számítási rendszernek küldött jelzés, mely valamilyen esemény felléptéről értesíti. Egy megszakítás felléptekor a rendszer: megszakítja az aktív program
Részletesebben4. Fejezet : Az egész számok (integer) ábrázolása
4. Fejezet : Az egész számok (integer) ábrázolása The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson
RészletesebbenIntel x86 utasításkészlet + disassembler működése
Intel x86 utasításkészlet + disassembler működése Kód visszafejtés. Izsó Tamás 2016. november 10. Izsó Tamás Intel x86 utasításkészlet + disassembler működése / 1 Section 1 Intel X86 utasításkészlet Izsó
RészletesebbenASSEMBLY PROGRAMOZÁS TANTÁRGYHOZ SZÜKSÉGES ELŐISMERETEK ISMÉTLÉSE
ASSEMBLY PROGRAMOZÁS TANTÁRGYHOZ SZÜKSÉGES ELŐISMERETEK ISMÉTLÉSE Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék 2019. augusztus 31. A C programozási nyelv alapos ismerete
RészletesebbenÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA
1. Tízes (decimális) számrendszerből: a. Kettes (bináris) számrendszerbe: Vegyük a 2634 10 -es számot, és váltsuk át bináris (kettes) számrendszerbe! A legegyszerűbb módszer: írjuk fel a számot, és húzzunk
RészletesebbenAssembly. Iványi Péter
Assembly Iványi Péter Miért? Ma már ritkán készül program csak assembly-ben Általában bizonyos kritikus rutinoknál használják Miért nem használjuk? Magas szintű nyelven könnyebb programozni Nehéz más gépre
RészletesebbenC programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi
C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási
RészletesebbenIntel x86 utasításkészlet
Intel x86 utasításkészlet Kód visszafejtés. Izsó Tamás 2013. október 31. Izsó Tamás Intel x86 utasításkészlet/ 1 Section 1 Intel mikroprocesszor Izsó Tamás Intel x86 utasításkészlet/ 2 Intel mikroprocesszor
Részletesebben3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}
3. gyakorlat Számrendszerek: Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F} Alaki érték: 0, 1, 2,..., 9,... Helyi
RészletesebbenInformatika 1 2. el adás: Absztrakt számítógépek
Informatika 1 2. el adás: Budapesti M szaki és Gazdaságtudományi Egyetem 2015-09-08 1 2 3 A egy M = Q, Γ, b, Σ, δ, q 0, F hetes, ahol Q az 'állapotok' nem üres halmaza, Γ a 'szalag ábécé' véges, nem üres
RészletesebbenAssembly programozás levelező tagozat
Assembly programozás levelező tagozat Németh Gábor Szegedi Tudományegyetem Képfeldolgozás és Számítógépes Grafika Tanszék 2011-2012-2 A kurzusról Tematika Assembly nyelvi szint. Az Intel 8086/88 regiszter
Részletesebben2. Fejezet : Számrendszerek
2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College
RészletesebbenSzámítógép architektúrák
Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált (magas
Részletesebben5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
RészletesebbenGÁBOR DÉNES FŐISKOLA PREZENTÁCIÓ. Vezetőtanár: Ágoston György 2002/2003 6. szemeszter. 222 lap
GÁBOR DÉNES FŐISKOLA PREZENTÁCIÓ Vezetőtanár: Ágoston György 2002/2003 6. szemeszter 222 lap 1. oldal A vezetőtanár: Ágoston György tel: (1) 436-6556 e-mail: agoston@gdf-ri.hu A GDF hivatalos honlapja:
RészletesebbenPE/COFF fájl formátum
PE/COFF fájl formátum Kód visszafejtés. Izsó Tamás 2013. december 5. Izsó Tamás PE/COFF fájl formátum/ 1 Szimbólumtábla A programozási nyelvekben az típusokra, adatokra, függvényekre, ugrási címekre szimbólikus
RészletesebbenÚjrakonfigurálható technológiák nagy teljesítményű alkalmazásai
Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai Gyakorlat: SSE utasításkészlet Szántó Péter BME MIT, FPGA Laboratórium Vektorizáció Inline assembly Minden fordító támogatja (kivéve VS x64
RészletesebbenA mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg.
Mikroprocesszor A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg. A mikroprocesszor részei A mikroprocesszor a szokásos
RészletesebbenInformatikai Rendszerek Alapjai
Informatikai Rendszerek Alapjai Egész és törtszámok bináris ábrázolása http://uni-obuda.hu/users/kutor/ IRA 5/1 A mintavételezett (egész) számok bináris ábrázolása 2 n-1 2 0 1 1 0 1 0 n Most Significant
RészletesebbenProgramozás II. Segédlet az első dolgozathoz
Programozás II. Segédlet az első dolgozathoz 1 Tartalomjegyzék 1. Bevezető 4 2. Számrendszerek közötti átváltások 5 2.1 Tízes számrendszerből tetszőleges számrendszerbe................. 5 2.1.1 Példa.....................................
RészletesebbenElőszó avagy Murphy és az optimizmus. Tartalomjegyzék
Előszó avagy Murphy és az optimizmus Tartalomjegyzék Tartalomjegyzék...3 Előszó avagy Murphy és az optimizmus...7 1. Fejezet...8 A PC (DOS) filekezelésetm "filekezelése"...8 Egy file létrehozása...8 File
Részletesebben[1] Bevezetés. A "debug" a DOS-ból közvetlenûl indítható a "debug" szó begépelésével. Kilépés hasonlóképpen a "q" paranccsal történik.
Assembly Tutorial 1. Bevezetés 2. Hexaritmetika 3. Negatív számok 4. Regiszterek 5. Memória 6. Összeadás 7. A négy alapmûvelet 8. Megszakítások 9. Programok beírása 10. Karakterlánc kiírása 11. Átviteljelzô
RészletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
RészletesebbenI+K technológiák. Számrendszerek, kódolás
I+K technológiák Számrendszerek, kódolás A tárgyak egymásra épülése Magas szintű programozás ( számítástechnika) Alacsony szintű programozás (jelfeldolgozás) I+K technológiák Gépi aritmetika Számítógép
RészletesebbenHarmadik gyakorlat. Számrendszerek
Harmadik gyakorlat Számrendszerek Ismétlés Tízes (decimális) számrendszer: 2 372 =3 2 +7 +2 alakiérték valódi érték = aé hé helyiérték helyiértékek a tízes szám hatványai, a számjegyek így,,2,,8,9 Kettes
Részletesebben1. ábra: Perifériára való írás idődiagramja
BELÉPTETŐ RENDSZER TERVEZÉSE A tárgy első részében tanult ismeretek részbeni összefoglalására tervezzük meg egy egyszerű mikroprocesszoros rendszer hardverét, és írjuk meg működtető szoftverét! A feladat
RészletesebbenThe Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003
. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,
RészletesebbenDigitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással
Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással Megoldás Elméleti anyag: Processzor belső felépítése, adat
RészletesebbenHARDVERKÖZELI PROGRAMOZÁS1
HARDVERKÖZELI PROGRAMOZÁS1 Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék 2015.05.11 Követelmények Gyakorlat (aláírás) Óralátogatás (maximum hiányzás: 3) C programozási beugró
RészletesebbenA programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása
A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union
RészletesebbenInformatika érettségi vizsga
Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés
RészletesebbenMemóriagazdálkodás. Kódgenerálás. Kódoptimalizálás
Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX
RészletesebbenA fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása
A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus
Részletesebben10-es számrendszer, 2-es számrendszer, 8-as számrendszer, 16-os számr. Számjegyek, alapműveletek.
Számrendszerek: 10-es számrendszer, 2-es számrendszer, 8-as számrendszer, 16-os számr. Számjegyek, alapműveletek. ritmetikai műveletek egész számokkal 1. Összeadás, kivonás (egész számokkal) 2. Negatív
RészletesebbenEgyszerű RISC CPU tervezése
IC és MEMS tervezés laboratórium BMEVIEEM314 Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű RISC CPU tervezése Nagy Gergely Elektronikus Eszközök Tanszéke (BME) 2013. február 14. Nagy Gergely
RészletesebbenAnalóg és digitális jelek. Az adattárolás mértékegységei. Bit. Bájt. Nagy mennyiségû adatok mérése
Analóg és digitális jelek Analóg mennyiség: Értéke tetszõleges lehet. Pl.:tömeg magasság,idõ Digitális mennyiség: Csak véges sok, elõre meghatározott értéket vehet fel. Pl.: gyerekek, feleségek száma Speciális
RészletesebbenAssembly programozás: 2. gyakorlat
Assembly programozás: 2. gyakorlat Számrendszerek: Kettes (bináris) számrendszer: {0, 1} Nyolcas (oktális) számrendszer: {0,..., 7} Tízes (decimális) számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális
RészletesebbenKedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.
Kedves Diákok! Szeretettel köszöntünk Benneteket abból az alkalomból, hogy a Ceglédi Közgazdasági és Informatikai Szakközépiskola informatika tehetséggondozásának első levelét olvassátok! A tehetséggondozással
RészletesebbenDigitális technika (VIMIAA02) Laboratórium 1
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,
RészletesebbenBevezetés az informatikába
Bevezetés az informatikába 2. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Részletesebben[cimke:] [feltétel] utasítás paraméterek [; megjegyzés]
Szoftver fejlesztés Egy adott mikroprocesszoros rendszer számára a szükséges szoftver kifejlesztése több lépésből áll: 1. Forrás nyelven megírt program(ok) lefordítása gépi kódra, amihez megfelelő fejlesztő
RészletesebbenBevezetés az informatikába
Bevezetés az informatikába 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
RészletesebbenAssebly feladatok SHR SHL NOT NEG AND XOR. Ezt követően ismertetni kell a szoftver megszakítás fogalmát és szükségességét.
Bevezetés Assebly feladatok A feladatok mindegyike működőképes. A programkódok sok esetben tartalmaznak felesleges, vagy logikátlan megoldásokat. Ezeket a bemutatás során a hallgatókkal együtt kell optimalizálni.
RészletesebbenDigitális technika (VIMIAA02) Laboratórium 1
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,
RészletesebbenSzámítógépek felépítése, alapfogalmak
2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés
RészletesebbenTamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)
Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1 Előadás Bevezetés az informatikába Adatszerkezetek Algoritmusok, programozási technológiák Számítástudomány alapjai
RészletesebbenProgramozott soros szinkron adatátvitel
Programozott soros szinkron adatátvitel 1. Feladat Név:... Irjon programot, mely a P1.0 kimenet egy lefutó élének időpontjában a P1.1 kimeneten egy adatbitet ad ki. A bájt legalacsonyabb helyiértéke 1.
RészletesebbenLaborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő
RészletesebbenAlapfogalmak. Dr. Kallós Gábor A Neumann-elv. Számolóeszközök és számítógépek. A számítógép felépítése
Alapfogalmak Dr. Kallós Gábor 2007-2008. A számítógép felépítése A Neumann-elv A számítógéppel szemben támasztott követelmények (Neumann János,. Goldstine, 1945) Az elv: a szekvenciális és automatikus
RészletesebbenDigitális technika VIMIAA01
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 Fehér Béla BME MIT Digitális Rendszerek Számítógépek
RészletesebbenSzámítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
RészletesebbenGPU Lab. 3. fejezet. Az X86 Utasításkészlet. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc
3. fejezet Az X86 Utasításkészlet Grafikus Processzorok Tudományos Célú Programozása Assembly nyelv Assembly nyelv: Bitkódok (gépikód) helyett rövid párbetűs nevek (mnemonic) az utasításoknak és a regisztereknek.
RészletesebbenA kódgenerálás helye a fordítási folyamatban. Kódgenerálás I. (kifejezések és vezérlési szerkezetek) A kódgenerálás feladata. Ebben az előadásban...
A kódgenerálás helye a fordítási folyamatban Forrásprogram Forrás-kezelő (source handler) Kódgenerálás I. (kifejezések és vezérlési szerkezetek) Fordítóprogramok előadás (A,C,T szakirány) 2008. őszi félév
RészletesebbenA hibát az alábbi Python program segítségével tudjuk előidézni:
Bevezető Az ismertetésre kerülő biztonsági hiba 0day kategóriába tartozik, ezért sem a termék, sem a teljes hiba kihasználását lehetővé tevő kód bemutatása nem történik meg. A leírás célja az alkalmazott
RészletesebbenSzámítógép architektúrák
Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált
RészletesebbenELŐSZÓTJ "Előszó" \l
ELŐSZÓTJ "Előszó" \l Ebben a könyvben megpróbálom egy kicsit másképpen megközelíteni a gépi kódú programozást mint ahogyan az az eddig megjelent hasonló témájú kiadványokban történt. Nem elsősorban a programozás
RészletesebbenMérési utasítás Mikrokontroller programozás 2.sz. mérés
Mérési utasítás Mikrokontroller programozás 2.sz. mérés Szükséges ismeretanyag: - IBM PC kezelése, szövegszerkesztés, Double Commander - SB80C515 mikrokontroller felépítése, utasításai - HyperTerminál
RészletesebbenProgramozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
RészletesebbenA feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.
Szeretettel üdvözlünk Benneteket abból az alkalomból, hogy a Ceglédi Közgazdasági és Informatikai Szakközépiskola informatika tehetséggondozásának első levelét olvassátok! A tehetséggondozással az a célunk,
Részletesebben