Алфавитный указатель

А

Адресация косвенная 25

с масштабированием 26 непосредственная 25 по базе

с индексированием 27

со сдвигом 26 по смещению 25 полная форма 27 прямая 25 регистровая 24

записи

дисплей 223 стековый кадр 222 Алгоритмы

вывода на экран шестнадцатеричного числа 142 генераторов случайных чисел 238 генерации пламени 406 неупакованного BCD в ASCII 201

преобразования

цифры в ASCII-код 39 . шестнадцатеричного числа в десятичное 201 рисования круга

прямой линии 169

сортировки 242 Ассемблер

директивы 106 макроопределения 121 метки 106 модели памяти операторы 120 преимущества и недостатки процедуры 115 псевдокоманды 108 сегменты 110 структура программ 106 условное ассемблирование 118

Атрибут символа 136

тель

Б

Байт 15

Байты состояния клавиатуры 149

Бит 15

Блоки

информации VBE 158

параметров PSP 202

параметров запускаемого файла 204 Блоки повторений 123

в UNIX 537 Буфер клавиатуры 150

расширение при помощи драйвера 377

В

Ввод

из стандартного устройства ввода

с клавиатуры 148

с помощью мыши 166 Видеопамять

в SVGA-режимах 156

в графических режимах 154

в текстовом режиме 139 Видеорежимы

SVGA 156

VGA 151 Виртуальная память 511 Виртуальные прерывания (в V86) 527 Вложенные процедуры 222

Время выполнения микроопераций 473

Вывод

в стандартное устройство вывода 131

на экран

в VGA-режимах 151 в текстовом режиме 134, 139 Вычисления

с плавающей запятой 233

с повышенной точностью 225 с фиксированной запятой 228

Г

Генераторы случайных чисел 238 вычитаниями 239 конгруэнтные 238тшмш

д

Дата и время 172 Дескрипторы 491

сегмента данных или кода 389 Джойстик 371 Диалоги 431

Динамик 335

Динамические библиотеки 451

Директивы ассемблера

в DOS/Windows 106

в UNIX 534 Директории 192

Драйверы 374

VxD 457

блочные 384

символьные 375

3

Завершение программы 205 Задача 519 Защита памяти 516 Защита страниц 519 Защищенный режим 488

адресация 388

модель памяти 490

селекторы 388

средствами DPMI 394

средствами VCPI 391

Звук

без программирования DMA 355 с программированием DMA 361 Звуковые платы 339

И

Идентификация процессора 60 Инициализация контроллера прерываний 369 Интерфейс

DPMI

вызов прерываний 397 обработчики прерываний 398

операции над дескрипторами 395 передача управления между режимами 396 управление памятью 405

VCPI 391 Исключения 245

FPU 67 SSE 105

в реальном режиме 249

код ошибки 506

список и функции 506 Исполняемые файлы 127 COFF(bUNIX) 540 СОМ (в DOS) 128

ОЩв Windows 95/NT) 451 ELF 536

EXE (в DOS) 130

РЕ (вWindows 95/NT) 413

SYS (в DOS) 374

VxD (в Windows 95) 457

К

Кластер 385 Кодировки 561 Коды команд 567 Командные параметры 208 Команды

ААА 40 •

AAD 41

ААМ 40

AAS 40

ADC 34

ADD 34

ADDPS 94 ADDSS 94

AND 41 ANDNPS 99

ANDPS 99

ARPL 484 BOUND 52 BSF 46 BSR 46 BSWAP 30 ВТ 45 BTC 46 BTR 46 BTS 46 CALL 50 CBW 32 CDQ 32 CLC 57 CLD 58 CLI 59 CLTS 484 CMC 57 CMOVcc 28 CMP 37

CMPPS 97 CMPS 55

CMPSS 98 CMPXCHG 38 CMPXVHG8B 38 CPU ID 60 COMISS 98 CVT* 98

CWD 32 CWDE 32 DAA 38 DAS 39 DEC 37 DIV 36 DIVPS 95 DIVSS 95 EMMS 90 ENTER 52 F2XM1 77 FABS 73 FADDP 70 FBLD 69 FBSTP 69 FCHS 73 FCLEX 79 FCMOVcc 70 FCOM 74 FCOMI 75 FCOMIP 75 FCOMP 74 FCOMPP 74 FCOS 76 FDECSTP 79 FDIV 72 FDIVP 72 FDIVR 72 FDIVRP 72 FFREE 79 FIADD 70 FICOM 75 FICOMP 75 FIDIV 72 FIDIVR 72 FILD 69 FIMUL 71 FINCSTP 78 FINIT 79 FIST 69 FISTP 69 FISUB 71 FISUBR 71 FLD 68 FLD* 78 FLDCW 80

FLDENV 81

FMUL 71 FMULP 71

FNCLEX 79

FNINIT 79 FNOP 82

