- •4) Пpинципы оpганизации основных аппаpатных сpедств эвм (расслоение памяти, регистр перемещений, прерывания и опрос состояний, буферизация).
- •6) Организация ввода-вывода.
- •7) Методы повышения производительности эвм.
- •9) Микроархитектура современных пэвм. Гиперконвейерная организация процессора.
- •Регистры.
- •Сегментные регистры.
- •17) Основы языка Ассемблер
- •18) Команды логических операций. Сдвиговые команды.
- •19) Цепочечные команды. Префиксы повторения в цепочечных командах.
- •Insb считать из входного порта в приемник по адресу [di]
- •2. Команды умножения (mul, imul)
- •23) Команды условного и безусловного переходов.
- •Формат купу
- •Формат кбпу.
- •Передача параметров в п/п
- •Можно собрать макросы в отдельную библиотеку и писать программы, используя имена макросов в библиотеке.
- •3. Типы класса – имена, фиксированные (code, data, stack).
- •30) Базовая система ввода/вывода bios. Прерывания операционной системы dos. Средства
- •Прерывания ос
19) Цепочечные команды. Префиксы повторения в цепочечных командах.
Под цепочкой понимается последовательность байт или слов в памяти, а цепочной операцией называется команда, выполняемая над элементом цепочки. Для обработки строковых данных ассемблер имеет пять команд обработки строк:
MOVS переслать один байт или одно слово из одной области памяти в другую;
LODS загрузить из памяти один байт в регистр AL или одно слово в регистр AX;
STOS записать содержимое регистра AL или AX в память;
CMPS сравнить содержимое двух областей памяти, размером в один байт или в одно слово;
SCAS сравнить содержимое регистра AL или AX с содержимым памяти.
Insb считать из входного порта в приемник по адресу [di]
OUTS вывести из источника по адресу [si] в порт.
LODS считать из источника по адресу [si] в AL.
STOS сохранить содержимое AL в приемнике по адресу [di].
Эти команды предполагают, что регистры SI и DI содержат относительные
адреса, указывающие на необходимые области памяти. Регистр SI связан с регистром сегмента данных DS:SI, а регистр DI с регистром дополнительного сегмента ES:DI.
Следовательно, при использовании в программе цепочных команд необходимо инициализировать регистр ES. Цепочные команды выполняются с модификацией индексных регистров, и выполняют действие над одним байтом или словом. Чтобы обеспечить цикл используют префикс повторения REP. Длина цикла заносится в регистр СХ. При выполнении цепочной команды с префиксом REP СХ уменьшается на 1. Таким образом, можно обрабатывать цепочку любой длины. Модификация индексных регистров зависит от состояния флага DF. Флаг направления DF определяет направление повторяющейся операции:
1) если DF=0, то индексные регистры инкрементируются.
2) если DF=1, то индексные регистры декрементируются.
Установка DF осуществляется с помощью команд: CLD (DF:=0) и STD (DF:=1).
20) Команды пересылки данных.
Пересылка данных и адресов:
MOV Пересылка операнда
РUSН Запись операнда в стек
РUSHА Запись в стек содержимого всех регистров
РОР Чтение операнда из стека
РОРА Чтение из стека содержимого всех регистров
ХСНG Обмен между регистрами или памятью и регистром
ХLАТ Преобразование кодов
ВSWАР Перестановка байтов
Ввод-вывод данных:
IN Ввод операнда из порта в аккумулятор
ОUТ Вывод операнда из аккумулятора в порт
Загрузка адреса и селекторов:
LЕА Загрузка эффективного адреса ЕА в регистр
LDS Загрузка селектора в регистр DS
LES Загрузка селектора в регистр ES
LFS Загрузка селектора в регистр FS
LGS Загрузка селектора в регистр GS
LSS Загрузка селектора в регистр SS
Значения признаков при выполнении команд не изменяются.
Команда MOV - пересылка операнда
формат команды: MOV <приемник>,<источник>;
21) Арифметические команды: сложение и умножение двоичных и двоично-десятичных чисел.
Сложение:
ADD Сложение операндов
ADC Сложение операндов с признаком СF (перенос)
INC Инкремент операнда
AAA ASCII-коррекция результата сложения
DAA Десятичная коррекция результата сложения
Умножение:
MUL Беззнаковое умножение
IMUL Знаковое (целочисленное) умножение
AAM АSCII-коррекция результата умножения
Изменение разрядности путем расширения знака:
CBW Преобразование байта (АL) в слово (АХ)
CWDE Преобразование слова (АХ) в двойное слово (ЕАХ)
CWD Преобразование слова (АХ) в двойное слово (DХ, АХ)
CDQ Преобразование двойного слова (ЕАХ) в учетверенное слово (ЕDХ, ЕАХ)
1. Команды сложения ADD
ADD <приемник> <источник>. Действие: <приемник> = <приемник> + <источник>. Складывает приемник и источник, содержимое заносит в приемник.
ADC<приемник><источник>. Сложение с учетом флага CF флаг переноса.
Действие: <приемник> = <приемник> + <источник> + CF .
ААА - команда коррекции результата при сложении двоично-десятичных чисел, представленных в неупакованном формате. Корректирует результат сложения, находящийся в регистре AL, преобразуя его в правильную неупакованную десятичную цифру по правилу: если содержимое AL>9 то к нему прибавляется 6, а в регистр АН добавляется 1.
DAA - команда коррекции двух упакованных двоично-десятичных чисел в формате BCD.
Если 4 младших бита результата в AL содержат значение >9, то к регистру AL добавляется цифра 6, если значение в AL>9F, то к нему прибавляется 60h.