GNU Эмулятор компиляция программ

Содержание

Слайд 2

Запуск эмулятора

GNU эмулятор Neil Bauers Microprocessor Simulator ver 5.0.

1. Используя проводник

Запуск эмулятора GNU эмулятор Neil Bauers Microprocessor Simulator ver 5.0. 1. Используя
MS Windows найдите и откройте папку программы эмулятора.

2. Среди списка файлов программы найдите загрузочный файл программы, отмеченный пиктограммой и выполните его запуск.

Слайд 3

Окно программы

Окно программы

Слайд 4

Архитектура процессора

Программа эмулятора моделирует работу восьмиразрядного микропроцессора.
Микропроцессор содержит четыре регистра общего

Архитектура процессора Программа эмулятора моделирует работу восьмиразрядного микропроцессора. Микропроцессор содержит четыре регистра
назначения: AL, BL, CL, DL.

Регистр IP (Instruction Pointer) для адресации команд.
Регистр SP (Stack Pointer) для работы со стеком и регистр состояния SR (Status Register).
Объем адресуемой оперативной памяти (RAM) равен 256 байтам.
Адресуется память путем последовательного занесения в нее байтов.

Слайд 5

Ввод кода программы

Введите команды программы пересылки кодов в регистры общего назначения

Для увеличения

Ввод кода программы Введите команды программы пересылки кодов в регистры общего назначения
- уменьшения размеров шрифта используют кнопки

Слайд 6

Команда процессора MOV

Общий синтаксис команды:
MOV A1,A2

Схема работы команды:
R <- Code - Запись

Команда процессора MOV Общий синтаксис команды: MOV A1,A2 Схема работы команды: R
кода в регистр
R->[Addr] – Запись кода из регистра в оперативную память по адресу Adrr
R<-[Addr] – Запись кода из ячейки оперативной памяти с адресом Addr в регистр.

Слайд 7

Примеры использования команды

MOV AL,12; Запись в регистр кода 12
MOV [17],CL ;Запись в

Примеры использования команды MOV AL,12; Запись в регистр кода 12 MOV [17],CL
ячейку памяти с адресом 17
;содержания регистра CL
MOV BL,[C3] ; Запись в регистр значения из ячейки
;с адресом C3
MOV [CL],DL ;Запись содержания регистра
;ячейку адрес которой хранится в регистре CL
MOV AL,[BL] ;Запись содержания ячейки по
;адресу, который хранится в регистре BL в регистр AL

Слайд 8

Редактор кода

Команда END не является ассемблерной командой это команда эмулятора, означающая конец

Редактор кода Команда END не является ассемблерной командой это команда эмулятора, означающая
программы.
Для ввода комментариев используется специальный символ «;».
Коды при записи в регистр задаются в шестнадцатеричном формате!
Регистр символов кода и команд не имеет значения

Слайд 9

Компиляция кода

После набора команд программы выполняется ассемблирование программы путем нажатия кнопки «Assemblе»

Компиляция кода После набора команд программы выполняется ассемблирование программы путем нажатия кнопки
в верхней части окна

Слайд 10

Сохранение программы

Выберите Вашу рабочую папку для размещения файла с программой
Имя файла

Сохранение программы Выберите Вашу рабочую папку для размещения файла с программой Имя
программы (по умолчанию Untitled) замените на emureg и нажмите кнопку «Сохранить».
Текст программы будет сохранен в файле emureg.ASM

Слайд 11

Команды для работы с текстом программы

Для работы с фалами можно использовать команды

Команды для работы с текстом программы Для работы с фалами можно использовать
пункта меню File:
Open – Открыть файл.
Save – Сохранить файл.
Save As – Сохранить файл под новым именем.

Слайд 12

Адресное пространство программы

После сохранения программа будет скомпилирована в оперативную память и будет

Адресное пространство программы После сохранения программа будет скомпилирована в оперативную память и будет готова к исполнению.
готова к исполнению.

Слайд 13

Программа в памяти

Наша программа занимает диапазон адресов 00 до 09. Не забывайте,

Программа в памяти Наша программа занимает диапазон адресов 00 до 09. Не
что значения шестнадцатеричные !

Слайд 14

Исполнение программы

Для выполнения программы используем режим пошагового выполнения. Нажимайте последовательно кнопку «Step»

Исполнение программы Для выполнения программы используем режим пошагового выполнения. Нажимайте последовательно кнопку
и следите как изменяются значения в регистрах процессора.

Слайд 15

Выполнение программы

Обратите внимание, что значение регистров выводится в трех системах исчисления двоичной,

Выполнение программы Обратите внимание, что значение регистров выводится в трех системах исчисления
шестнадцатеричной и десятичной.

После достижения команды END нажмите кнопку «STOP».

Слайд 16

Перезапуск программы

В любом режиме исполнения программы для повторного ее исполнения следует нажать

