Bevezetés | 10 |
A mikroprocesszor-család architektúrája | 11 |
A 8088 CPU blokkdiagramja | 11 |
Regiszterek | 12 |
Tárcímzés szegmentálással | 13 |
Adatcímzési módok | 14 |
Az utasításkészlet fő csoportjai | 16 |
Adatátviteli utasítások | 16 |
Aritmetikai utasítások | 17 |
Logikai utasítások | 17 |
Karakterosorzat-kezelő utasítások | 19 |
Vezérlésátadó utasítások | 20 |
Processzorvezérlő utasítások | 24 |
Adattípusok | 25 |
Karakterkészlet | 25 |
Numerikus konstansok | 25 |
Egész számok | |
Valós számok | |
Kódolt valós számok | |
Tömörített decimális számok | |
Karakter- és karaktersorozat-konstansok | 27 |
Azonosítók | 27 |
Operandusok | 28 |
Konstans operandusok | |
Direkt címmel elérhető operandusok | |
Relatív címmel elérhető operandusok | |
Számláló operandus | |
Regiszter-operandusok | |
Bázis-relatív operandusok | |
Indexelt operandusok | |
Bázis-relatív indexelt operandusok | |
Struktúra-operandusok | |
Rekord-operandusok | |
Rekordmező-operandusok | |
Az operandusokból előállítható kifejezések | 36 |
Aritmetikai műveletek | |
Léptető műveletek | |
Logikai műveletek | |
Indexelés | |
A PTR művelet | |
A címkiszámítás viszonyítási alapjának megváltoztatása | |
A SHORT művelet | |
A THIS művelet | |
A HIGH és a LOW művelet | |
A SEG művelet | |
Az OFFSET művelet | |
A TYPE művelet | |
A .TYPE művelet | |
A LENGTH művelet | |
A SIZE művelet | |
A WIDTH művelet | |
A MASK művelet | |
A kifejezés értékének kiszámítása és a precedencia | |
A memória-operandusok típusának ellenőrzése | |
A mikroprocesszor-család assembly utasításai | 46 |
Az utasítások leírásában használt rövidítések | 46 |
A 8086 és a 8088 utasításkészlete | 48 |
A 8087 utasításkészlete | 101 |
A 8087-es numerikus adatprocesszor felépítése | 101 |
Adatformátumok | |
A regiszterek felépítése | |
Utasításkészlet | |
A 80186 és a 80286 utasításkészlete | 108 |
A 80287 utasításkészlete | 110 |
Programozás makro-assembly nyelven | 111 |
A makro-assembly programok felépítése | 111 |
A makro-assembly utasítások általános alakja | 111 |
Az utasításkészletet beállító direktívák | 112 |
A forrás-modulok és az END direktíva | 112 |
A SEGMENT és az ENDS direktíva | 113 |
Az ORG direktíva | 115 |
Az EVEN direktíva | 115 |
A PROC és az ENDP direktíva | 115 |
A GROUP direktíva | 116 |
Az ASSUME direktíva | 116 |
A megjegyzések és a COMMENT direktíva | 117 |
Példák a makro-assembly programok felépítését meghatározó direktívák használatára | 118 |
Deklarációk | 120 |
Adatdeklarációk | 120 |
Címkedeklarációk | 125 |
Szimbólumdeklarációk | 126 |
Struktúrák deklarálása | 128 |
Rekordok deklarálása | 131 |
Előre-hivatkozások | 133 |
Globális deklarációk | 135 |
Makrók definiálása és hívása | 137 |
A MACRO és az ENDM direktíva | 138 |
Makróhívások | 140 |
Részkaraktersorozat megadása makró-paraméterrel | 141 |
A szöveg-konstans jele | 142 |
A karakter-konstans jele | 142 |
A kifejezés jele | 143 |
A PURGE direktíva - makródefiníciók törlése | 143 |
A LOCAL direktíva - egyedi azonosítók létrehozása makrókban | 144 |
A REPT és az ENDM direktíva - utasításcsoport ismétlése | 145 |
Az IRP és az ENDM direktíva - utasításcsoport ismétlése paraméterhelyettesítéssel | 145 |
Az IRPC és az ENDM direktíva | 147 |
Az EXITM direktíva | 148 |
Makró-megjegyzések | 148 |
Feltételes fordítás | 149 |
A makro-assembler file-kezelésének vezérlése | 152 |
Az INCLUDE direktíva | 153 |
A TITLE direktíva | 153 |
A SUBTITLE direktíva | 154 |
A PAGE direktíva | 154 |
A . LIST és a .XLIST direktíva | 155 |
A .LALL, a .XALL és a .SALL direktíva | 156 |
A .SFCOND, a .LFCOND és a .TFCOND direktíva | 156 |
A .RADIX direktíva | 157 |
A .CREF és a .XCREF direktíva | 158 |
A .NAME direktíva | 158 |
A %OUT direktíva | 158 |
Magasszintű nyelvből hívott Assembly rutinok | 159 |
A MASM kezelése | 160 |
Bevezetés | 160 |
Forrás file fordítása | 160 |
A MASM kapcsolói | 161 |
/D, az első menet listája | 161 |
/ML, kis-nagybetűk megkülönböztetése a lokális szimbólumokban | 162 |
/MX, kis-nagybetűk megkülönböztetáse a globális szimbólumokban | 162 |
/X, a feltételes fordítások hamis ágának listázása | 162 |
/R, kódképzés az aritmetikai processzor számára | 163 |
/E, kódképzés a lebegőpontos emulátor számára | 163 |
/A, szegmensek abc sorrendben | 163 |
A lista-file | 163 |
A forrássorok | 163 |
A makrótáblázat | 164 |
A struktúra-, rekordtáblázat | 164 |
A szegmens-, csoporttáblázat | 165 |
A szimbólumtáblázat | 165 |
Az első menet listája | 166 |
Programkönyvtár-kezelés a LIB segédprogrammal | 167 |
A programkönyvtár és kezelése | 167 |
A LIB funkciói | 168 |
A LIB hívása parancs-sorral | 168 |
A LIB használata párbeszédes módban | 169 |
LIB parancs-sorozat használata file-ból (válasz-file) | 171 |
Új könyvtár létrehozása | 172 |
A lapméret átállítása (PAGESIZE) | 172 |
A könyvtár konzisztenciájának ellenőrzése | 173 |
A keresztreferencia-lista és készítése | 173 |
A LIB funkciói | 174 |
Futtatható program előállítása - programszerkesztés (LINK) | 176 |
A LINK indítása | 176 |
Programszerkesztés PC DOS parancs-sorral | 176 |
Programszerkesztés interaktív üzemmódban | 178 |
Programszerkesztés előre összeállított válasz-file-lal | 180 |
Könyvtárak elérési útjainak megadása | 180 |
A map file szerkezete | 181 |
Ideiglenes lemez-file - VM. TMP | 183 |
A LINK opciói | 183 |
Megszakítás a szerkesztés alatt - PAUSE | 184 |
Public szimbólumok táblájának előállítása - MAP | 184 |
A verem-méret meghatározása - STACK | 185 |
A program helyigényének maximuma - CPARMAXALLOC | 186 |
A kezdőcím maximumra állítása - HIGH | 187 |
Helyfoglalás az adatcsoportnak - DSALLOCATE | 187 |
Forrás-sorok kezdőcímének kiírása - LINENUMBERS | 187 |
Kis- és nagybetűk megkülönböztetése - NOIGNORECASE | 188 |
A könyvtár-alapfeltételezés ignorálása - NODEFAULTLIBRARYSEARCH | 188 |
Csoportok eltávolítása a programból - NOGROUPASSOCIATION | 189 |
Megszakítás overlay esetén - OVERLAYINTERRUPT | 189 |
A szegmensek maximális számának meghatározása - SEGMENTS | 189 |
Az MS-DOS szegmens-elrendezés alkalmazása - DOSSEG | 190 |
A LINK működése | 190 |
A szegmensek címhatárra való igazítása | 190 |
A szegmensek kezdőcímének meghatározása | 191 |
A szegmensek átrendezése | 191 |
Kombinált szegmensek | 192 |
Szegmens-csoportok | 192 |
Címfeloldás | 193 |
A betöltés sorrendjének vezérlése | 193 |
Programok karbantartása a MAKE program segítségével | 195 |
Bevezetés | 195 |
A MAKE használata | 195 |
MAKE leíró file-ok létrehozása | 196 |
A MAKE futtatása | 196 |
MAKE opciók | 197 |
Makró definíciók | 197 |
Példa a MAKE használatára | 198 |
Szimbolikus nyomkereső és hibakövető program (SYMDEB) | 199 |
Bevezetés | 199 |
A SYMDEB indítása | 200 |
Indítás program file-lal | 200 |
Indítás szimbólumokkal | 200 |
Paraméterátadás a betöltendő programnak | 200 |
Indítás file nélkül | 201 |
Szimbólum file készítése (MAPSYM) | 201 |
A kontroll karakter funkciója | 201 |
Parancs megszakítása | 201 |
Parancs felfüggesztése | 202 |
Az NMI használata | 202 |
A parancsok használata | 202 |
A parancsok általános felépítése | 202 |
Szimbólumok | 202 |
Számok | 203 |
Címek | 203 |
Cím-tartomány | 203 |
Sorszámok | 203 |
Karaktersorozatok | 204 |
Kifejezések | 204 |
A SYMDEB parancsai | 205 |
Az Assemble (fordítás) parancs | 205 |
A BreakPoint Set (töréspont megadása) parancs | 206 |
A Breakpoint Clear (töréspont törlése) parancs | 206 |
A Breakpoint Disable (töréspont kikapcsolása) parancs | 206 |
A Breakpoint Enable (töréspont bekapcsolása) parancs | 206 |
A Breakpoint List (töréspont kiírása) parancs | 206 |
A Compare (összehasonlítás) parancs | 207 |
A Display ? (kifejezés értékének kiírása) parancs | 207 |
A Dump ASCII parancs | 207 |
A Dump Bytes parancs | 207 |
A Dump Words parancs | 208 |
A Dump Doublewords parancs | 208 |
A Dump Short Reals parancs | 208 |
A Dump Long Reals parancs | 208 |
A Dump Ten-Byte Reals parancs | 208 |
A Dump parancs | 209 |
Az Enter parancs | 209 |
Az eXamine Symbol Map parancs | 209 |
A Fill parancs | 209 |
A Go parancs | 210 |
A Help ? parancs | 210 |
A Hex parancs | 211 |
Az Input parancs | 211 |
A Load parancs | 211 |
A Move parancs | 212 |
A Name parancs | 212 |
Az Open Map XO parancs | 212 |
Az Output parancs | 212 |
A PTrace parancs | 212 |
A Quit parancs | 213 |
A Redirection <,>,= parancs | 213 |
A Registers parancs | 213 |
A Search parancs | 214 |
A Set Source Mode parancs | 214 |
A Trace parancs | 214 |
Az Unassemble parancs | 215 |
A Write parancs | 215 |
Hibaüzenetek | 215 |
A SYMDEB kompatibilis fordítók | 216 |
Kereszthivatkozási-lista készítő program (CREF) | 217 |
Bevezetés | 217 |
A CREF használata | 217 |
A kereszthivatkozási-lista | 218 |
Hibaüzenetek | 218 |
Hibajelzések | 219 |
Az assembler hibaüzenetei | 219 |
Assembler hibák | 219 |
I/O hibák | 225 |
A szerkesztő hibaüzenetei | 225 |