Assembly nyelv x86-os processzorokhoz

Hasonló dokumentumok
1 Rendszerkövetelmények

E-Freight beállítási segédlet

Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)

Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)

Elemi alkalmazások fejlesztése I.

PDF. Tartalomjegyzék 1/21

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

KIRA. KIRA rendszer. Telepítési útmutató v1

Thermo1 Graph. Felhasználói segédlet

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

GIRO GSM MODEM/VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

A Novitax ügyviteli programrendszer első telepítése

EDInet Connector telepítési segédlet

SQL Backup and FTP. A program telepítésének menete. A szoftvert a következő weboldalról ingyenesen tölthető le:

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre

1. A Windows programok telepítése

Telepítési útmutató a SMART Notebook 10 SP1 szoftverhez

Tanúsítvány feltöltése Micardo kártyára

Tanúsítvány és kulcspár biztonsági mentése/telepítése

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Digitális aláírás általános telepítése és ellenőrzése

kommunikáció Megoldások

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

Android alapok. Android játékfejlesztés

Telepítési útmutató a SMART Notebook 10.6 oktatói szoftverhez

A MOKKA hitelesítő szoftver telepítése és használata

Elektronikus aláírás ellenőrzése PDF formátumú e-számlán

Az FMH weboldal megnyitásakor megjelenő angol nyelvű üzenetek eltüntetése

Az Euro2A PLU letöltő-feltöltő program telepítése és használata Windows 9x/NT/2000/XP/Vista/Windows7/Windows8 (32/64bit) V január 7.

Adóbevallás leadása elektronikusan

A TURBO DEBUGGER HASZNÁLATA

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

Java telepítése és beállítása

GIROLOCK2 ROOT_CA ÉS ÜZEMI CA TANÚSÍTVÁNY IMPORTÁLÁSI SEGÉDLET

Microsec Zrt. által kibocsátott elektronikus aláírás telepítése Windows 7 (x86/x64) Internet Explorer 9 (32 bites) böngészőbe

WIFI elérés beállítása Windows XP tanúsítvánnyal

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Elektronikusan hitelesített PDF dokumentumok ellenőrzése

Java telepítése és beállítása

Megújított tanúsítvány cseréje a Windows tanúsítványtárban

Kézikönyv ABAS-TOOLS használata

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

MEGÚJÍTOTT GIROLOCK_CA TANÚSÍTVÁNYCSERE

KEZELÉSI ÚTMUTATÓ NAVIGÁCIÓS RENDSZER FRISSÍTÉSÉHEZ

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre

A nyomtatókkal kapcsolatos beállításokat a Vezérlőpulton, a Nyomtatók mappában végezhetjük el. Nyomtató telepítését a Nyomtató hozzáadása ikonra

Elektronikusan hitelesített PDF dokumentumok ellenőrzése

MEH-EIA felhasználói dokumentáció gyakran ismételt kérdések

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

Bevezetés a QGIS program használatába 3.4 verzió Összeállította: dr. Siki Zoltán

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

munkafüzet open eseményéhez

15.4.2b Laborgyakorlat: Mappa és nyomtató megosztása, a megosztási jogok beállítása

AZ N-WARE KFT. ÁLTAL ELEKTRONIKUSAN ALÁÍRT PDF DOKUMENTUMOK HITELESSÉGÉNEK ELLENŐRZÉSE VERZIÓ SZÁM: 1.3 KELT:

I. A program áttelepítése másik számítógépre

NINJA kezelői program letöltése és installálása

A program telepítése. A letöltés lépései: 1. nyissa meg a WEB-oldalt, majd válassza a Letöltés menüpontot a felső sorban:

1. A NÉPESSÉGNYILVÁNTARTÓ PROGRAM TELEPÍTÉSI FELTÉTELE. A

AZ N-WARE KFT. ÁLTAL ELEKTRONIKUSAN ALÁÍRT PDF DOKUMENTUMOK HITELESSÉGÉNEK ELLENŐRZÉSE VERZIÓ SZÁM: 1.1 KELT:

1. DVNAV letöltése és telepítése

Telepítési útmutató a SMART Response 2009 szoftverhez

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Gyökértanúsítványok telepítése Windows Mobile operációs rendszerekre

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Sygic: Voucher Edition for Android telepítése

SDX Professional 1.0 Telepítési leírás

ReszlAd fájl, kitöltési útmutató:

