Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Архитектура вычислительных систем и Ассемблер с приложением методических указаний к лабораторным работам. Учебное пособие
.pdf
Предметный указатель 351
Предметный указатель
0x66, префикс изменения размера опе-
ранда, 132, 139
0x67, префикс изменения размера ад-
реса, 132, 139
1С, 28
APL, 28, 34
Apple II, 38
ARM, 38, 39
ASCII, 42, 274, 286, 287, 294, 324, 345
Bash, 27, 284, 308
Bell Model V, 26, 33
BINAC, 27, 34
BIOS, 8
C#, 28, 37
CDC 6600, 34
CISC, 17, 24, 131
Colossus Mark I, 33
Colossus Mark II, 33
Commodore PET, 38
cp1251, 287
cp866, 287
Cray-1, 37
Cray-X1E, 38
CSIRAC, 34
EDSAC, 27, 34
EDSAC-2, 34
EDVAC, 34
Elliot-803, 34
ENIAC, 33, 34
EVEX, префикс, 138
Ferranti, 34
FPU, 95, 104, 120, 129, 209
Harvard Mark I, 33
Harvard Mark II, 33
Harvard Mark III, 33, 34
IBM 360, 35–37
IBM 370, 36, 37
IBM 7030, 34, 35
IBM 704, 26
IBM 709, 26
IBM PC, 38, 40, 104
IDE Code::Blocks
дамп памяти, 324
окно дизассемблера, 328, 330
переменные, 322
подключение модуля на ассем-
блере, 333
регистры, 330
синтаксис дизассемблера, 329
IDE Qt Creator
дамп памяти, 323
окно дизассемблера, 329
переменные, 323
подключение модуля на ассем-
блере, 333
регистры, 331
синтаксис дизассемблера, 329
точки останова, 322
IDE TheIDE
окно дизассемблера, 328
переменные, 322
регистры, 330
Intel 4004, 37, 103
Intel 4040, 103
Intel 8008, 103
Intel 80186, 104

352 Предметный указатель
Intel 80286, 104
Intel 80386, 40, 105
Intel 8080, 103
Intel 8086, 103, 104
Intel 8087, 104
Intel 8088, 38, 40, 104
Intel Itanium, 105
Java, 28, 37
koi8, 287
Lorenz SZ, 32
main(), 233, 284
PDP-1, 34, 35
PDP-11, 36
PDP-4, 35
PDP-5, 35
PDP-7, 39
PDP-8, 35, 36
Perl, 28
PHP, 28
POSIX, 39, 40
Python, 28
REX, префикс, 105, 117, 137, 139, 140,
172
RISC, 17, 24
Ruby, 28
Simens-2002, 34
SUS, 39
Tandy TRS-80, 38
TRADIC, 35
TX-0, 34
TX-2, 34
Unicode, 42, 288
UNIVAC, 34
Unix, 39
UTF-16, 288
UTF-32, 288
UTF-8, 42, 288, 296, 306
VEX, префикс, 138
void, специальный тип C++, 289
Xerox Alto, 37
Z1, 31, 32, 45
Z2, 32, 45
Z22, 34
Z3, 32
Адресация
виды, 131, 179
косвенная, 131, 134, 180, 188, 192,
270
непосредственная, 131, 133, 179
неявная, 131
прямая, 131, 134, 179, 188
прямая относительная, 131, 135,
179, 188, 190, 192
регистровая, 131, 133, 136, 180,
192
Айкен, Говард, 32
Акация, 37
АЛУ, 9, 23, 31, 36
Алгол, 28, 34
Алмаз, 36
Альтаир, 38
Арифметика
беззнаковая, 62, 129, 195, 197,
198
вычитание, 64

Предметный указатель 353
деление, 66
сложение, 63
умножение, 65
двоично-десятичная, 79, 129, 186
знаковая, 73, 129, 195, 197, 198
вычитание, 74
сложение, 73
умножение, 76
модулярная, 80
с насыщением, 81
с плавающей запятой, 98
с фиксированной запятой, 90
Арифмометр, 25, 29, 31
Арка, 36
Арфа, 36
Архитектура
гарвардская, 18
фон-неймановская (принстонская),
17
Ассемблирование, 148
Атака, 36
Байт, 10, 24, 35
порядок байтов, 11
Бардин, Джон, 34
Бейсик, 28
Бит, 10, 23, 31
Битовые операции, 82
Битовые сдвиги, 86, 196, 198, 200
Бонч-Бруевич, Михаил Александро-
вич, 33
Браттейн, Уолтер, 34
БЭСМ-1, 34
БЭСМ-2, 34
БЭСМ-4, 34
БЭСМ-6, 34, 36, 37
Бэббидж, Чарльз, 18, 25, 30–33, 45
Бэкус, Джон, 28
Вещественные типы C++, 288
Виберг, Мартин, 31
Гранит, 35
Декорирование, 148, 255
Диана, 35
Днепр-2, 36
да Винчи, Леонардо, 31
де Кольмар, Тома, 31
ЕС ЭВМ, 37
Жаккар, Жозеф, 25, 30
Защищённый режим, 104, 106
К-340А, 46
Калькулятор, 23, 25, 29–31
Карат, 36
Карат-КМ-Е, 37
Качественные данные, 41
Керниган, Брайан, 39
Кеш-память, 10, 18
Килби, Джек, 35
Клён, 35
Кобол, 28, 34
Количественные данные, 41
Команды
adc, 196
add, 164–166, 189, 195, 196, 202,
236, 254, 258
and, 200, 202
bound, 186
bt, 162, 200
btc, 200

