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.

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

Assembly utasítások listája

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

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.

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

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

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

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

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

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

A 32 bites x86-os architektúra regiszterei

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

Paraméter átadás regisztereken keresztül

Stack Vezérlés szerkezet Adat 2.

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

Felvételi tematika INFORMATIKA

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

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

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

INFORMATIKA javítókulcs 2016

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

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.

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

Assembly programozás levelező tagozat

Aritmetikai utasítások I.

Assembly programozás Bevezetés

Máté: Assembly programozás

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

Bevezetés a programozásba I.

Programozás I gyakorlat

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Processzorok Utasításszintű Kezelése tavasz

Assembly programozás levelező tagozat

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

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

INFORMATIKA tétel 2019

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

Megszakítások és kivételek

Bevezetés a programozásba I.

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

II. KMAPR21TNB, KMAPR21ONB PC

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

Aritmetikai utasítások

Assembly programozás: 2. gyakorlat

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

Programozás I gyakorlat

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

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

3. Egyenletek, egyenletrendszerek, egyenlőtlenségek

3. 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}

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

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

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

Bevezetés a programozásba I.

Dr. Oniga István DIGITÁLIS TECHNIKA 2

Introduction to 8086 Assembly

2. Fejezet : Számrendszerek

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

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

Máté: Assembly programozás

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

Irvine eljárások. ClrScr - Törli a képernyő tartalmát és a kurzort a képernyő bal felső sarkába helyezi (Clear Screen).

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

Adatszerkezetek 1. Dr. Iványi Péter

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

Informatikai Rendszerek Alapjai

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

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

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

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

BASH SCRIPT SHELL JEGYZETEK

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

Assembly. Iványi Péter

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA

6. A Pascal nyelv utasításai

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

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

Programozott soros szinkron adatátvitel

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

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

Számrendszerek. Bináris, hexadecimális

A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

Adatszerkezetek II. 10. előadás

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Tudnivalók az otthon kidolgozandó feladatokról

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Adatbázis rendszerek Gy: Algoritmusok C-ben

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

Harmadik gyakorlat. Számrendszerek

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

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e:

5.1.4 Laborgyakorlat: A Windows számológép használata hálózati címeknél

Elemi matematika szakkör

Rekurzió. Dr. Iványi Péter

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

