assume CS:Code, DS:Data, SS:Stack Start mov dl, 100 mov dh, 100 push dx Rajz

Hasonló dokumentumok
assume 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

Assebly 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.

Assembly. Iványi Péter

code segment para public 'code' assume cs:code, ds:code, es:nothing, ss:nothing

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.

Assembly Rekurzív függvények, EXE, C programok. Iványi Péter

Assembly utasítások listája

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.

Előszó avagy Murphy és az optimizmus. Tartalomjegyzék

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

Megszakítások és kivételek

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz

Assembly Utasítások, programok. Iványi Péter

A 32 bites x86-os architektúra regiszterei

Processzorok Utasításszintű Kezelése tavasz

Adatelérés és memóriakezelés

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés]

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

n-pr H 5 C 6 CHCl 2 Pascal és assembler

Stack Vezérlés szerkezet Adat 2.

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.

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

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

1. Az utasítás beolvasása a processzorba

Az 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:

Máté: Assembly programozás

Assembly programozás levelező tagozat

Introduction to 8086 Assembly

A 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

Kitlei Róbert kitlei.web.elte.hu. Karunkról Kari digitális könyvtár

Assembly Címzési módok. Iványi Péter

Digitális rendszerek. Utasításarchitektúra szintje

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

ELŐSZÓTJ "Előszó" \l

Aritmetikai utasítások I.

Bevezetés a számítástechnikába

Máté: Assembly programozás

A számítógép alapfelépítése

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Programozás alapjai. 10. előadás

1. Digitális integrált áramkörök

A MiniRISC processzor

Szegmens regiszterek (16 bitesek)

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása

Karunkról Kari digitális könyvtár

GÁBOR DÉNES FŐISKOLA PREZENTÁCIÓ. Vezetőtanár: Ágoston György 2002/ szemeszter. 222 lap

Miért van szükség fordítóprogramokra? Fordítóprogramok célja és szerkezete. Miért van szükség fordítóprogramokra?

Az interrupt Benesóczky Zoltán 2004

Számítógép architektúrák

Információs Technológia

SysCVideo: fiktív grafikus kártya SystemC modulként, SDL alapú megjelenítéssel

Assembly programozás levelező tagozat

1. ábra: Perifériára való írás idődiagramja

Assembly programozás Bevezetés

Intel x86 utasításkészlet + disassembler működése

Perifériakezelési módszerek (Korrigált) Feltétel nélküli

Máté: Assembly programozás

Bevezetés az assembly nyelvbe

Bevezetés az informatikába

2016/08/31 02:45 1/6 Hardver alapok

Paraméter átadás regisztereken keresztül

Mikrovezérlık története (nagyon) röviden

Assembly. Iványi Péter

Bevezetés a méréstechnikába és jelfeldolgozásba. Tihanyi Attila április 24.

Multimédiás alkalmazások

Intel x86 utasításkészlet

A 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...

2017/12/16 21:33 1/7 Hardver alapok

Tesztelés és hibajavítás Microsoft Visual Studio 2005 fejlesztőkörnyezetben

GPU 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

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

VI. Robotprogramozó Országos Csapatverseny évfolyam

Kézikönyv. Felhasználói regiszter

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

Nevezetes függvények

Pénzügyi algoritmusok

A számítógép alapfelépítése

PE/COFF fájl formátum

5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása

Újdonságok az ArchiTECH.PC V es verziójában

Egyszerű RISC CPU tervezése

A mikroszámítógép felépítése.

Aritmetikai utasítások

Mérési utasítás Mikrokontroller programozás 2.sz. mérés

Számítógépek felépítése

Hangkártya programozása

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

INTEL 8085 gépi utasításkészlete

AutoCAD 2000H rajzszerkesztés

Számítógépes grafika

Másolás és beillesztés lehetőségei. A rétegmaszk

A másolás folyamata VAGY. Xerox WorkCentre 5845/5855/5865/5875/5890. Vezérlőpanel. Dokuadagoló opció. Dokuüveg opció

Kézikönyv. Pénzügyi könyvelés manuális rögzítése

A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer

A MIMIO interaktív tábla használata. Dr. Boda István DRHE,

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

Microsoft Office Word (2013) Jellemzői: Grafikus szövegszerkesztő program, sokféle formázási lehetőséggel. Ablak részei : címsor

II. KMAPR21TNB, KMAPR21ONB PC

A windows alapképernyő részei:

Biztonságos programozás Puffer túlcsordulásos támadások