354 Предметный указатель
btr, 200
bts, 200
call, 139, 191, 192, 235, 241, 254,
258, 259
cbw/cbtw, 184, 199
cdqe/cltq, 184, 199
clc, 203
cld, 203
cli, 203
cmc, 203
cmovCC, 204, 208, 262, 265
cmp, 196, 203, 262–266, 268, 269,
271
cqo/cqto, 184, 199
cwd/cwtd, 184, 199
cwde/cwtl, 184, 199
dec, 196, 202, 204, 207
div, 196, 197
enter, 178, 242
f2xmi, 124, 226, 227
fabs, 227
fadd[p], 215, 221, 222
fbld, 216
fbst[p], 124, 217
fcmovCC, 204, 208, 219
fcom[p[p]], 229
fcomi, 203
fcomi[p], 229, 230
fcos, 124, 226, 227
fdiv[p], 185, 221, 222
fdivr[p], 185, 221, 222
fiadd[p], 221, 222
ficom[p], 229
fidiv[p], 221, 222
fidivr[p], 221, 222
fild, 216
fimul[p], 221, 222
finit, 209, 213
fist[p], 124, 217
fisub[p], 221, 222
fisubr[p], 221, 222
fld, 215, 216
fld1, 216
fldcw, 220
fldl2e, 216
fldl2t, 216
fldlg2, 216
fldln2, 216
fldpi, 216
fldz, 216
fmul[p], 221, 222
fnstcw, 220
fnstsw, 220, 230
fpatan, 124, 226–228
fprem1, 227
fptan, 124, 226, 227
FPU
арифметические, 221
выгрузки, 217
дополнительные, 226
загрузки, 216
пересылки, 217
сравнения, 229
трансцендентные, 124, 226
fscale, 227
fsin, 124, 226, 227
fsincos, 124, 226, 227
fsqrt, 227
fst[p], 124, 215, 217
fsub[p], 185, 221, 222
fsubr[p], 185, 221, 222
ftst, 229
fucom[p[p]], 229, 230
fucomi[p], 229, 230

Предметный указатель 355
fwait/wait, 214
fxam, 228
fxch, 219
fyl2x, 124, 226, 227
fyl2xp1, 124, 226, 227
idiv, 196, 197
imul, 165, 196, 197, 202, 253, 258
inc, 196, 202, 204, 268, 269, 271
int, 191–193, 238, 259, 260
into, 186
iret, 191–193
jCC, 190, 191, 204, 207, 208, 263,
266–269, 271
jcxz, 207
jecxz, 207
jmp, 190, 191, 207, 266, 268, 269,
271
lahf, 203
lea, 171, 186, 188, 196
leave, 242
loop, 207, 261
loopCC, 207
mov, 27, 115, 133, 140, 145, 164–
166, 178, 182, 186, 188, 208,
250, 253, 258
movabs, 140, 185, 186, 188
movs, 183, 184, 198, 208
movz, 184, 198, 208
mul, 196, 197, 202
neg, 196
nop, 186, 214
not, 200, 202
or, 200, 202
pop, 112, 139, 186, 189, 235, 241
popf/popfd/popfq, 203
push, 112, 139, 186, 189, 235, 241,
254, 258
pushf/pushfd/pushfq, 203
rcl, 200
rcr, 200
ret, 139, 191, 192, 241, 253, 259
rol, 200
ror, 200
sahf, 203, 230
sal, 196, 200
sar, 196, 200
sbb, 196
setCC, 204, 208, 264
shl, 196, 200
shr, 196, 200, 268, 269
stc, 203
std, 203
sti, 203
sub, 189, 196, 202
syscall, 186, 191–193, 259, 260
sysenter, 186, 191–193, 259, 260
sysexit, 191–193
sysret, 191–193
test, 200, 203
xor, 200, 202, 234, 268, 269, 271
арифметические, 194, 202, 204
обнуления регистра, 194, 234
передачи управления, 190, 207
пересылки, 186
расширения, 184, 198
сравнения, 203
удвоения разрядностиA, 184,
198
условной пересылки, 208, 219
установки байта, 208
Компилятор, 17, 26–28, 143–150
Компиляция
модули, 150
этапы, 146