Assembler для DOS, Windows и UNIX

FNSAVE 81

FNSTCW 79

FNSTENV 80 FNSTSW 82

FPATAN 77

FPREM 73 FPREM1 73 FPTAN 77 FRNDINT 73 FRSTOR 81

FSAVE 81 FSCALE 73 FSIN 76

FSINCOS 76

FSQRT 74 FST 69

FSTCW 79 FSTENV 80

FSTP 69

FSTSW 82 FSUB 71

FSUBP 71 FSUBR 71 FSUBRP 71 FST 75 FUCOM 74 FUCOMI 75

FUCOMIP 75

FUCOMP 74 FUCOMPP 74 FWAIT 82 FXAM 75 FXCH 70 FXRSTOR 81,103 FXSAVE 81, 103 FXTRACT 74 FYL2X 78 FYL2XP1 78 HLT 486 IDIV 36 1MUL 35 IN 32 INC 37 INS 56 INT 51 INT3 52 INTO 52 INVD 485 INVLPG 485 1RET 51 Jcc 48 JCXZ 49 JECXZ 49

JMP 47

LAHF 58 LAR 484

LDMXCSR 103 LDS 59 LEA 34 LEAVE 53 LES 59 LFS 59

LGDT 482 . LGS 59 LIDT 483 LLDT 482 LMSW 483 LOCK 60 LODS 56 LOOP 49

LOOPE 50

LOOPNE 50 LOOPNZ 50 LOOPZ 50 LSL 485 LSS 59 LTR 482

MASKMOVQ 104

MAXPS 96

MAXSS 96 MINPS 97 MINSS 97

MOLPS 95 MOLSS 95

MOV 28,483 MOVAPS 93 MOVD 83

MOVHLPS 93 MOVHPS 93 MOVLHPS 93

MOVLPS 93 MOVMSKPS 94 MOVNTPS   104 ■ MOVNTQ 104 MOVQ 84 MOVS 54 MOVSS 94 MOVSX 33 MOVUPS 93 MOVZX 33 MUL 36 MULPS 95 MULSS 95 NEG 37 NOP 59 NOT 42

OR 41 ORPS 100 OUT 32 OUTS 57 PACK* 84 PADD* 85 PAND 88 PANDN 88 PAVGB 100 PAVGW 100 PCMP* 88 PEXTRW 100 PINSRW 100 PMADDWD 87 PMAXSW 101

101

PMINSW 101 PMINUB 101 PMOVMSKB 101

PMUL* 87 PMULHUW 101

POP 31 POR 88

POPA 31

POPF 58 PREFETCH* 104

PSADBW 102

PSLL* 89 PSRA* 89 PSRL* 89 PSUB* 86 PUNPCK* 84 PUSH 30 PUSH A 31 PUSHF 58

PXOR 89

RCL 44 RCPPS 96. RCPSS 96 RCR 44 RDMSR 486 RDPMC 487

RDTSC 486

REP 54 REPE 54 REPNE 54 REPNZ 54 REPZ 54 RET 51 RETF 51 RETN 51 ROL 44 ROR 44шммн111

RSM 486 RSQRTPS 96 RSQRTSS 96 SAHF 58 SAL 43 SALC 59 SAR 43 SBB 35 SCAS 55 SEETcc 46 SGDT 482 SHL 43 SHLD 44 SHR 43 SHRD 44 SHUFPS 102 SHUFW 102 SIDT 483 SLDT 482 SMSW 484 SQRTPS 95 SQRTSS 95 STC 57 STD 58 STI 59

STMXCSR 103

STOS 56 STR 483 SUB 35 SUBPS 94 SUBSS 94 SYSENTER 487 SYSEXIT 487 TEST 42 UCOM1SS 98 UD2 60

UNPCKHPS 102 UNPCKLPS 102 VERR 485 VERW 485 WAIT 82 WBINVD 485 WRMSR 486 XADD 35 XCHG 30 XLAT 33 XOR 42 XORPS 100

идентификация процессора 60 расширение AMD 3D 90 Компиляция

в COFF-формот 540 в СОМ-файл 128 в DLL 452 в ELF-формат 539

Assembler для DOS, Windows и UNIX

вЕХЕ-файл 131 в UNIX 541

драйверы для DOS 374'

графического приложения 415 с ресурсами 427

консольного приложения 416

с использованием расширителей DOS 404 Конвейеры исполнения команд 471 Конвенции передачи параметров

С-конвенция 461 %

PASCAL-конвенция 460

смешанные 463 Конечные автоматы 214 Консольные приложения 416

Контроллер

DMA 359

прерываний 366

Л

Линейный кадровый буфер (LFB) 155 Линия А20 493 Логические операции 18 М

Макроопределения 121

в UNIX 538 Микрооперации 473 Младший байт 16 Младший бит 15 Многозадачность 526