Перезапуск программы В любом режиме исполнения программы для повторного ее исполнения следует
кнопку «CPU Reset !».

Если окно отображения оперативной памяти закрыто, его можно вывести, нажав кнопку «Show Ram».
Сброс оперативной памяти выполняется после нажатия кнопки «Assemble».

Слайд 17

Скорость исполнения программы

Программу можно выполнить в автоматическом режиме используя кнопку «Run». В

Скорость исполнения программы Программу можно выполнить в автоматическом режиме используя кнопку «Run».
автоматическом режиме исполнения можно использовать кнопки:
STOP – Приостановить выполнение программы.
Continue – Продолжить выполнение.
Slower – уменьшить частоту процессора эмулятора, для замедления обработки команд.
Faster – увеличить частоту работы процессора.

Слайд 18

Просмотр оперативной памяти

Содержание оперативной памяти можно выводить в одном из трех режимов

Просмотр оперативной памяти Содержание оперативной памяти можно выводить в одном из трех режимов

Слайд 19

Ячейки оперативной памяти

Hexdecimal – побайтовый просмотр в шестнадцатеричном формате.
ASCII – просмотр содержания

Ячейки оперативной памяти Hexdecimal – побайтовый просмотр в шестнадцатеричном формате. ASCII –
оперативной памяти в символьном виде.
Source – вывод программы в оперативной памяти (используется по умолчанию).

Слайд 20

Запись кодов в регистры и оперативную память

Упражнение № 1. Программа change1.asm. Напишите

Запись кодов в регистры и оперативную память Упражнение № 1. Программа change1.asm.
программу для обмена значений регистров AL и CL, используя оперативную память. Исходное значение кодов в регистрах AL=1F, CL=2F.

Псевдо код программы:
AL <= 1F
CL<= 2F
Адрес 52 <=AL
Адрес 53<= CL
Адрес 52 => CL
Адрес 53 => AL
КОНЕЦ

Слайд 21

Виртуальный дисплей

В эмуляторе участок оперативной памяти в диапазоне адресов от C0 до

Виртуальный дисплей В эмуляторе участок оперативной памяти в диапазоне адресов от C0
FF представляет собой видеопамять.
Если в ячейку занести ASCII код символа, то автоматически открывается устройство VDU (Visual Display Unit) которое отображает содержание видеопамяти в виде символов.

Слайд 22

Кодировка символов

Кодировка символов

Слайд 23

Видео память

Видео память

Слайд 24

Вывод сообщения

Следует иметь в виду, что оперативная память обновляется только после повторного

Вывод сообщения Следует иметь в виду, что оперативная память обновляется только после
ассемблирования программы, кнопка «Assemble» !

Упражнение № 2. Программа hello.asm Напишите программу для вывода на устройство VDU контрольного сообщения Hello World!.

Слайд 25

Запись кодов в видео память

AL <= 48
Адрес C0 <= AL
AL<=

Запись кодов в видео память AL Адрес C0 AL Адрес C1 AL
65
Адрес C1 <= AL
AL<= 6C
Адрес C2 <= AL
AL <= 6C
Адрес C3 <= AL
AL <= 6F
Адрес C4 <= AL
AL <= 20
Адрес C5 <= AL
AL <= 57
Адрес C6 <= AL

AL <= 6F
Адрес C7 <= AL
AL <= 72
Адрес C8 <= AL
AL <= 6C
Адрес C9 <= AL
AL <= 64
Адрес CA <= AL
AL <= 21
Адрес CB <= AL
Конец

Псевдокод программы

Слайд 26

Программный стек

Стек – участок оперативной памяти доступ, к которому построен по принципу:

Программный стек Стек – участок оперативной памяти доступ, к которому построен по

«Первый пришел, последний вышел» !
Используется стек для временного хранения кодов в процессе работы программы.

Команды для работы со стеком:
PUSH R ;Запись содержания регистра в стек
POP R ;Извлечение кода с верхушки стека в регистр

Стек располагается в нижнем диапазоне адресов оперативной памяти и начинается с адреса BF.
Адресуется стек с помощью регистра SP.

Слайд 27

Обмен значений регистров

Упражнение № 3. Напишите программу change2.asm в соответствии с упражнением

Обмен значений регистров Упражнение № 3. Напишите программу change2.asm в соответствии с
1, используя стек для временного хранения данных.

Псевдо код программы:
AL <= 1F
CL<= 2F
AL ↓
CL ↓
AL ↑
CL ↑
КОНЕЦ

Примечание:
↓ - поместить в стек
↑ - извлечь из стека

Слайд 28

Задания

Контрольное задание №1. Программа messages.asm Напишите программу для вывода сообщения.

Задания Контрольное задание №1. Программа messages.asm Напишите программу для вывода сообщения.
Имя файла: GNU-Эмулятор-компиляция-программ.pptx
Количество просмотров: 40
Количество скачиваний: 0