Átírás:

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 folytonos vonalat rajzol miközben figyeli a rajzolásra kijelölt terület határait. : pop push xor add mov 8 bites megoldás dx dx dh, dh ax, dx di, ax 16 bites megoldás Code Start: Rajz: : Var: Segment assume CS:Code, DS:Data, SS:Stack mov mov ax, Code DS, AX mov dl, 100 mov dh, 100 push dx mov int mov mov ax, 13h 10h ax, 0a000h es, ax xor ah, ah mov al, dh push dx mov bx, 320 mul bx add al, dl jnc inc ah push dx mov di, ax mov al, 128 mov es:[di], al xor int ah, ah 16h cmp al, 27 jz Program_Vege cmp ah, 75 jz Balra cmp ah, 77 jz Jobbra cmp ah, 72 jz Felfele cmp ah, 80 jz Lefele jmp Var Balra: dec dl cmp dl, 1 ; jnc Tarol1 jnc Tarol inc dl jmp Tarol ;Tarol1: ; push dx ; jmp Rajz Jobbra: inc dl cmp dl, 250 ; jc Tarol2 jc Tarol dec dl jmp Tarol ;Tarol2: ; push dx ; jmp Rajz Felfele: dec dh cmp dh, 1 ; jnc Tarol3 jnc Tarol inc dh jmp Tarol ;Tarol3: ; push dx ; jmp Rajz Lefele: inc dh cmp dh, 200 ; jc Tarol4 jc Tarol dec dh jmp Tarol ;Tarol4: ; push dx ; jmp Rajz Tarol: push jmp Program_Vege: mov int dx Rajz ax, 03h 10h Code Data Data Stack Stack pop mov int Ends Segment Ends Segment Ends End dx ax, 4c00h 21h Start

Balra? Jobbra? Felfelé? Lefelé?

mov dl, 100 ;X koordináta mov dh, 100 ;Y koordináta push dx Balra? Jobbra? Felfelé? Lefelé?

mov ax, 13h ;XVIEW hibás! int 10h Balra? Jobbra? Felfelé? Lefelé?

mov ax, 0a000h ;Videó Kezdőcím mov es, ax ;Extra Segmens Balra? Jobbra? Felfelé? Lefelé?

; = Y * 320 + X Rajz: ;dx-ben Y(dh), X(dl) koordináta xor ah, ah mov al, dh ;ax-ben Y koordináta push dx ;dx mentése, mul utasítás felülírja mov bx, 320 mul bx ;Y koordináta * 320 ;dx-ben Y(dh), X(dl) koordináta add al, dl ;X koordináta hozzáadása jnc inc ah ;van átvitel Rajz Balra? Jobbra? Felfelé? Lefelé?

: push dx mov di, ax mov al, 128 ;pixel színe mov es:[di], al ;videó memóriába beállítja a megfelelő pixel színét Balra? Jobbra? Felfelé? Lefelé?

Var: xor int ah, ah 16h Var Balra? Jobbra? Felfelé? Lefelé?

cmp al, 27 jz Program_Vege Balra? Jobbra? Felfelé? Lefelé?

Balra? cmp ah, 75 jz Balra Balra? Jobbra? Felfelé? Lefelé?

Jobbra? cmp ah, 77 jz Jobbra Balra? Jobbra? Felfelé? Lefelé?

Felfele? cmp ah, 72 jz Felfele Balra? Jobbra? Felfelé? Lefelé?

Lefele? cmp ah, 80 jz Lefele jmp Var Var Balra? Jobbra? Felfelé? Lefelé?

Balra: Tarol1: Számol és dec dl cmp dl, 1 jnc Tarol1 inc dl push dx jmp Rajz ;CTRL+C -> CTRL+V változások ki lesznek emelve Rajz Balra? Jobbra? Felfelé? Lefelé?

Számol és Jobbra: inc dl cmp dl, 250 jc Tarol2 dec dl Tarol2: push dx jmp Rajz ;CTRL + C és CTRL +V a Balra és Jobbra blokk, változások ki lesznek emelve Rajz Balra? Jobbra? Felfelé? Lefelé?

Számol és Felfele: dec dh cmp dh, 1 jnc Tarol3 inc dh Tarol3: push dx jmp Rajz Rajz Balra? Jobbra? Felfelé? Lefelé?

Számol és Lefele: inc dh cmp dh, 200 jc Tarol4 dec dh Tarol4: push dx jmp Rajz Rajz Balra? Jobbra? Felfelé? Lefelé?

mov ax, 03h int 10h ;üzemmód visszaállítása pop dx Balra? Jobbra? Felfelé? Lefelé?