в DOS 298 Модели памяти 112 Модемы 179 Мышь 166

н

Насыщение 83 Нереальный режим 497

Нитевая многозадачность 298

О

Обратная польская нотация 234

Окружение DOS 208

Операнды 24 Операторы 120

в АТ&Т-ассемблерах 533

Операционные системы

DOS 127

Unux, FreeBSD, Solaris 529 Windows 95/NT 413

Оптимизация

программ

высокоуровневая 465

на среднем уровне 465

низкоуровневая 468 циклов 466

Организация задержек памяти

модели памяти

порядок байтов 16

сегменты 22 стек 22

Отладочные регистры 480

п

Палитра VGA 328

Память XMS 197

выделение

определение максимального блока

освобождение 194 Передача параметров

в блоке параметров 220

в глобальных переменных 218

в потоке кода 220

в регистрах 218

в стеке

в языках высокого уровня 460 отложенным вычислением по возвращаемому значению по значению по имени 217 по результату по ссылке Переключение банков 155 задач 521

Переменные среды 208

Повторная входимость в BIOS 255

в DOS 254 Полурезидентные программы 292

Порты VGADAC 328

.   VGA-контроллер CRT 320 VGA-синхронизатор 324 клавиатура 305 параллельный 181,315 последовательный 179,309

Предсказание переходов 475 Прерывания 245

в DPMI 397

в защищенном режиме 499 инициализация контроллера 369 обработчики прерываний 246 от внешних устройств 249 разрешение и запрещение 59 Префикс программного сегмента (PSP) 202

 

Префиксы

LOCK 60

REP 54 REPE 54 REPNE 54 REPNZ 54 REPZ 54

другие префиксы 571 Привилегированные команды 518 Процедуры 216 Процессоры

Pentium Pro и Pentium II 472

Pentium и Pentium ММХ 471 Псевдокоманды определения данных 108

в UNIX 534

Р

Расширения страничной адресации 510 Расширенные ASCII-коды 565 Расширители DOS 403

Реальный режим 20

Регистры CRx 478 DRx 480 MSR 481

общего назначения 20

данных FPU 65 ММХ 82

сегментные

слова состояния FPU 66

слова управления FPU 66

управления памятью 477

флаги CPU 23 Режимы X 325 Режимы процессора

RFM/BFM 497

V86 527

защищенный 488 нереальный 497 реальный 20 Резидентные программы 256

выгрузка из памяти 276 без PSP 259

мультиплексорное прерывание 263 пассивные и активные 256 повторная входимость 253 полурезидентные программы 292

спецификация AMIS 263

С

Сегмент состояния задачи

Сегментная адресация

в защищенном режиме 490 Сегменты 110-

Assembler для DOS, Windows и UN ЇХ

Сектор 384 Секции 535 Селекторы 388, 491 Символы ASCII 18, 559 Система счисления

двоичная 14

шестнадцатеричная 16 Системные функции

libc 538

UNIX 540

Win32 414 Системный таймер

на уровне BIOS 171

на уровне портов ввода-вывода 331 Скан-коды 148

Скорость выполнения команд 570 Слово 16 . '

Сообщения (в Windows) 422 . Сортировки

быстрая 242

пузырьковая 242

выбором 244 Старший байт 16 Старший бит 15 Статические ссылки 222 Стековый кадр 222 Страничная адресация 509

защита при страничной адресации 519

расширения Pentium Pro 510

Т

Таблица переходов 213 Таймер

на уровне BIOS 171 на уровне портов ввода-вывода 331 Типыданных

ASCII-символы 18 ММХ 83

упакованные байты B3 упакованные двойные слова 83 упакованные слова B3 учетверенное слово B3 байт 15 бит 15

вещественные числа

длинное 64

короткое 64

расширенное 64

специальные случаи 64 двоично-десятичные числа 38 двойное слово 16 слово 16

учетверенное слово 1 6 числа со знаком 17

Управление задачами 519 Управляющие регистры 478 Управляющие символы ASCII 561 Уровень вложенности 222 Условные переходы 212 Устройства

видеоадаптеры VGA

джойстик 371

динамик 335

запись в устройство 186

звуковые платы 339

клавиатура 305

контроллеры DMA 359

прерываний 366 системный таймер 331

ф

Файлы

запись 186 идентификатор 183 открытие 183 поиск 188

поиск с длинным именем создание удаление Флаги

системные 476 флаги состояния FPU 66 центрального процессора 23 Функции

в ассемблере 216 системные libc 538 Win32 414 » UNIX 540

Ц

Циклы FOR 215

LOOP/ENDLOOP 215 REPEAT/UNTIL 215 WHILE 215

ч

Часы реального времени на уровне BIOS 171 на уровне портов ввода-вывода 336

Числа

с фиксированной запятой 228 с плавающей запятой 233