- •Методические указания
- •«Моделирование программы гипотетической машины с помощью макросредств»
- •1.Введение.
- •2.Пример выполнения курсовой работы.
- •2.1.Задание.
- •2.2.Анализ задачи и разработка алгоритма.
- •2.3.Разработка программы для гм.
- •2.3.1. Определение данных.
- •2.3.2.Определие команд гм.
- •2.4.Моделирование программы гм на реальной эвм.
- •2.4.1.Выборка и запиь слов гм.
- •2.4.2. Макроопрделения для команд гм.
- •2.5.Технология подготовки программы к выполнению и ее отладка.
- •2.6. Результаты работы программы
- •3. Варианты курсовой работы
- •4.Приложения
- •2. Блоки повторения
- •2.1. Rept-блоки
- •Irpc-блоки
- •2.4 Макрооператоры
- •3. Макросы
- •113.1. Макроопределения
- •3.1. Макрокоманды
- •3. 3. Макроподстановки и макрорасширения
- •3. 5. Макросы и процедуры
- •3. 6. Определение макроса через макрос
- •3.7. Директива local
- •113.8. Директива ехiтм
- •3. 9. Переопределение и отмена макросов
- •4. Условное ассемблирование
- •4. 1. Директивы if и ife
- •4.2. Операторы отношения. Логические операторы
- •4.3. Директивы ifidn ,ifdif , ifb и ifnb
2.5.Технология подготовки программы к выполнению и ее отладка.
Тексты головной программы и файла с макросами могут набираться в любом текстовом редакторе. Так как отладка связана с многократными запусками транслятора, компановщика и отладчика, желательно предварительно создать пакет задания в виде ВАТ-файла, например:
файл primer.bat
tasm /zi /l primer,,primer
tlink /v primer
td primer
rem primer
Ключи /zi и /v необходимы для сохранения отладочной информации в ехе-файле, которая в свою очередь используется отладчиком td.exe, ключ /l позволяет создать файл primer.lst с листингом, содержащим макрорасширения после макроподстановок, а также ошибки времени трансляции. Основные отладочные действия выполняются с помощью стандартного отладчика td.exe. С практической точки зрения желательно все файлы, связанные с созданием и отладкой программы сконцентрировать в одной директории, например:
tasm.exe
tlink.exe
td.exe
dpmimem.dll
dpmiload.exe
primer.asm
macros.inc
primer.bat
2.6. Результаты работы программы
Работа программы демонстрируется на рис.8. В качестве исходных данных используется объектный код программы Primer.
Отсортированный список
00ADC0 01E07B 02DC1E 0F19E0 142E2F 203580 2271DB 390000 66885A 749E31
Рис.8. Пример прохождения отсортированного списка(fw=23).
На рис.9 показана сформированная в результате работы программы структура памяти Spis (линейный список) с выделенными 23-разрядными словами.
индекс 0 1 2 3 4 5 6 7 8 9
Spis 0F19E0 000002 142E2F 000008 2271DB 00000E 01E07B 00000A 203580 000004
inf link
узел списка
A B C D E F 10 11 12 13
02DC1E 000000 749E31 0000FF 390000 000010 66885A 00000C 00ADC0 000006
признак конца списка голова списка h
Рис.9. Содержимое Spis после создания и сортировки. Поле link каждого узла содержит смещение в Spis, заданное как индекс слова ГМ.
На рис.10 показана работа программы при различных значениях параметра fw.
a)fw=8
Отсортированный список
13 1E 1E 33 50 8E B8 BD C0 D8
б)fw=35
Отсортированный список
0000CD10BA 00033442D0 003C0F680D 0056E01740 00F19E0285 01C815A04E 03000B707B 03484187AE 05278C5C80 062F44E3B6
в)fw=48
Отсортированный список
0000CD10BA77 03B409CD2106 06B000B707BA 10B402B700BA 138ED81E07B4 1E33C050B8BD 1EB8BD138EC0 4F18B90000CD 8ED8BE0000FC BF4800B8F813
г)fw=61
Отсортированный список
00019A2175320B68 0273484187AE2F44 03C6780A1717A271 09A01E7483E0EAF7 0CD10B402B700BA0 148ED8BE0000FCB9 1B60781ED01AC002 1B83DD278C5C8000 1C2003F0CB02E420 1C7605FB0005C0D0
Рис.10. Создание и прохождение списка для различных форматов слов ГМ.