356 Предметный указатель
Компоновка, 148, 151, 256
Компьютер, 25, 29, 30
Конвейер, 16, 17
Куча, 111, 175
Лада-2, 37
Лейбниц, Готфрид, 31, 45
Лисп, 28
Литералы, 175, 294
вещественные, 295
строковые, 296
целочисленные, 294
Логический вентиль, 23, 35
М-1, 34
М-220, 34
М-222, 34
Мантисса, 92–97, 100, 120, 121, 210,
211
Массивы
динамические, 277
матрицы, 276
многомерные, 276
одномерные, 270
МИР, 34
МИР-2, 36
Минск-1, 34
Минск-2, 34
Минск-32, 34
Мокли, Джон, 17, 27
МЭСМ, 34
Н-1, 34
Наири-1, 34
Наири-2, 34
Наири-3, 36
Наири-4, 36
Наур, Питер, 28
Неопределённость вещественная, 93–
96, 124, 211, 212, 229–231
Нецифровые символы, 50
знак, 50, 67
простые дроби, 51
разделитель дробной части, 51
Нойс, Роберт, 35
Однер, Вильгодт, 31
Октет, 10
Осокин, Юрий Валентинович, 35
Память
виды, 19
внешняя, 7
оперативная, 7
плоская модель, 20, 105, 108
просмотр содержимого, 307, 323
распределение адресов, 108
сегментная модель, 103
Параметр, 36
Параметры командной строки, 26,
284
Паскаль, 27, 28, 142, 153
Паскаль, Блез, 31
Перезаписываемые элементы, 161–163,
165, 167, 215, 271, 336
память, 166
флаги, 166
ПЗУ, 8
Планкалкюль, 28
Подпрограммы, 190, 239
вызов, 241
пролог, 242
соглашения о вызовах, 113, 245
стек вызовов, 113
эпилог, 242

Предметный указатель 357
Поразрядные операции, 82, 200
Порядок, 92–95, 100, 120, 121, 210,
211
ПП-1, 28
Представление вещественных чисел
двойной точности, 95, 289
одинарной точности, 95, 289
позиционное, 51
простые дроби, 51
расширенной точности, 95, 210,
289
с плавающей запятой, 72, 92, 210,
212, 289
с фиксированной запятой, 89
Представление знаковых целых чи-
сел, 67, 212, 287
двоично-десятичное, 212, 213
дополнительный код, 72
код с избытком, 71
код со знаком, 68
Представление натуральных чисел,
58, 287
восьмеричное, 59, 60
двоично-десятичное, 77
двоичное, 58
модулярное, 45, 80
перевод, 47
позиционное, 46
троичное, 45
шестнадцатеричное, 61
экономичность, 45, 49
Препроцессинг, 147
Препроцессор, 147
включение файла, 153
макросы, 155, 299
условия, 154
Проминь, 35
Процессор, 6, 9, 36
Радон, 35
Раздан-2, 34, 35
Расширение целых чисел, 84, 198
Реальный режим, 104, 106
Регистры, 9, 115
общего назначения, 115–117
расширений, 119
специальные, 119
флагов, 126
Реле, 32, 33, 45
Ритчи, Денис, 39
САВ-500, 35
Сегмент, 103, 108, 175
Сетунь, 23, 35, 45
Синтаксис
AT&T,144,173,174,221
Intel, 144, 173, 174
Система
автоматизированная, 5, 6
архитектура, 5
вычислительная, 5, 6, 11, 19, 22,
29, 41, 42, 49, 58, 59, 62, 63,
73, 142
Системная (материнская) плата, 6, 7
Системные вызовы, 26, 190, 237–239,
259, 260
Слово
x86, 10, 103
двойное, 10
машинное, 10, 24, 31, 241
четверное, 10
Стандарты C/C++, 283
Стек, 104, 108, 112, 117, 136, 139, 161,
175, 181, 189, 192, 234, 236,
241–243, 245–247, 250, 255