DuneHD.hu. Kompatibilis médialejátszók: Dune HD Center Dune BD Prime Dune HD Base 2.0 Dune HD Base 3.0 Dune BD Prime 3.0

Tanúsítvány és hozzá tartozó kulcsok telepítése szoftveresen tárolt tanúsítványok esetén

Internetkonfigurációs követelmények. A számítógép konfigurálása. Beállítások Windows XP alatt

Rendszerkövetelmények

Bluetooth Software frissítés leírása

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Telenor Webiroda. Kezdő lépések

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows7 operációs rendszer és Internet Explorer 8-es verziójú böngésző esetén

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

M-Fájlok létrehozása MATLAB-ban

lizengo használati utasítás A Windows egy USB stick-re való másolása

Bevezetés a QGIS program használatába 2.0 verzió Összeállította: dr. Siki Zoltán

Pro Printer Telepítése és beállítása

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Digitális aláíró program telepítése az ERA rendszeren

OpenVPN kliens telepítése a RITEK Zrt. szervereinek eléréséhez.

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre. Windows 7, Windows 8, Windows 8.1 és Windows 10-es operációs rendszeren 1(9)

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

CareLink Personal telepítési útmutató. Első lépések a CareLink Personal adatfeltöltéshez

15.4.2a Laborgyakorlat: Böngésző beállítása

Műveletek makrókkal. Makró futtatása párbeszédpanelről. A Színezés makró futtatása a Makró párbeszédpanelről

Windows 8.1 frissítés, részletes útmutató

Az Outlook levelező program beállítása tanúsítványok használatához

Bérprogram vásárlásakor az Ügyfélnek ben és levélben is megküldjük a termék letöltéséhez és aktiválásához szükséges termékszámot.

Heti Hálózati Hírek kapcsolt dokumentumok megnyitása

Útmutató a LOGSYS fejlesztői kábel eszközmeghajtó programjainak telepítéséhez

Távolléti díj kezelése a Novitax programban

Termékinformáció Adapter A: Video C: USB B: SVHS D: Jelzőlámpa az USB-porthoz csatlakoztatva világít

Az ActiveX beállítása

Átírás:

Assembly nyelv x86-os processzorokhoz Microsoft Visual Studio 2015 és MASM beállítása 32 bites alkalmazás készítéséhez szükséges előkészületek: Telepítsük fel a Visual Studio2015 fejlesztőkörnyezetet. A Visual Studio 2015 tartalmazza a Microsoft Assembler (MASM) 14.0-es verzióját. Ezt mi magunk is leellenőrizhetjük az ml.exe fájl lokalizálásával a Visual Studio telepítési könyvtárán belül a \vc\bin mappában (Pl.: c:\program Files\Microsoft Visual Studio 12.0\vc\bin). Minden, SZTE Informatikai Tanszékcsoportnál tanuló hallgató jogosult Microsoft termékek igénylésére, így a Visual Studio2015 fejlesztőkörnyezet is elérhető minden hallgató számára, aki eleget tesz az említett követelménynek. Igényléssel kapcsolatos részletes információért mindenki keresse fel a gyakorlatvezetőjét. Licence igénylése persze nem kötelező. A Visual Studio Express for Windows Desktop ingyenes kiadásával is tökéletesen működik az assembly fordítás. Emellett a programok jó eséllyel működni fognak a Visual Studio korábbi kiadásaival is, tehát nem feltétlenül szükséges a legújabb verzió beszerzése. Példa programcsomag telepítése: Az alábbi weboldalon érhető el a legújabb verziója a szükséges könyvtáraknak és példa programoknak: http://www.kipirvine.com/asm/examples/index.htm A weboldal megnyitása után válasszuk ki a legfelső, legutóbbi verziót: Example programs and link library source code for the Seventh Edition, using Visual Studio 2012 or 2013 A kiválasztással letöltésre kerül a telepítendő programcsomag, egy.msi kiterjesztésű fájl formájában. A telepítést a c:\irvine könyvtárba végezzük. Lehetőleg ne változtassunk ezen az elérési útvonalon. Nyomós indok esetén az elsőnek megjelölt weboldalon belül a "Creating Project from Scratch" címszó alatt lehet segítséget találni más útvonal beállításához. 1