Átírás:

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 eljárás decimális számokat ír ki. A kiírandó számot AX-ben várja. Az eljárás működésének lényege, hogy a k1-es címkéjű ciklus a számot mindaddig osztja 10-zel és helyezi a verembe a maradékot, amíg a maradék nem nulla. Ekkor ugyanis a legnagyobb helyiértékű számjegyhez értünk. A k1 címkével jelzett részlet első sora megvizsgálja, hogy AX értéke nulla-e, és ha igen, akkor két lehetőség áll fenn: 1. CX nulla volt (vagyis nem tettünk semmit korábban a verembe, ami azt jelenti, hogy AX eredetileg is 0 volt. 2. CX nem nulla, vagyis a verembe a számjegyek vannak. Ezesetben a k2 címkénél folytatódik a program futása. A k2 címkénél kezdődő programrészlet sorra veszi ki a számjegyeket a veremből (legfelül van a legnagyobb helyi értékű), és kiírja, mint karaktert. A szám mint karakter kiírása úgy történik, hogy a szám alaki értékét hozzáadjuk a 0 karakter ASCII kódjához, és az így kapott karaktert írjuk ki. A ciklus mindaddig folytatódik, amíg a legalacsonyabb helyi értékű karakterhez nem érünk.

;eljaras, ami kiir egy szamot decimalis alakban ;a szamot ax regiszterben varja szamkiir proc mov bx, 10d ;szamrendszer alapja mov cx, 0 ;verembe tett szamok szamlaloja k1: cmp ax, 0 ;addig osztunk amig nulla nem lesz je v1 ;ha nulla ugrik mov dx, 0 ;a kov. ut. dx:ax-et osztja! div bx ;osztas bx push dx ;maradek a verembe inc cx jmp k1 v1: jcxz cxnulla ;ugrik, ha nem tettunk semmit ;a verembe k2: pop ax ;kiveszunk egy erteket a verembol add al, 0 ;hozzaadjuk a 0 ASCII kodjat call betukiir ;kiirjuk a szamot (mint karaktert) loop k2 ;johet a kovetkezo jmp v2 cxnulla: mov al, 0 ;ha ax-ben 0 volt, call betukiir ;irjunk ki egy 0-t v2: ret szamkiir endp Hexadecimális számok kiírása A hexadecimális számok kiíratásának elve is ugyanaz, mint a decimálisoké, azonban jelentős különbség az, hogy a decimális számoknál nem csak számjegyek, hanem betűk is előfordulnak.

tobbjegyu hexat kiir proc push bx push cx push ax ; tobbjegyu szamot ir ki, ; amely AX-ben van cmp ax, 0 ; AX == 0? je nullat ir ; ha igen, akkor kiirjuk a 0-t ; AX helyett a szamot (DX:AX)-ben taroljuk xor dx, dx ; kinullazzuk DX-et mov cx, 0 ; CX = 0 mov bx, 16 ; BX = 16, ; hogy (DX:AX) erteket leoszthassuk 10-zel vizsgal: cmp ax, 0 ; BX == 0? je szam vege ; ha igen, akkor az elemzés ; vegere ertunk div bx ; DX-ben van a maradek, ; AX-ben van a hanyados az osztas utan push dx ; DX-ben van a szam utolso szamjegye, ; ezt berakjuk a verembe xor dx, dx ; kinullazzuk DX-et inc cx ; CX azt szamolja, ; hogy hany jegyu volt a szam jmp vizsgal nullat ir: mov bx, 0 call hexat kiir jmp elemzes vege

; ez a programresz akkor hivodik meg, ; ha minden szamjegyet feldolgoztunk szam vege: pop bx ; a verembol kiszedunk egy szamjegyet call hexat kiir ; ezt kiirjuk dec cx ; egy szamjeggyel kevesebbet kell kiirni cmp cx, 0 ; ha nincs tobb szamjegy, ; akkor vege a szamnak jne szam vege elemzes vege: pop ax pop cx pop bx ret tobbjegyu hexat kiir endp ; AX eredeti erteke ; CX eredeti erteke ; BX eredeti erteke hexat kiir proc betu: szamjegy: cmp bl, 9 jle szamjegy mov al, bl sub al, 10 add al, A mov ah, 14 int 010H jmp hexa vege mov al, 0 add al, bl mov ah, 14 int 010H hexa vege: ret hexat kiir endp ; kiirja BL-ben levo szamjegyet ; egy szamjegyet ugy irunk ki, hogy ; ha a szamjegy ; kisebb-egyenlo 9, akkor ; ugras "szamjegy"-re ; kulonben betut ir ki ; AL-be atmasolom a szamot ; kivonok belole 10-et ; es ehhez hozzaadom az ; A karakter kodjat ; BIOS parameterezes ; kiiratas ; a 0 karakterkodjahoz ; hozzaadjuk a szamjegyet

Számsorozat legnagyobb eleme Keressük meg egy bájtokból álló számsorozat legnagyobb elemét! A számsorozat hosszát a len változó tartalmazza. Az eredményt taroljuk a max változóban. Az adatszegmens pl. a következő is lehet: adat adat segment len dw 5 max db 0 sor db 4,5,2,7,3 ends MOV AX, ADAT MOV DS, AX MOV ES, AX MOV CX, len MOV SI, offset sor MOV DI, offset max ; elokeszites ; a szamsorozat hossza CX-ben van ; az SI-t a szamsor elejere allitjuk ; ide kell irni a maximalis elemet XOR DX, DX ; DL-ben lesz majd a maximum ciklus: LODSB ; egy bajtot toltunk be a SI-rol CMP DL, AL ; nagyobb-e a beolvasott szam ; a maximumnal? JLE tovabb ; nem valtozott a max XCHG AL,DL ; uj max ertek tovabb: LOOP ciklus ; ha CX 0, akkor ugras a cilusra MOV AL, DL ; a max-ot AL-be rakjuk STOSB ; AL erteket az adatszegmensbe ; taroljuk el Feladatok 1. Módosítsuk a maximum kereső programot hogy szavakból (dupla bájt) álló számsorozatra is működjön. 2. Módosítsuk a maximum kereső programot minimum kereső programra! Azaz keressük meg a sorozat legkisebb elemét. Figyeljünk a megfelelő kezdőértékekre! 3. Egészítsük ki a maximum kereső programot, hogy a legnagyobb szám első/utolsó előfordulási helyét a pos változóban tároljuk!