Assembly Programozłs
Total Page:16
File Type:pdf, Size:1020Kb
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 3)Peter Norton: Az IBM PC programozása, Műszaki Könyvkiadó, Budapest, 1992 4)László József: A VGA-kártya programozása Pascal és Assembly nyelven, ComputerBooks, Budapest, 1994 5)Abonyi Zsolt: PC hardver kézikönyv 6)Dr. Kovács Magda: 32 bites mikroprocesszorok 80386/80486 I. és II. kötet, LSI, Budapest 1 TARTALOM 1 AZ ASSEMBLY NYELV TULAJDONSÁGAI, JELENTŐSÉGE. 9 2 A PC-K HARDVERÉNEK FELÉPÍTÉSE.................................13 3 SZÁMRENDSZEREK, GÉPI ADATÁBRÁZOLÁS, ARITMETIKA ÉS LOGIKA.......................................................... 16 4 A 8086-OS PROCESSZOR JELLEMZŐI, SZOLGÁLTATÁSAI. 24 4.1 Memóriakezelés.........................................................................25 4.2 Regiszterek................................................................................ 26 4.3 Adattípusok................................................................................30 4.4 Memóriahivatkozások, címzési módok..................................... 31 4.4.1 Közvetlen címzés................................................................................................ 31 4.4.2 Báziscímzés.........................................................................................................31 4.4.3 Indexcímzés.........................................................................................................32 4.4.4 Bázis+relatív címzés........................................................................................... 32 4.4.5 Index+relatív címzés...........................................................................................32 4.4.6 Bázis+index címzés.............................................................................................32 4.4.7 Bázis+index+relatív címzés................................................................................33 4.5 Veremkezelés.............................................................................34 4.6 I/O, megszakítás-rendszer......................................................... 38 5 AZ ASSEMBLY NYELV SZERKEZETE, SZINTAXISA.........39 6 A 8086-OS PROCESSZOR UTASÍTÁSKÉSZLETE.................46 6.1 Prefixek......................................................................................47 6.1.1 Szegmensfelülbíráló prefixek............................................................................. 47 6.1.2 Buszlezáró prefix................................................................................................ 47 6.1.3 Sztringutasítást ismétlő prefixek.........................................................................47 6.2 Utasítások.................................................................................. 48 6.2.1 Adatmozgató utasítások......................................................................................48 6.2.2 Egész számos aritmetika..................................................................................... 49 6.2.3 Bitenkénti logikai utasítások (Boole-műveletek)............................................... 49 6.2.4 Bitléptető utasítások............................................................................................49 6.2.5 Sztringkezelő utasítások..................................................................................... 50 2 6.2.6 Binárisan kódolt decimális (BCD) aritmetika.................................................... 50 6.2.7 Vezérlésátadó utasítások.....................................................................................50 6.2.8 Rendszervezérlő utasítások.................................................................................51 6.2.9 Koprocesszor-vezérlő utasítások........................................................................ 51 6.2.10 Speciális utasítások...........................................................................................51 7 VEZÉRLÉSI SZERKEZETEK MEGVALÓSÍTÁSA................ 53 7.1 Szekvenciális vezérlési szerkezet.............................................. 55 7.2 Számlálásos ismétléses vezérlés................................................60 7.3 Egyszerű és többszörös szelekciós vezérlés.............................. 65 7.4 Eljárásvezérlés........................................................................... 73 8 A TURBO DEBUGGER HASZNÁLATA.................................. 79 9 SZÁMOLÁS ELŐJELES SZÁMOKKAL, BITMŰVELETEK. 84 9.1 Matematikai kifejezések kiértékelése........................................84 9.2 Bitforgató utasítások..................................................................89 9.3 Bitmanipuláló utasítások........................................................... 93 10 AZ ASSEMBLY NYELV KAPCSOLATA MAGAS SZINTŰ NYELVEKKEL, PARAMÉTERÁTADÁS FORMÁI....................97 10.1 Paraméterek átadása regisztereken keresztül...........................97 10.2 Paraméterek átadása globális változókon keresztül................ 99 10.3 Paraméterek átadása a vermen keresztül............................... 102 10.4 Lokális változók megvalósítása.............................................107 11 MŰVELETEK SZTRINGEKKEL.......................................... 109 12 AZ .EXE ÉS A .COM PROGRAMOK KÖZÖTTI KÜLÖNBSÉGEK, A PSP.............................................................118 12.1 A DOS memóriakezelése.......................................................118 12.2 Általában egy programról......................................................121 12.3 Ahogy a DOS indítja a programokat..................................... 124 12.4 .COM állományok................................................................. 127 12.5 Relokáció............................................................................... 129 12.6 .EXE állományok...................................................................133 13 SZOFTVER-MEGSZAKÍTÁSOK...........................................135 13.1 Szövegkiíratás, billentyűzet-kezelés......................................137 3 13.2 Szöveges képernyő kezelése, számok hexadecimális alakban kiírása.............................................................................................140 13.3 Munka állományokkal........................................................... 146 13.4 Grafikus funkciók használata................................................ 150 14 MEGSZAKÍTÁS-ÁTDEFINIÁLÁS, HARDVER- MEGSZAKÍTÁSOK, REZIDENS PROGRAM, KAPCSOLAT A PERIFÉRIÁKKAL, HARDVER-PROGRAMOZÁS.................. 154 14.1 Szoftver-megszakítás átirányítása......................................... 156 14.2 Az időzítő (timer) programozása...........................................163 14.3 Rezidens program (TSR) készítése, a szöveges képernyő közvetlen elérése............................................................................170 15 KIVÉTELEK............................................................................174 16 OPTIMALIZÁLÁS MÓDJAI................................................. 178 16.1 Sebességre optimalizálás....................................................... 178 16.2 Méretre optimalizálás............................................................ 184 17 ÚJABB ARCHITEKTÚRÁK.................................................. 188 17.1 Dokumentálatlan lehetőségek................................................204 17.2 A numerikus koprocesszor szolgáltatásai..............................218 17.2.1 Adatmozgató utasítások..................................................................................233 17.2.2 Alap aritmetikai utasítások............................................................................. 235 17.2.3 Összehasonlító utasítások............................................................................... 239 17.2.4 Transzcendentális utasítások.......................................................................... 242 17.2.5 Konstansbetöltő utasítások............................................................................. 245 17.2.6 Koprocesszor-vezérlő utasítások.................................................................... 245 17.3 Az Intel 80186-os processzor újdonságai..............................253 17.3.1 Változások az utasításkészletben....................................................................253 17.3.2 Új utasítások....................................................................................................255 17.3.3 Új kivételek.....................................................................................................258 17.4 Az Intel 80286-os processzoron megjelent új szolgáltatások...... 259 17.4.1 Változások az utasításkészletben....................................................................259 17.4.2 Új prefixek...................................................................................................... 260 17.4.3 Új utasítások....................................................................................................261 17.4.4 Új üzemmódok................................................................................................264 17.4.5 Változások a kivétel-kezelésben.....................................................................266 17.4.6 Új kivételek.....................................................................................................267 4 17.4.7 Változások a regiszterkészletben....................................................................273 17.4.8 Új regiszterek.................................................................................................