Visual Studio beállítása: Az alábbi műveleteket csak egyszer kell elvégezni. A Debug menüben a "Start Without Debugging" hozzáadása: Válasszuk ki a Tools menüpont alatt a Customize almenüpontot. Válasszuk a Commands fület. A Menu bar rádiógomb legyen kiválasztva, majd kattintsunk az Add Command... gombra. A Categories listából válasszuk ki a Debug elemet. A jobb oldalon megjelenő listából válasszuk a Start Without Debugging elemet, majd kattintsunk az OK, majd a Close gombra. C++ konfiguráció kiválasztása: Válasszuk ki a Tools menüpont alatt az Import and Export Settings almenüpontot. Válasszuk az Import selected environment settings, majd továbblépve a No, just import... rádió gombot. A Default Settings listából válasszuk a Visual C++ elemet (előfordulhat, hogy ilyen elem nem található, ebben az esetben a General elemet válasszuk, később visszatérünk erre az esetre). Next, majd Finish gomb választásával zárjuk be az ablakot. Tab méretének és a sorszámok megjelenítésének beállítása: Utolsó kiegészítő beállításként, a jobb áttekinthetőség érdekében állítsuk át a Tabulátor méretét 5-re, illetve jelenítsük meg a sorok számát. Válasszuk ki a Tools menüpont alatt az Options almenüpontot. A baloldali listában navigáljunk a Text Editor hierarchia ponton keresztül az All Languages elemhez. Látni fogunk egy checkbox-ot, mely mellett a Line numbers szöveg olvasható. Pipázzuk ki. Ezután lépjünk tovább az All Languages elemen belül a Tabs elemre. A Tab Size és Indent Size méreteket is állítsuk 5-re, majd az OK gomb lenyomásával lépjünk ki. 2

32-bites Assembly program Build-elése: Az előzőleg a c:\irvine könyvtárba telepített programcsomagon belül található egy Examples\Project32 mappa. A Visual Studio-ban válasszuk ki a File/Open/Project menüpontot. Navigáljunk a c:\irvine\examples\project32 mappához és válasszuk ki a Project.sln fájlt megnyitásra. Ekkor be fog töltődni a Project.sln fájl a Visual Studio-ba. Előfordulhat, hogy az 1. ábrán látható üzenetet kapjuk. 1. ábra Betöltött projekt frissítése Ez annyit jelent, hogy a betölteni kívánt projekt egy előbbi verzióval készült és a Visual Studio felajánlja, hogy felfrissíti a projektet, hogy a VS 2015-ös verziója is felismerje. Fogadjuk el. Ezután a Solution Explorer-ben meg is jelenik a betöltött program. Amennyiben a Solution Explorer nem látható, a View/ /Solution Explorer menüponton belül előhozható. Abban az esetben, ha a C++ konfigurációkor a General elemet tudtuk csak kiválasztani, akkor a betöltött projekt nem használható. Ekkor a projekt mellett az 'unavailable' felirat jelenik meg. A probléma kiküszöbölése egyszerű, kattintsunk jobb egérgombbal a betöltött projektre a Solution Explorer-bentelepítsük fel a Visual C++ Tools-t (2. ábra). Ezután töltsük be újra a projektet és folytassuk a majd válasszuk ki az Install Missing Feature(s) elemet és következő lépésekkel. 3

2. ábra Visual C++ 2015 Tools telepítése Következő lépésként töltsünk be egy kész Assembly program fájlt. A Solution Explorer-ben jobb kattintás a Project-re. Navigáljunk az Examples\ch03 mappához és válasszuk ki az AddTwo.asm fájlt. Az Add gomb lenyomásával adhatjuk hozzá a projekthez a fájlt, majd csukjuk be az ablakot. Ekkor meg fog jelenni az AddTwo.asm fájl is a Solution Explorer ablakon belül. Az alábbi programot fogjuk látni a szerkesztőben (editor): ; AddTwo.asm - addstwo 32-bit integers. ; Chapter 3 example.386.modelflat,stdcall.stack 4096 ExitProcessproto,dwExitCode:dword Válasszuk ki az Add, majd az Existing Item menüpontot..code main proc mov add eax,5 eax,6 invokeexitprocess,0 main endp end main Az elkövetkezőkben használhatjuk ezt a programot kiinduló pontnak. 4

