Слайды и текст доклада
Pic.1
Архитектура младшей модели семейства Intel Память Рассматриваемый компьютер имеет архитектуру с адресуемыми регистрами, адресуемая память состоит из основной и регистровой памяти. Основная память …
Pic.2
Форматы данных Вещественные числа На современных ЭВМ чаще всего используются три формата вещественных чисел: короткие (длиной 4 байта), длинные (8 байт) и сверхдлинные (16 байт) вещественные числа. …
Pic.3
Целые числа в младшей модели могут занимать в памяти 8 бит (короткое целое), 16 бит (длинное целое) и 32 бита (сверхдлинное целое). Длинное целое принято называть машинным словом (не путать с …
Pic.4
Символьные данные В качестве символов используются короткие целые числа, которые трактуются как неотрицательные (беззнаковые) числа, задающие номер символа в некотором алфавите.
Pic.5
Массивы (строки) Допускаются только одномерные массивы, которые могут состоять из коротких или длинных целых чисел. Массив коротких целых чисел может рассматриваться программистом как символьная …
Pic.6
Логические (битовые) вектора. Логические (битовые) вектора. В языке машины представлены команды для обработки логический векторов длиной 8 или 16 бит. Элементы таких векторов трактуются как …
Pic.8
Вещественные числа Такое представление вещественного числа называется нормализованным: его первый сомножитель удовлетворяет неравенству:
Pic.9
–13. 25 Сначала переведём его в двоичную систему счисления: –13. 2510 = -1101. 012 Затем нормализуем это число: -1101. 012 = -1. 101012*23 Следовательно, мантисса нашего числа будет иметь вид …
Pic.10
Шестнадцатеричные числа в языке Ассемблера принято записывать с буквой h на конце, при этом, если такое число начинается с буквы, то впереди записывается незначащий ноль, чтобы отличить запись такого …
Pic.11
Представимый диапазон порядков коротких вещественных чисел равен 2–126. . 2127 ≈ 10–38. . 1038
Pic.12
Из-за конечной длины представления вещественных чисел действия с ними выдают приближённый результат Из-за конечной длины представления вещественных чисел действия с ними выдают приближённый результат
Pic.13
Возможно: Возможны случаи, когда (a+b)+c ≠ a+(b+c) и (a+b)*c ≠ a*c+b*c. Решение простейшего уравнения X+A=A будет равен, скажем, 10+6.
Pic.14
Значение машинного порядка E=255 при мантиссе M ≠ 0 обозначает специальное значение "не число" (NAN – not a number).
Pic.15
Машинный порядок E=255 при мантиссе M = 0 задаёт, в зависимости от знака числа, специальные значения Машинный порядок E=255 при мантиссе M = 0 задаёт, в зависимости от знака числа, специальные …
Pic.16
Целые числа Беззнаковые (неотрицательные) числа представляются в двоичной системе счисления - прямым кодом Если инвертировать прямой код (т. е. заменить все "1" на "0", а все …
Pic.18
Другой способ Дополнительный код числа –13 можно вычислить и так: 28-13 = 256–13 = 100000000–00001101 = 11110011
Pic.19
Если сложить дополнительный код с прямым кодом, то получится ноль и "лишняя" единица, не помещающаяся в отводимое число разрядов. Если сложить дополнительный код с прямым кодом, то …
Pic.20
Результат операций могут быть разными для знаковых и беззнаковых чисел
Pic.21
Для таких ситуаций в архитектуре компьютера введено понятие флагов. Каждый флаг занимает один бит в специальном регистре флагов с именем FLAGS. Для рассмотренного выше примера флаг CF (carry flag) …
Pic.22
Существует флаг SF, в который всегда заносится знаковый (крайний левый) бит результата, таким образом, при знаковой трактовке чисел этот флаг сигнализирует, что результат получился отрицательным. …
Pic.23
Сегментация памяти Память нашей ЭВМ имеет сегментную организацию. В любой момент времени для младшей модели определены четыре сегмента (хотя для старших моделей число сегментов больше). Есть четыре …
Pic.24
Физический адрес числа или команды вычисляется центральным процессором по формуле
Pic.25
В качестве мнемонических обозначений сегментных регистров выбраны следующие двухбуквенные служебные имена: В качестве мнемонических обозначений сегментных регистров выбраны следующие двухбуквенные …
Pic.26
Сегментные регистры являются специализированными, предназначенными только для хранения адресов сегментов, поэтому арифметические операции (сложение, вычитание и др. ) над их содержимым в языке машины …
Pic.29
Мнемонические обозначения регистров Регистры общего назначения, каждый из которых может складывать, вычитать и просто хранить данные, а некоторые – ещё умножать и делить, обозначают следующими …
Pic.30
Каждый из регистров AH, AL, BH, BL, CH, CL, DH и DL может быть использован в машинных командах как самостоятельный регистр, на них можно выполнять операции сложения и вычитания.
Pic.31
Существуют также четыре регистра с именами SI, DI, SP и BP, которые также могут использоваться для проведения сложения и вычитания, но они уже не делятся на половинки:
Pic.33
Кроме перечисленных выше регистров программист имеет дело с регистром IP (instruction pointer), который называется счётчиком адреса (в учебной машине мы обозначали его как RA). Этот регистр содержит …
Pic.35
Особенности хранения чисел в регистровой и основной памяти ЭВМ Запишем, например, шестнадцатеричное число 1234h в какой-нибудь 16-тиразрядный регистр (каждая шестнадцатеричная цифра занимает по 4 …
Pic.36
Перешлём машинной командой содержимое этого регистра в память в ячейки с адресами, например, 100 и 101. В ячейку с первым (старшим) адресом 100 при такой пересылке запишется число из младшего байта …
Pic.39
Назначение битов d и w Бит d задаёт направление выполнения команды, а именно:
Pic.40
Бит w задаёт размер регистров-операндов, а соответствие двоичных номеров регистров и их имён можно определить по таблице
Pic.41
Для проведения операций над числами разной длины появляется необходимость преобразования типов из короткого целого в длинное, и из длинного в сверхдлинное (и наоборот). Такое преобразование зависит …
Pic.42
Беззнаковое число всегда расширяется из короткого формата в более длинный приписыванием слева двоичных нулей, а для знакового числа слева размножается его знаковый (крайний слева) бит. Беззнаковое …
Pic.43
Для преобразования знаковых целых чисел из более короткого формата в более длинный в языке машины предусмотрены безадресные команды, имеющие в Ассемблере такую мнемонику: cbw (convert byte to word) и …
Pic.44
Формат регистр–память (и память-регистр). КОП r1 A2 Второй операнд A2 может в этом формате иметь один из приведённых ниже трёх видов: 1. A2 = A, 2. A2 = A[M1], 3. A2 = A[M1][M2]. Здесь A – задаваемое …
Pic.45
Подробнее каждый их трёх возможных видов второго операнда A2 см. в Приложении «Возможные виды второго операнда»
Pic.46
Команды языка машины Команды пересылки Все они пересылают значение одного или двух байт из одного места памяти в другое. Для более компактного описания синтаксиса машинных команд введём следующие …
Pic.47
Общий вид команды пересылки в двухадресной ЭВМ такой (после точки с запятой будем записывать, как это принято в Ассемблере, комментарий к команде): Общий вид команды пересылки в двухадресной ЭВМ …
Pic.48
Команды пересылок не меняют флаги в регистре FLAGS. Команды пересылок с кодом операции mov бывают форматов Команды пересылок не меняют флаги в регистре FLAGS. Команды пересылок с кодом операции mov …
Pic.49
Арифметические команды КОП op1,op2, где КОП = add, sub, adc, sbb. Команды с кодами операций add (сложение) и sub (вычитание) выполняются по схеме: op1 := op1 ± op2
Pic.50
Команды с кодами операций adc (сложение с учётом флага переноса) и sbb (вычитание с учётом флага переноса) имеют три операнда, два из которых задаются в команде явно, а третий по умолчанию является …
Pic.51
Таблица допустимых операндов для этих команд:
Pic.52
Команды умножения и деления целых чисел Первый операнд всех команд этого класса явно в команде не указывается и находится в фиксированном регистре, заданном по умолчанию. В младшей модели семейства …
Pic.53
В случае с коротким вторым операндом форматов r8 и m8 при умножении вычисление производится по формуле: В случае с коротким вторым операндом форматов r8 и m8 при умножении вычисление производится по …
Pic.54
При делении на короткий операнд форматов r8 и m8 производятся следующие действия: При делении на короткий операнд форматов r8 и m8 производятся следующие действия: AL := AX div op2 AH := AX mod op2 …
Pic.55
Схема выполнения короткого и длинного деления
Pic.56
После выполнения команд умножения устанавливаются некоторые флаги, из которых для программиста представляют интерес только флаги переполнения и переноса (CF и OF). После выполнения команд умножения …
Pic.57
Для написания программ на Ассемблере нам будут нужны также следующие унарные арифметические операции. Для написания программ на Ассемблере нам будут нужны также следующие унарные арифметические …
Pic.60
Программа на ассемблере MASM 4
Pic.62
Программа на Fasm org 100h ; расположения в памяти : 100h start: ; Метка старота программы (не ;обязательно) mov ah,9 ; Функция ДОС mov dx,hello ; для вывода строки int 21h ; на экран mov ah,0 ; …
Скачать презентацию
Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!