- •Архитектура эвм и вычислительных систем Организация базовой эвм
- •Регистры алу
- •Разрядность регистров
- •Классификация команд цп
- •Определение данных в цп
- •О mov ax,29 mov ah,10 (т.К. Не превышает, кодируется) mov ax,65536 перации передачи данных
- •Целые числа и операции над ними
- •Разветвление в программах
- •Безусловный переход
- •Уловный переход
- •Логические операции
- •Использование подпрогамм и выделение повторяющихся частей кода
- •Использование стека в процедурах. Организация процедуры
- •Адресация и виды адресации
- •Сдвиговые операции
Классификация команд цп
Основные классы:
Команды обращения к регистрам (адресные команды)
Команды ввода/вывода
Команды обращения к памяти (безадресные команды)
Система команд ЦП – такая система , которая позволяет в зависимости от данных в регистрах реагировать на эти данные в соответствие с их назначением.
Система команд делится на команды:
Математические
Логические
Системные
Команды управления цепочками данных
Команды ввода/вывода
Команды пересылки данных
Определение данных в цп
byte = 28 – M
word = 216 – слово
dword = 232 – удвоенное слово
qword = 264 – учетверенное слово
О mov ax,29 mov ah,10 (т.К. Не превышает, кодируется) mov ax,65536 перации передачи данных
mov – пересылка данных <куда>,<что>
Передаются:
Регистр – регистр
Память – регистр
Регистр – память
Целые числа и операции над ними
В ЭВМ «+» и «-» числа представляются по-разному
Математические операции:
add |
с
mov ax,2 ax [00(ah) 02(al)] mov
bx,4 bx [00(bh) 04(bl)]
add
ax,bx ax [00(ah) 06(al)] sub
bx,ax bx [00(bh) 02(bl)] sub
ax,bx ax [10 02]
inc ax (3) dev ax (1) |
sub |
вычитание |
mul |
умножение |
div |
деление |
inc |
увеличение +1 |
dec |
уменьшение -1 |
mov |
добавление |
Разветвление в программах
Разветвление – это механизм, позволяющий произвести в программе разделение хода ее выполнения. Разветвления в программах НЕ дают возможности выполнять одну и вторую ветвь одновременно. Для организации разветвления существует 3 основные операции:
Безусловный переход
Условный переход
Процедуры (см. таблицу процедур)
Безусловный переход
Б
jmp (после метки
«:»)
mov
ah,10
(Т.к.
не превышает, кодируется)
mov
ax,65536
Определение полей данных
Поле памяти может иметь размер в 1б, слово, двойное слово, учетверенное слово, в зависимости от размерности поля в нем можно хранить определенный размер данных
Основные сегменты программы
Программа в памяти состоит из 3х основных сегментов:
Сегмент данных (содержит в себе данные, определяемые нами в программе. Его адрес загружается в сегментный регистр ds)
Сегмент кода (часть программы, которая содержит в себе операции над данными или код. Этому сегменту соответствует регистр cs, в которыый загружается адрес этого сегмента)
Сегмент стека (регистр ss содержит адрес стека)
В
.data .code start: mov
ax,@data
mov ds,ax