Program build-elése: A Build menüponton belül válasszuk a Build Project almenüpontot. Az alábbi üzenethez hasonló szövegnek kell megjelennie az Output ablakban (valószínűleg a képernyő alján): 1>------ Building started: Project: Project, Configuration: Debug Win32 ------ 1>Assembling..\ch03\AddTwo.asm... 1>Project.vcxproj -> C:\Irvine\Examples\Project32\Debug\Project.exe ========== RebuildAll: 1 succeeded, 0 failed, 0 skipped ========== Abban az esetben, ha be van kapcsolva a fordítási lista készítése (7. oldalon tárgyaljuk), akkor előfordulhat, hogy az alábbihoz hasonló hibát kapunk: 3. ábra Object fájl elérésére vonatkozó hibakód Ekkor két megoldási lehetőség van. Az egyik lehetőség az, hogy a fordítandó forráskódot másoljuk be az Irvine/Examples/Project32 mappába, majd innen adjuk hozzá a projekthez, eltávolítva az előzőt. Másik lehetőség, hogy kapcsoljuk ki a listafájl generálását. Program futtatása: A Debug menüponton belül válasszuk a Start Without Debugging almenüpontot. Az alábbi konzol ablak fog megjelenni: 4. ábra A program futása közben megjelenő konzol ablak A "Press any key to continue" a Visual Studio által automatikusan generált üzenet. Gratulálunk, sikeresen lefuttattad az első Assembly programodat. Nyomd meg bármely billentyűt az ablak becsukásához. 5

Program futtatása Debug módban (nyomkövetés): Ha megbizonyosodtunk róla, hogy van.asm forráskód megnyitva a szerkesztőben (editor), akkor első lépésben egy breakpoint-ot (töréspontot) kell elhelyezni a programon belül. Ezt úgy tehetjük meg, hogy az általunk kiválasztott sorban, a szerkesztő bal oldalán lévő keskeny függőleges sávra kattintunk bal egérgombbal. Pl.: Majd a Visual Studio debbugger-ét használjuk fel, hogy végig lépkedjünk a programon, egyszerre csak egy műveletet végrehajtva. Ahhoz, hogy elkezdjük a lépegetést Debug módban, nyomjuk le az F10-es billentyűt. Ekkor egy sárga nyíl fog megjelenni a kiválasztott sor mellett a piros pont helyén. A nyíl jelzi, hogy melyik művelet fog következőnek végrehajtódni. Ismételt F10 gombnyomással hajthatjuk végre az adott műveletet (Step Over). Addig folytathatjuk az F10 billentyű nyomogatását, amíg el nem jutunk az invoke művelethez. Ekkor egy ismételt lenyomással a program kilép. További billentyűk segíthetnek a debug folyamán. Töréspont elhelyezésére az F9 billentyű szolgál. Navigáljuk a kurzort abba a sorba ahol töréspontot szeretnénk elhelyezni, majd nyomjuk meg az F9 billentyűt, ekkor automatikusan elhelyezésre kerül egy töréspont az adott sorban. A program debug módban való elindítására az F5 billentyű használható (Ekkor az első töréspontnál vagy hibánál áll meg a program futása). A nyomkövetést a Shift+F5 6

billentyűkombináció lenyomásával állíthatjuk le. Ha nem debug módban szeretnénk elindítani a programot, akkor használhatjuk a Ctrl+F5 billentyűkombinációt. Regiszterek: Ha szeretnénk megjeleníteni a CPU regisztereket, akkor a programunk Debug módban való elindítása után válasszuk a Debug menüponton belül a Windows/Registers almenüpontot. Ekkor meg is fog jelenni egy Registers nevű ablak. Az ablakon belül jobb egérgombot lenyomva kiválaszthatjuk a Flags elemet, így a CPU státusz flag-jei is megjelennek. Fordítási lista készítése: Ha beállítjuk, a fordító készít egy lista fájlt, amiben elérhető pl. az összes definíció, makró, lefordított tárgykód, kigyűjtött címkék... Hasznos lehet továbbá hiba keresésekor. Válasszuk a Debug menüponton belül a Project Properties almenüpontot. Az 5. ábrán látható módon navigáljunk a Listing File-hoz, majd adjuk hozzá a képen megjelölt elemet. 5. ábra Fordítási lista beállítása 7

Disassembly listázás: Ez a funkció csak nyomkövetés közben érhető el. Segítségével részletesebb információt kapunk a végrehajtódó parancsokról. Tehát miután elindítottuk a program futását debug módban, válasszuk a Debug menüponton belül a Windows/Disassembly almenüpontot. A kiválasztás után egy új ablak fog megnyílni Disassembly néven, melyen belül ugyanúgy egy sárga nyíl fogja mutatni, hogy mely művelet(ek) fog(nak) végrehajtódni, mint a szerkesztőben, ahogy ez a 6. ábrán is látható. 6. ábra Disassembly listázás debug módban 8