
- •Разработка прикладной программы
- •Трансляция прикладной программы
- •Выполнение прикладной программы
- •Программный счетчик рс микропроцессора выставляет на шину адреса ша код адреса 0003.
- •Программный счетчик рс микропроцессора выставляет на шину адреса ша код адреса 0006.
- •В программном счетчике рс сформирован адрес следующей команды, равный 0008.
- •Программный счетчик рс микропроцессора выставляет на шину адреса ша код адреса 0008.
- •Анализ результата выполнения прикладной программы
ОПИСАНИЕ АРХИТЕКТУРЫ МП И
ПОРЯДКА ВЫПОЛНЕНИЯ ПРОГРАММЫ
Разработка прикладной программы.
Трансляция прикладной программы.
Выполнение прикладной программы.
Анализ результата выполнения прикладной программы.
Разработка прикладной программы
Разработка алгоритма прикладной программы сложения двух чисел.
Разработка текста прикладной программы сложения двух чисел на языке Ассемблера:
MOV AX,FFFFh ;Загрузка в регистр AX константы FFFFh
MOV BX,0001h ;Загрузка в регистр BX константы 0001h
ADD AX,BX ;Сложение содержимого регистров AX и BX
HLT ;Останов
Сохранение текста прикладной программы сложения двух чисел во внешнем запоминающем устройстве ВЗУ в файле add.asm.
Трансляция прикладной программы
Программа транслятор (компилятор) преобразует исходный текст прикладной программы, написанной на языке Ассемблера add.asm, в машинные (исполняемые) коды: B8 FF FF BB 00 01 03 C3 F4.
Программа транслятор сохраняет машинные (исполняемые) коды прикладной программы во внешнем запоминающем устройстве ВЗУ в файле add.exe.
Выполнение прикладной программы
ЗАПУСК ПРОГРАММЫ НА ВЫПОЛНЕНИЕ
Для запуска программы на выполнение выбираем файл add.exe.
Операционная система записывает исполняемый код прикладной программы add.exe из внешнего запоминающее устройство ВЗУ в оперативное запоминающее устройство ОЗУ.
Исполняемый код прикладной программы распределяется по ячейкам памяти ЯП оперативного запоминающего устройства ОЗУ (каждый байт машинного кода записывается в отдельную ячейку памяти ОЗУ):
-
Оперативное запоминающее устройство ОЗУ
Адрес
Данное
0000
B8
0001
FF
0002
FF
0003
BB
0004
01
0005
00
0006
03
0007
C3
0008
F4
В программный счетчик PC (Program Counter) загружается адрес первой команды 0000, размещенной в оперативном запоминающем устройстве ОЗУ. [Точнее адрес КОП (Кода ОПерации) первого байта первой команды, размещенного в первой ячейке памяти ЯП оперативного запоминающего устройства ОЗУ с адресом 0000.].
Операционная система передает управление прикладной программе.
Начинается выполнение прикладной программы.
ВЫПОЛНЕНИЕ ПЕРВОЙ КОМАНДЫ MOV AX,FFFFh
3.2.1 Программный счетчик РС микропроцессора выставляет на шину адреса ША код адреса 0000.
Код адреса 0000 по шине адреса ША передается оперативному запоминающему устройству ОЗУ. В ОЗУ по адресу 0000 записан КОП первой команды B8.
ОЗУ выставляет на ШД содержимое ячейки памяти, равное B8.
КОП первой команды B8 по шине данных ШД передается в регистр команд РК операционного блока микропроцессора.
Устройство управления УУ операционного блока декодирует КОП первой команды B8, в котором зашифрована следующая информация.
Тип операции: загрузка операнда в регистр общего назначения РОН АХ.
Длина команды в байтах: три байта.
Способ адресации операнда: непосредственная адресация, то есть операнд является данным, которое непосредственно расположено во втором и третьем байтах первой команды.
Программный счетчик РС микропроцессора выставляет на шину адреса ША код адреса 0001.
Код адреса 0001 по шине адреса ША передается оперативному запоминающему устройству ОЗУ. В ОЗУ по адресу 0001 записан младший байт данного FF.
ОЗУ выставляет на ШД содержимое ячейки памяти, равное FF.
Младший байт данного FF по шине данных ШД передается в младший байт AL шестнадцатиразрядного РОН АХ.
Программный счетчик РС микропроцессора выставляет на шину адреса ША код адреса 0002.
Код адреса 0002 по шине адреса ША передается оперативному запоминающему устройству ОЗУ. В ОЗУ по адресу 0002 записан старший байт данного FF.
ОЗУ выставляет на ШД содержимое ячейки памяти, равное FF.
Старший байт данного FF по шине данных ШД передается в старший байт AН шестнадцатиразрядного РОН АХ.
В РОН АХ записано шестнадцатиразрядное данное FFFF.
В программном счетчике РС сформирован адрес следующей команды, равный 0003.
ВЫПОЛНЕНИЕ ВТОРОЙ КОМАНДЫ MOV BX,0001h