- •Лабораторная работа № 1
- •Основные понятия Архитектура эвм и ее структурная схема
- •Центральный процессор
- •Оперативная память
- •Представление данных
- •Содержание работы
- •Лабораторная работа № 2
- •Основные понятия
- •Запуск отладчика
- •Команды программы debug
- •Команда ассемблирования (перевод мнемокода ассемблера в машинный код)
- •Команда дизассемблирования (перевод машинного кода в мнемокод ассемблера)
- •Команда ввода данных в память
- •Команда вывода содержимого участка памяти на экран
- •Команда просмотра и изменения содержимого регистров
- •Мнемонические обозначения состояний флагов
- •Команда пошагового выполнения программы
- •Команда задания имени файла программы
- •Команда загрузки файла в память
- •Команда записи области памяти в файл
- •Команда выхода из отладчика
- •Содержание работы
- •Варианты заданий
- •Основные понятия Теоретические основы адресации памяти в реальном режиме
- •00000H [физический адрес] ffffFh.
- •Режимы адресации
- •Непосредственная адресация
- •Прямая адресация
- •Косвенная адресация
- •Адресация по базе
- •Индексная адресация
- •Базово-индексная адресация
- •Форматы команд
- •Содержание работы
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Арифметические команды
- •Основные понятия
- •Мнемоника арифметических команд
- •Задачи к выполнению лабораторной работы
- •Команды поразрядной обработки данных
- •Основные понятия
- •Мнемоника команд поразрядной обработки данных
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Команды передачи управления
- •Основные понятия
- •Мнемоника команд передачи управления
- •Команды управления циклами (loop, loope, loopz, loopne, loopnz) имеют следующие форматы в мнемонике ассемблера:
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Команды обработки строк
- •Основные понятия
- •Мнемоника команд обработки строк
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Описание команд программы debug
- •Библиографический список
Задачи к выполнению лабораторной работы
Промоделировать выполнение команды REP MOVSW.
Промоделировать выполнение команды REP LODSW.
Промоделировать выполнение команды REP STOSW.
Промоделировать выполнение команды REPE CMPSW.
Промоделировать выполнение команды REPNE SCASW.
Обменять содержимое двух строк.
Установить, входит ли буква "а" в ваше имя.
Определить, совпадают ли годы рождения ваших отца и матери, если эти годы заданы в виде строк символов.
Установить, входит ли буква "е" в вашу фамилию. Если это так, то заменить все буквы фамилии на "е".
Конкатенировать две строки. Результат поместить в третью.
Варианты заданий
Номер варианта |
Номер задачи |
Номер варианта |
Номер задачи |
1 |
1, 6 |
14 |
3, 9 |
2 |
1, 7 |
15 |
3, 10 |
3 |
1, 8 |
16 |
4, 6 |
4 |
1, 9 |
17 |
4, 7 |
5 |
1, 10 |
18 |
4, 8 |
6 |
2, 6 |
19 |
4, 9 |
7 |
2, 7 |
20 |
4, 10 |
8 |
2, 8 |
21 |
5, 6 |
9 |
2, 9 |
22 |
5, 7 |
10 |
2, 10 |
23 |
5, 8 |
11 |
3, 6 |
24 |
5, 9 |
12 |
3, 7 |
25 |
5, 10 |
13 |
3, 8 |
|
|
Приложение
Описание команд программы debug
Команда |
Краткое описание |
Формат |
1 |
2 |
3 |
(A)SSEMBLE |
Переводит мнемокод ассемблера в машинный код |
a [start] |
(C)OMPARE |
Производит сравнение двух блоков памяти |
c [start1] [end] [start2] c [start1] L[length] [start2] |
(D)UMP |
Выводит на экран содержимое участка памяти |
d d [start] d [start] [end] d [start] [list] |
(E)NTER |
Вводит в память машины список чисел и/или символьных переменных. Выводит на экран содержимое участка памяти, при необходимости, коppектиpует его |
e [start] [list]
e [start] |
(F)ILL |
Заполняет блок памяти последовательностью чисел и/или символьных переменных |
f [start] [end] [list] f [start] L[length] [list] |
(G)O |
Запускает выполнение программы |
g g =[start] g [breakpoint(s)] g =[start] [breakpoint(s)] |
(H)EXADECIMAL |
Производит сложение и вычитание двух шестнадцатеричных чисел
|
h [number1] [number2] |
(I)NPUT |
Считывает и выводит на экран байт из коммуникационного порта |
i [port] |
(L)OAD |
Производит загрузку файла в память машины. Производит загрузку сектора(ов) диска в память машины |
L L [start] L [drive] [sector] [number] L [start] [drive] [sector] [number] |
Продолжение прил.
1 |
2 |
3 |
(L)OAD |
Производит загрузку файла в память машины. Производит загрузку сектора(ов) диска в память машины |
L L [start] L [drive] [sector] [number] L [start] [drive] [sector] [number] |
(M)OVE |
Переносит блок данных из одного места памяти в другое |
m [start1] [end] [start2] m [start1] L[length] [start2] |
(N)AME |
Идентифицирует файл (присваивает ему имя). Идентифицирует параметр. Идентифицирует два параметра |
n [filespec]
n [param] n [param1] [param2] |
(O)UTPUT |
Пересылает байт на коммуникационный порт |
o [port] [byte] |
(Q)UIT |
Осуществляет выход из отладчика |
q |
(R)EGISTER |
Выводит на экран регистры и флаги состояния. Выводит на экран и коppектиpует значение регистра(ов). Выводит на экран и коppектиpует флаги состояния |
r
r [register name]
rf |
(T)RACE |
Выполняет одну команду программы под управлением DEBUG. Выполняет несколько команд программы под управлением DEBUG |
t t =[start]
t [number] t =[start] [number] |
(U)NASSEMBLER |
Переводит машинный код в мнемокод ассемблера |
u u =[start] [end] u [start] L[length] |
(W)RITE |
Пpоизводит запись файла на диск. Производит запись в сектора диска |
w w[start] w[drive][sector][number] w[start][drive][sector] [number] |
ЗАМЕЧАНИЕ. Параметры в квадратных скобках задаются пользователем. Эти параметры являются необязательными.