II. KMAPR21TNB, KMAPR21ONB PC
|
|
- Orsolya Balla
- 8 évvel ezelőtt
- Látták:
Átírás
1 Programozás II. KMAPR21TNB, KMAPR21ONB PC assembly Sándor Tamás Ajánlott irodalom Diós Gábor és Rodek Lajos jegyzete. ( Máté Eörs: Assembly programozás, Novadat, Egyetemi Könyvtár Magyar nyelvű programozás honlap Pethő Ádám: Assembly alapismeretek
2 Tartalom Assembly, assembler Assembly jelentősége, jellemzői Számrendszerek, gépi adatábrázolás I8086 processzor család Assembly szerkezete, szintaxisa Az i8086 processzor utasítás készlete Assembly programok készítése Vezérlési szerkezetek megvalósítása Turbo debugger használata BCD aritmetika, bitforgatás és léptetés Assembly és a magasszintű nyelvek kapcsolata Műveletek sztringekkel Az.EXE és.com programok, a PSP Szoftver megszakítások Hardver megszakítások, rezidens programok Assembly, assembler Assembly Gépi szintű programozási nyelv, közvetlenül a processzor utasítás készletét használja Assembler Fordító program, amely az assembly programozási nyelven elkészített programot (.asm) tárgykódú programmá (.obj) fordítja. Linker A tárgykódú programból futtatható fájlt (.exe) állít elő. Mnemonikkal (mnemonic) Egy gépi utasítást helyettesítő 2-5 betűs kulcsszó. Assembly jelentősége, jellemzői nagyon egyszerű, elemi műveletek típustalanság rögzített utasításkészlet világos, egyszerű szintaxis kevés vezérlési szerkezet nagyon kevés adattípus; ha több is van, akkor általában egymásból származtathatók Assembly előnyei korlátlan hozzáférésünk van a teljes hardverhez, beleértve az összes perifériát (billentyűzet, nyomtató stb.) pontosan ellenőrizhetjük, hogy a gép tényleg azt teszi-e, amit elvárunk tőle ha szükséges, akkor minimalizálhatjuk a program méretét és/vagy sebességét is
3 Assembly hátrányai a forrás sokszor áttekinthetetlen még a szerzőnek is a kódolás nagy figyelmet, türelmet, és főleg időt igényel nagy a hibalehetőség a hardver alapos ismerete elengedhetetlen a forrás nem hordozható, azaz más alapokra épülő számítógépre átírás nélkül nem vihető át (ez persze igaz a gépi kódra is) Számrendszerek, gépi adatábrázolás 2, 8, 10, 16-os számrendszerben előjeles és előjelnélküli számokkal történő művelet végzés (+, -, *, /) BCD aritmetika 8086-os processzor jellemzői 8086-os felépítése Memóriakezelés Regiszterek Adattípusok Memória hivatkozások, címzési módok Veremkezelés I/O, megszakítási rendszer
4 8086 felépítése
5 8088 funkcionális blokkvázlata
6 Memóriakezelés
7 Memória- modellek A memória-modell a memória hozzáférésének módját és technikáját írja le. Fajtái: Lineáris modell Szegmentált modell Lapozásos modell Szegmentált memóriakezelés Fizikai cím = 10H* szegmens cím + ofszet cím 6A4B0H = 10H * 6A3BH H 00400H = 10H * 0030H H 00400H = 10H * 0020H H Regiszterek Általános regiszterek AX (Accumulator) Aritmetikai utasítások bemeneti és eredmény értékét tárolhatja. BX (Base) Báziscímzés használt regiszter. CX (Counter) Ciklus utasítás esetén ciklusszámlálóként használatos. DX (Data) Port kezelő utasítások (In, Out) esetén a port címét tartalmazza. Általános regiszterek osztott hivatkozása AX AH AL
8 Vezérlő regiszterek SI (Source Index) Blokk kezelő utasítások esetén a forrás terület címét tartalmazza. DI (Destination Index) Blokk kezelő utasítások esetén a cél terület címét tartalmazza. SP (Stack Pointer) A verembe legutóbb behelyezett érték címét tartalmazza. BP (Base Pointer) Báziscímzés esetén használatos, de alapesetben a verem egy elemét jelöli ki. Vezérlő regiszterek II. IP (Instruction Pointer) A következő végrehajtandó utasítás memóriacímét tartalmazza. Közvetlenül nem érhető el, de tartalma írható és olvasható is a vezérlésátadó utasításokkal. SR avagy Flags (Status Register) A processzor aktuális állapotát, az előző művelet eredményét tartalmazza, illetve a processzor működését befolyásoló biteket, ú.n. flag-eket (jelzőket) tartalmazza. Szintén nem érhető el közvetlenül, de manipulálható különféle utasításokkal. Állapot regiszter (SR avagy Flags (Status Register) ) I. C (Carry) Előjel nélküli számábrázolás esetén művelet végzés után a számtartomány túllépését jelzi. O (Overflow) Előjeles számábrázolás esetén művelet végzés után a számtartomány túllépését jelzi. P (Parity even) 1, ha az eredmény legalsó bájtja páros számú 1-es bitet tartalmaz, különben 0. Állapot regiszter (SR avagy Flags (Status Register) ) II. A (Auxilliary carry, Adjust) 1 jelzi, ha volt átvitel az eredmény 3-as és 4-es bitje (tehát az alsó és a felső nibble) között. Adjuk össze a 78BCD és a 87BCD értékeket! 78BCD 87BCD 165BCD «« BCD kiegészítés, A és a Cy bitek miatt BCD aritmetika MOV AX,78h ; 78BCD-t hex formában adjuk meg ADD AX,87h DAA ; 87BCD-t hex formában adjuk meg ; BCD kiegészítést, ha szükséges, akkor elvégzi ; Carry és Ac állapotától függően Állapot regiszter (SR avagy Flags (Status Register) ) III. Z (Zero) Értéke 1, ha az eredmény zérus lett. S (Sign) Értéke 1, ha az eredmény nullánál kisebb lett. T (Trap) Ha 1, akkor a lépésenkénti végrehajtás (single-step execution) engedélyezve van. I (Interrupt enable) Ha 1, akkor a maszkolható megszakítások engedélyezettek.
9 D (Direction) Ha 0, akkor a blokk mozgató utasítások növelik SI-t és/vagy DI-t, különben csökkentés történik. Szegmens regiszterek CS (Code Segment) A végrehajtandó program kódját tartalmazó szegmens címe. Nem állítható be közvetlenül, csak a vezérlésátadó utasítások módosíthatják. DS (Data Segment) Az alapértelmezett, elsődleges adatterület szegmensének címe. ES (Extra Segment) Másodlagos adatszegmens címe. SS (Stack Segment) A verem szegmensének címe. Címzési módok Program terület címzése Közeli cím JMP címke; ugrás szegmensen belül Távoli cím JMP FAR cím; ugrás szegmensen kívülre Relatív cím JE címke; ugrás előjeles egy bájtnyit Adatterület címzése Adatterület címzése Közvetlen címzés A címzés alakja [offs16], ahol offs16 egy 16 bites abszolút, szegmensen belüli ofszetet (rövid mutatót) jelöl. MOV AX, [3F4Bh] Báziscímzés A címzés egy bázisregisztert használ az ofszet cím megadására. A lehetséges alakok: [BX], [BP]. A forrás adat ofszet címét a használt bázisregiszterből fogja venni a processzor. MOV CX, [BP] Indexcímzés A címzés egy index regisztert használ az ofszet cím megadására. MOV AX, [SI] Bázis+relatív címzés Ide a [BX+rel8], [BX+rel16], [BP+rel8], [BP+rel16] formájú címmegadások tartoznak. A rel16 egy előjeles szó, rel8 pedig egy előjeles bájt, amit a processzor előjelesen kiterjeszt szóvá. Ezek az ú.n. eltolások (displacement). Bármelyik változatnál a megcímzett bájt ofszetjét a bázisregiszter tartalmának és az előjeles eltolásnak az összege adja meg. MOV AX, [BP+07Ah]
10 Index+relatív címzés Hasonlóan a báziscímzés / indexcímzés pároshoz, ez a bázis+relatív címzési mód párja. Alakjai: [SI+rel8], [SI+rel16], [DI+rel8], [DI+rel16]. MOV AX, [SI+06Bh] Bázis+index címzés A két nevezett címzési mód keveréke. A következő formákat öltheti: [BX+SI], [BX+DI], [BP+SI] és [BP+DI]. A regiszterek sorrendje természetesen közömbös, így [BP+SI] és [SI+BP] ugyanazt jelenti. A cél bájt ofszetjét a két regiszter értékének összegeként kapjuk meg. MOV [SI+BP], AX Regiszter-regiszter címzés MOV AX, BX Stack terület címzése PUSH op. POP op.
11 Stack (verem) Működése: Last In First Out Alkalmazás: Szubrutinok visszatérési érték tárolása Paraméter átadás szubrutin híváskor Regiszterek ideiglenes tárolása Változók ideiglenes tárolása Utasítás: PUSH op. POP op. Veremkezelés példa mov mov mov push push pop push pop pop ax,1212h bx,3434h cx,5656h ax bx ax cx bx cx
12 Kiindulási állapot SS:SP Memória cím tartalma hexában SS:0100H? SS:00FEH? SS:00FCH? SS:00FAH? AX=1212H, BX=3434H, CX=5656H, SP=0100H PUSH AX után SS:SP Memória cím tartalma hexában SS:0100H? SS:00FEH 1212 SS:00FCH? SS:00FAH? AX=1212H, BX=3434H, CX=5656H, SP=00FEH PUSH BX után SS:SP Memória cím tartalma hexában SS:0100H? SS:00FEH 1212 SS:00FCH 3434 SS:00FAH? AX=1212H, BX=3434H, CX=5656H, SP=00FCH POP AX után SS:SP Memória cím tartalma hexában SS:0100H? SS:00FEH 1212 SS:00FCH 3434 SS:00FAH? AX=3434H, BX=3434H, CX=5656H, SP=00FEH PUSH CX után SS:SP Memória cím tartalma hexában SS:0100H? SS:00FEH 1212 SS:00FCH 5656 SS:00FAH? AX=3434H, BX=3434H, CX=5656H, SP=00FCH POP BX után SS:SP Memória cím tartalma hexában SS:0100H? SS:00FEH 1212 SS:00FCH 5656 SS:00FAH? AX=3434H, BX=5656H, CX=5656H, SP=00FEH POP CX után SS:SP Memória cím tartalma hexában SS:0100H? SS:00FEH 1212 SS:00FCH 5656 SS:00FAH? AX=3434H, BX=5656H, CX=1212H, SP=0100H
13 Assembly sor szerkezete, szintaxisa Szimbólum Műveleti kód Operandusz(ok) megjegyzés kiir: MOV AX, BX ; AX<-BX Szimbólum Direktíva Operandus ;megjegyzés SZAM EQU 5 ; konstans deklaráció Assembly nyelv elemei assembly utasítások (főleg ezek alkotják a tényleges program kódját) pszeudo utasítások (pl. makrók, helyettesítő szimbólumok) direktívák Assembly utasítások Operátorok Processzor utasításai Operátorok kerek zárójelek szokásos aritmetikai műveleti jelek (+, -, *, /, MOD) mezőkiválasztó operátor (.) szegmens-előírás / -felülbírálás (:) memóriahivatkozás ([... ]) típus felülbírálás (PTR) adattípus megadás (BYTE, WORD, DWORD) duplikáló operátor (DUP) relációs operátorok (EQ, NE, GT, GE, LT, LE) pointer típusok (NEAR, FAR) szegmens /ofszet lekérdezés (SEG, OFFSET) méretlekérdező operátorok (LENGTH, SIZE, TYPE, WIDTH) Direktívák modul/forrásfájl lezárása (END) szegmens definiálása (SEGMENT...ENDS) szegmenscsoport definiálása (GROUP) szegmens hozzárendelése egy szegmensregiszterhez (ASSUME) értékadás a $ szimbólumnak (ORG) memória-modell megadása (MODEL)
14 egyszerűsített szegmensdefiníciók (CODESEG, DATASEG, FARDATA,UDATASEG,UFARDATA, CONST, STACK,.CODE,.DATA,.STACK) helyfoglalás (változó létrehozása) (DB, DW, DD, DF, DQ, DT) Konstans / helyettesítő szimbólum létrehozása (=, EQU) címke létrehozása (LABEL) eljárás definiálása (PROC...ENDP) külső szimbólum definiálása (EXTRN) szimbólum láthatóvá tétele a külvilág számára (PUBLIC) feltételes fordítás előírása (IF, IFccc, ELSE, ELSEIF, ENDIF) külső forrásfájl beszúrása az aktuális pozícióba (INCLUDE) felhasználói típus definiálása (TYPEDEF) struktúra, unió, rekord definiálása (STRUC...ENDS, UNION...ENDS, RECORD) a számrendszer alapjának átállítása (RADIX) makródefiníció (MACRO...ENDM) makróműveletek (EXITM, IRP, IRPC, PURGE, REPT, WHILE) utasításkészlet meghatározása (P8086, P186, P286, P386 stb.;.8086,.186,.286,.386 stb.) i8086 utasítás csoportjai Adatmozgató utasítások Blokk mozgató utasítások Aritmetikai és logikai utasítások Vezérlési szerkezetek Ugró utasítások Ciklus utasítások Szubrutinok Bitforgató, bitléptető utasítások Input, output utasítások Processzor vezérlő utasítások Megszakítás kezelő utasítások Adatmozgató utasítások MOV adatok mozgatása XCHG adatok cseréje PUSH adat betétele a verembe PUSHF Flags regiszter betétele a verembe POP adat kivétele a veremből POPF Flags regiszter kivétele a veremből LEA tényleges memóriacím betöltése LDS, LES teljes pointer betöltése szegmensregiszter: általános regiszter regiszter párba CBW AL előjeles kiterjesztése AX-be CWD AX előjeles kiterjesztése DX:AX-be XLAT, XLATB AL lefordítása a DS:BX című fordító táblázattal LAHF Flags alsó bájtjának betöltése AH-ba SAHF AH betöltése Flags alsó bájtjába Blokkmozgató utasítás MOVS, MOVSB, MOVSW blokk mozgatása
15 CMPS, CMPSB, CMPSW blokkok összehasonlítása SCAS, SCASB, SCASW keresés blokkban LODS, LODSB, LODSW betöltés blokkból STOS, STOSB, STOSW tárolás blokkba Példa a blokk másolásra Feladat: Másoljuk át 00100h forráscímtől kezdve 200h bájtot a 00200h címen kezdődő célterületre! forrásterület: 00100h 002FFh célterület: 00200h 003FFh beállítása masol: MOVSB CX>0 STD MOV CX, 200H ; D bit beállítása ; ciklus számláló MOV AX, DS ; MOV ES, AX ;ES <- DS MOV DI, 3FFH ; cél ofszet cím MOV SI, 2FFH ; forrás ofszet cím ;ES:[DI] <- DS:[SI] LOOP masol ; CX=CX-1 addig, ;amíg Vezérlési szerkezetek I. JMP feltétel nélküli ugrás JCXZ ugrás, ha CX = 0000h Jccc feltételes ugrás ( ccc egy feltételt ír le) CMP op1, op2; op2-op1 Reláció Műveleti kód S (előjelbit) Z (zéró bit) op1 > op2 JA 1 0 op1 < op2 JB 0 0 op1 = op2 JE 0 1
16 Ciklus utasítás LOOP címke masol: MOVSB CX>0 LOOP masol ; CX=CX-1 addig, ;amíg CX=végrehajtási szám Ciklustörzs CX=CX-1 i CX>0 h Feltételes ciklusok LOOPE címke LOOPZ címke masol: MOVSB ZF = 1 LOOPNE címke LOOPNZ címke LOOPZ masol ; CX=CX-1 addig, ;amíg CX>0 és
17 Szubrutinok CALL eljárás (szubrutin) hívása RET, RETF visszatérés szubrutinból mov ax, bx call szamol; SS:[SP] <- IP mov cx, dx szamol proc mov ax, 3 mov bx, 2 add ax,bx ret ; IP <- SS:[SP] szamol endp Szubrutin híváskor az IP értéke elmentődik A szubrutinból való visszatérés után a következő utasítással folytatódik a program Szubrutin befejezésekor az IP értéke visszaállítódik
18 Input, output utasítások IN al, dx IN ax, dx dx: port cím OUT dx, al OUT dx, ax dx: port cím Megszakítások INT megszakítási szám INT 21H INTO INT 04h hívása, ha OF = 1, különben NOP-nak felel meg IRET visszatérés megszakításból Egész számos aritmetika ADD összeadás ADC összeadás átvitellel (CF) együtt SUB kivonás SBB kivonás átvitellel (CF) együtt CMP összehasonlítás (flag-ek beállítása a cél és a forrás különbségének megfelelően) INC inkrementálás (növelés 1-gyel), CF nem változik DEC dekrementálás (csökkentés 1-gyel), CF nem változik NEG kettes komplemens képzés (szorzás 1-gyel) MUL előjeltelen szorzás IMUL előjeles szorzás DIV előjeltelen maradékos osztás IDIV előjeles maradékos osztás Összeadás Adjuk össze a 3F4Bh és 4141h értéket! MOV AX, 3F4Bh MOV BX, 4141h ADD AX, BX ;AX<- AX+BX
19 Végezzük el az alábbi műveletet! «4C22 9A4Dh + 3D33 8B3Ah 7F h MOV AX, 9A4Dh MOV BX, 8B3Ah ADD AX, BX MOV CX, 4C22h MOV DX, 3D33h ADC CX, DX ;AX<-AX+BX ;CX<-CX+DX+Cy Logikai utasítások AND op1, op2 ;op1<-op1&op2 Maszkolás & MOV AX, 3F4Bh AND AX, 0040h OR op1, op2 ;op1<-op1+op2 Maszkolás MOV AX, 3F4Bh OR AX, FFBFh XOR op1, op2 ; op1 <- op1 op2 MOV AX,0 XOR AX,AX NOT egyes komplemens képzés TEST logikai bit tesztelés MOV AX, 3F4Bh
20 TEST AX, 0040h ; S és Z bit állítása Bitléptető utasítások SHL előjeltelen léptetés (shiftelés) balra SHL op, 1/CL MOV CL, 3 MOV AX, 2 SHL AX, CL ;AX<- 2*2*2 SAL előjeles léptetés balra (ugyanaz, mint SHL) SHR előjeltelen léptetés jobbra SHR op, 1/CL MOV CL, 3 MOV AX, 8 SHR AX, CL ;AX<- 8/2/2/2 SAR előjeles (aritmetikai) léptetés jobbra SAR op, 1/CL MOV CL, 3 MOV AX, F8h SAR AX, CL ;AX <- -8/2/2/2 ROL balra forgatás (rotálás)
21 ROL op, 1/CL MOV CL, 3 MOV AX, 8h ROL AX, CL RCL balra forgatás Carry Flag-en át RCL op, 1/CL ROR jobbra forgatás ROR op, 1/CL RCR jobbra forgatás CF-en át RCR op, 1/CL Processzor vezérlő utasítások CLC CF flag törlése CMC CF flag komplementálása (invertálása) STC CF flag beállítása CLD DF flag törlése STD DF flag beállítása CLI IF flag törlése STI IF flag beállítása
22 Assembly programok készítése TASM {opciók} forrás{,tárgykód}{,lista}{,xref} /a, /s A szegmensek szerkesztési sorrendjét befolyásolják. Az első ábécé rend szerint, míg a második a definiálás sorrendje szerinti szegmens-sorrendet ír elő. Alapértelmezés a /s. /l, /la A listázás formátumát befolyásolják: normál (opció/l) ill. kibővített (/la) lista fog készülni. Alapértelmezésben nem készül lista. /m# A fordítás # menetes lesz (a # helyére egy számot kell írni). Alapérték a 2. /z Hiba esetén a forrás megfelelő sorát is kiírja. /zi, /zd, /zn A tárgykódba bekerülő nyomkövetési információt befolyásolják: teljes (/zi), csak a programsorok címei (/zd) vagy semmi (/zn). Alapértelmezés a /zn. Linkelés TLINK {opciók} tárgykód fájlok{, futtatható fájl}{, térkép}{, könyvtárak} /x, /m, /l, /s A térkép (map) tartalmát befolyásolják: nincs térkép (/x), publikus szimbólumok listája lesz (/m), kódhoz tartozó sorszámok lesznek (/l), szegmensinformáció lesz (/s). Alapértelmezés a /s. /c Érzékeny lesz a kisbetűkre és nagybetűkre. /v Engedélyezi a nyomkövetési információk beépítését a futtatható fájlba. /t Az alapértelmezett.exe helyett.com típusú futtatható fájlt készít. Fordítás menete outint proc push ax push bx push cx push dx ;soremeles mov dl,13d mov ah,2 int 21h mov dl,10d mov ah,2 int 21h mov ax,szam mov bx,10 mov cx,0 oszt: xor dx,dx div bx push dx inc cx cmp ax,0 ja oszt kiir: pop dx
23 vege1: pop outint add dx,'0' mov ah,2 int 21h loop kiir dx pop cx pop bx pop ax ret endp Programfordítás Fordítás lépései: Fordításhoz használható batch fájl: tasm /zd /la %1.asm tlink /v %1.obj Turbo debugger használata Assembly és a magas szintű nyelvek kapcsolata C forrás: extern "C" { extern unsigned int szamol(char,char, char); } ASM forrás: PUBLIC _szamol Példaprogram I. #include <stdio.h> char a=3, b=4, c=5; extern "C" { extern unsigned int szamol(char,char, char); } void main(void) { unsigned int eredmeny; eredmeny = szamol(a, b, c);
24 printf("eredmény: %d\n", eredmeny); } DOSSEG.MODEL SMALL.CODE PUBLIC _szamol _szamol PROC push bp mov bp,sp xor mov add adc pop ret _szamol END ax,ax al,byte PTR [bp+4] al,byte PTR [bp+6] al,byte PTR [bp+8] bp ENDP Példaprogram II. #include <stdio.h> char * TestString="Line 1\nline 2\nline 3"; extern "C" { extern unsigned int LineCount(char * StringToCount, unsigned int * CharacterCountPtr); } main() { unsigned int LCount; unsigned int CCount; LCount = LineCount(TestString, &CCount); printf("lines: %d\ncharacters: %d\n", LCount, CCount); } NEWLINE EQU 0ah ;the linefeed character is C's newline character DOSSEG.MODEL SMALL.CODE PUBLIC _LineCount _LineCount PROC push bp mov bp,sp
25 push si ;preserve calling program's register variable, if any mov si,[bp+4] ;point SI to the string sub cx,cx ;set character count to 0 mov dx,cx ;set line count to 0 LineCountLoop: lodsb ;get the next character and al,al ;is it null, to end the string? jz EndLineCount ;yes, we're done inc cx ;no, count another character cmp al,newline ;is it a newline? jnz LineCountLoop ;no, check the next character inc dx ;yes, count another line jmp LineCountLoop EndLineCount: inc dx ;count the line that ends with the null character mov bx,[bp+6] ;point to the location at which to return the character count mov [bx],cx ;set the character count variable mov ax,dx ;return line count as function value pop si ;restore calling program's register variable, if any pop bp ret _LineCount ENDP END Az.EXE és.com programok, a PSP comprog.asm exeprog.asm Szoftver megszakítások 10h FFh Jellegzetes szoftveres megszakítások Hardver megszakítások 0 Fh Megszakítás vezérlő Megszakítás fogalma Megszakítás kiszolgálás lépései Megszakításkérés hatására a futó program felfüggesztődik (CS:IP értéke és a Flags regiszter elmentődik) Megszakításkérés elbírálásra kerül (Flags regiszter Interrupt bit) Ha engedélyezett a megszakításkérés kiszolgálása, akkor a megszakítás vektortáblából (0:mszam*4) a kiszolgáló rutin címe betöltődik Kiszolgáló rutin lefut (IRET) CS:IP érték visszatöltődik A felfüggesztett program futása folytatódik a következő utasítással
Assembly 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é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é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é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é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é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 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é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é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é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é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é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é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é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é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é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észletesebbenAz assembly nyelv sor-orientált nyelv, tehát minden sorba pontosan egy utasítás kerül. Egy sor mezőkből áll a következőképpen:
Informatika szigorlat 16-os tétel: Az assembly nyelvek tulajdonságai és fordítása Az assembly nyelv tulajdonképpen a gépi kód szimbolikus megfelelője, azért jött létre, hogy könnyebben lehessen programozni
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é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é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é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é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észletesebbenAssembly programozás Bevezetés
Assembly programozás Bevezetés Varga László Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem (Tanács Attila nappali előadás fóliái alapján) Elérhetőségek, anyagok Személyesen Előadás
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é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észletesebbenAssembly Programozás Rodek Lajos Diós Gábor
Assembly Programozás Rodek Lajos Diós Gábor Tartalomjegyzék Ábrák jegyzéke Táblázatok jegyzéke Előszó Ajánlott irodalom IV V VI VII 1. Az Assembly nyelv jelentősége 1 2. A PC-k hardverének felépítése 4
RészletesebbenDr. Máté Eörs docens. Képfeldolgozás és Számítógépes Grafika Tanszék Árpád tér 2. II. em
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 mate@inf.u-szeged.hu Máté: Assembly programozás
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é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é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é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é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észletesebbenMikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység
Mikroprocesszor CPU C Central Központi P Processing Számító U Unit Egység A mikroprocesszor általános belső felépítése 1-1 BUSZ Utasítás dekóder 1-1 BUSZ Az utasítás regiszterben levő utasítás értelmezését
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észletesebbenA MiniRISC processzor
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK A MiniRISC processzor Fehér Béla, Raikovich Tamás, Fejér Attila BME MIT
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é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észletesebbenMáté: Assembly programozás
Szegmens, szegmens csoport sz_név SEGMENT aling_type combine_type osztály... szegmens sz_név ENDS sz_név a szegmens (szelet) neve. A fordító az azonos nevű szegmens szeleteket úgy tekinti, mintha folyamatosan,
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é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é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észletesebbenArchitektúra, megszakítási rendszerek
Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép
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észletesebbenBevezetés a számítástechnikába
Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások
RészletesebbenMáté: Assembly programozás
Paraméter másutt is előfordulhat a makró törzsben, nemcsak az operandus részen, pl.: PL macro p1,p2 mov ax,p1 P2 p1 PL mov INC Adat, INC ax,adat Adat A &, %,! karakterek továbbá a és ;; speciális szerepet
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é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észletesebbenAz integrált áramkörök kimenetének kialakítása
1 Az integrált áramörö imeneténe ialaítása totem-pole three-state open-olletor Az áramörö általános leegyszerűsített imeneti foozata: + tápfeszültség R1 V1 K1 imenet V2 K2 U i, I i R2 ahol R1>>R2, és K1,
RészletesebbenASSEMBLY PROGRAMOZÁS
ASSEMBLY PROGRAMOZÁS AJÁNLOTT IRODALOM 1)Pethő Ádám: Assembly alapismeretek 1. kötet, Számalk, Budapest, 1992 2)Peter Norton-John Socha: Az IBM PC Assembly nyelvű programozása, Novotrade, Budapest, 1991
RészletesebbenA Számítógépek felépítése, mőködési módjai
Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése Buszrendszer CPU OPERATÍV TÁR µ processzor
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észletesebbenMáté: Számítógép architektúrák
A mikroprogram Mic 1: 4.. ábra. 51x3 bites vezérlőtár a mikroprogramnak, MPC (MicroProgram Counter): mikroprogram utasításszámláló. MIR (MicroInstruction Register): mikroutasítás regiszter. Az adatút ciklus
Részletesebbenn-pr H 5 C 6 CHCl 2 Pascal és assembler
súlyosan károsította a magzatot, (a gyerekek csökevényes végtagokkal születtek). A teratogén hatást az S-(-) enatiomér hordozza, míg az R-(+) hatástalan. Az 1-metil-5-fenil-5-propilbarbitursav egyik enatiomere
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észletesebbenProgramozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
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é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é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észletesebbenJárműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás ATmega128 CPU Single-level pipelining Egyciklusú ALU működés Reg. reg., reg. konst. közötti műveletek 32 x 8 bit általános célú regiszter Egyciklusú
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é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észletesebbenMáté: Számítógép architektúrák
NEXT ADDRESS JMPC JAMN JAMZ SLL8 SRA1 F0 F1 ENA EN INVA INC H OPC TOS LV SP PC MDR MAR WRITE READ FETCH 4 sín Mikroutasítások 24 bit: az adatút vezérléséhez bit: a következő utasítás címének megadásához,
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é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észletesebbenMáté: Számítógép architektúrák
MPC új tartalma, JMPC JMPC esetén MPC 8 alacsonyabb helyértékű bitjének és MR 8 bitjének bitenkénti vagy kapcsolata képződik MPC-ben az adatút ciklus vége felé (MR megérkezése után). Ilyenkor Addr 8 alacsonyabb
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
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észletesebbenKarunkró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észletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
Részletesebben1 Doszpi
ADDLW Konstans hozzáadása W-hez ADDLW k Állított jelződitek: C, DC, Z A 8 bites k konstans hozzáadása W értékéhez; az eredmény a W-be kerül. ADDWF W és f összeadása ADDWF f, d Állított jelződitek: C, DC,
RészletesebbenMikrokontrollerek. Tihanyi Attila 2007. május 8
Mikrokontrollerek Tihanyi Attila 2007. május 8 !!! ZH!!! Pótlási lehetőség külön egyeztetve Feladatok: 2007. május 15. Megoldási idő 45 perc! Feladatok: Első ZH is itt pótolható Munkapont számítás Munkapont
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észletesebbenMáté: Számítógép architektúrák
Mikroarchitektúra szint Feladata az ISA (Instruction Set Architecture gépi utasítás szint) megvalósítása. Nincs rá általánosan elfogadott, egységes elv. A ISA szintű utasítások függvények, ezeket egy főprogram
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
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é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é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észletesebbenProgramozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
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észletesebbenINTEL 8085 gépi utasításkészlete
1 INTEL 8085 gépi utasításkészlete ADATMOZGATÓ UTASÍTÁSOK MOV r1,r2 (r1)
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenGábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006
Gábor Dénes Főiskola Győr Mikroszámítógépek Előadás vázlat 102 2004/2005 tanév 4. szemeszter A PROCESSZOR A processzorok jellemzése A processzor felépítése A processzorok üzemmódjai Regiszterkészlet Utasításfelépítés,
RészletesebbenAdatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája
Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból
RészletesebbenAdatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
RészletesebbenAdatok ábrázolása, adattípusok
Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában
RészletesebbenProgramozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
RészletesebbenKomputeralgebra Rendszerek
Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3
RészletesebbenMit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
RészletesebbenS z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
RészletesebbenVerilog HDL ismertető 2. hét : 1. hét dia
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Verilog HDL ismertető 2. hét : 1. hét + 15 25 dia Fehér Béla, Raikovich
RészletesebbenSzemantikai elemzés. konzisztenciájának vizsgálata a szemantikai elemzés feladata lesz.
Szemantikai elemzés A szintaktikai elemzés meghatározta az elemzend szöveg szintaxisfáját. szintaxisfa pontjaihoz olyan attribútumokat rendelünk, amelyek leírják az adott pont tulajdonságait. Ezeknek az
RészletesebbenFordító Optimalizálás
Fordító Optimalizálás Kód visszafejtés. Izsó Tamás 2012. szeptember 27. Izsó Tamás Fordítás Optimalizálás / 1 Section 1 Fordító részei Izsó Tamás Fordítás Optimalizálás / 2 Irodalom Fordító részei Optimalizálás
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észletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenA TURBO DEBUGGER HASZNÁLATA
HASZNÁLATA Az eddig megírt programjaink működését nem tudtuk ellenőrizni, így elég kényelmetlen programozni, hogy nem látjuk, tényleg azt csinálja-e a program, amit elvárunk tőle. Ha valami rosszul működik,
RészletesebbenAlgoritmizálás + kódolás C++ nyelven és Pascalban
Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban
RészletesebbenOperációs Rendszerek II. labor. 2. alkalom
Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,
RészletesebbenKitlei Róbert kitlei.web.elte.hu. Karunkról Kari digitális könyvtár
. előadás Kitlei Róbert kitlei.web.elte.hu Jegyzet: ssembly programozás 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
RészletesebbenDigitális technika VIMIAA01 9. hét Fehér Béla BME MIT
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 9. hét Fehér Béla BME MIT Eddig Tetszőleges
RészletesebbenDigitális technika VIMIAA01 9. hét
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 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Részletesebben