358 Предметный указатель
Стрела, 34
Суперскалярность, 16, 17
Табулятор, 29
Тактовый генератор, 7
Томпсон, Кен, 39
Транзистор, 34, 35, 45
Триггер, 33, 35
Триод, 33, 34
Трит, 23
Уилер, Дэвид Джон, 27
Урал-1, 34
Урал-11М, 36
Урал-14, 34
Урал-25, 36
УУ, 9, 23, 31, 36
Фаулер, Томас, 31
Феликс, 31
Флаги, 14, 15
AF (вспомогательного перено-
са), 127–129, 202, 205
CF (переноса), 64, 75, 86, 126–
130, 200, 202, 205, 208, 228–
231, 269
DF (направления), 127
FPU, 125
C0, 129, 220, 229–232
C1, 129, 220, 231
C2, 129, 220, 229–232
C3, 129, 220, 229–232
OF (знакового переполнения),
75, 126–129, 202, 205, 269
PF (чётности), 127–130, 202, 205,
208, 228–231
SF (знака), 127, 128, 202, 205,
269
ZF (нуля), 127–130, 202, 205, 208,
228–231, 269
проверка, 204, 207, 208, 219
состояния, 128
установка, 129, 202
Фортран, 26, 28, 34, 143
фон Нейман, Джон, 17, 49
Холлерит, Герман, 32
Хоппер, Грейс, 28
Целые типы C++, 285
Цикл выполнения команды, 14
Цузе, Конрад, 17, 25, 28, 30–33, 45
Шаблоны C++, 297, 309
Шестидесятичетырёхбитный режим,
106, 107, 111, 117, 119, 134,
135, 137–140, 179, 186, 188,
192, 193, 247
Шиккард, Вильгельм, 31
Штибитц, Джордж, 32
Шутц, Георг, 31
Экерт, Джон Преспер, 17, 27
Электроника НЦ-8010, 38
Эльбрус, 37, 105
ЭНИАК, 45
Энигма, 32
Эпос, 46

Список таблиц 359
Список таблиц
2.1 Перевод 0,13510в двоичную систему счисления .......... 57
2.2 Перевод 0,0010001010
2.3 Соответствие двоичных триад восьмеричным цифрам ....... 61
2.4 Соответствие двоичных тетрад шестнадцатеричным цифрам . . . 61
2.5 Различные способы представления знаковых чисел (кодирование) 69
2.6 Различные способы представления знаковых чисел (декодирование) 70
2.7 Логические операции над разрядами ................. 82
2.8 Знаковое и беззнаковое расширение ................. 85
2.9 Стандартные двоичные форматы с плавающей запятой ....... 95
3.1 Регистр флагов flags ......................... 127
3.2 Загрузка состояния FPU в регистр флагов .............. 130
3.3 Адресация операнда при помощи полей Modи R/M ........ 134
3.4 Номера (коды) регистров ....................... 136
3.5
Номера (коды) регистров общего назначения при использовании
REX .................................. 138
в десятичную систему счисления ..... 58
2
4.1 Модификаторы параметров ассемблерных вставок GCC ...... 172
5.1 Суффиксы размера операндов .................... 183
5.2
Двойные суффиксы размера для копирования целых чисел с расши-
рением ................................. 183
5.3 Основные общие команды ....................... 187
5.4 Команды передачи управления, вызова и возврата ......... 191
5.5 Команды целочисленной арифметики ................ 196
5.6 Команды умножения и деления неявного аргумента A ....... 197
5.7 Команды расширения (увеличения разрядности) .......... 199
5.8 Мнемоники команд знакового расширения A ............ 199
5.9 Основные битовые операции ..................... 201
5.10 Команды обработки флагов ...................... 203
5.11 Условия и их связь с флагами состояния flags ........... 205
5.12 Команды передачи управления .................... 207
5.13 Команды пересылки данных ..................... 208
5.14 Команды загрузки данных в стек FPU ................ 216

360 Список таблиц
5.15 Команды выгрузки данных из стека FPU ............... 217
5.16 Команды пересылки данных FPU ................... 219
5.17 Условия fcmovCC и их связь с флагами состояния flags ...... 220
5.18 Команды загрузки и выгрузки управляющих регистров FPU .... 220
5.19 Основные арифметические операции FPU .............. 222
5.20 Шесть форм основных арифметических команд FPU ........ 223
5.21 Дополнительные арифметические и трансцендентные команды FPU 227
5.22 Команды сравнения FPU ....................... 229
5.23 Значение флагов при сравнении .................... 229
5.24 Значение флагов при определении вида st(0) ............ 231
6.1 Тридцатидвухбитные соглашения о вызовах ............. 246
6.2 Шестидесятичетырёхбитные соглашения о вызовах ........ 247
6.3 Механизм системных вызовов Linux ................. 260
6.4 Размер выравнивания для данных различных типов ......... 278
7.1 Минимальная разрядность стандартных целых типов ........ 286
7.2 Основные форматы вывода printf () ................. 303
7.3 Основные флаги вывода printf () ................... 304
7.4 Основные форматы ввода scanf () .................. 305
7.5 Основные модификаторы размера .................. 305
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
