ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Порядок виконання роботи. 1. Створити текстовий файл, який має розширення .ASM та містить таку програму:1. Створити текстовий файл, який має розширення.ASM та містить таку програму:
data segment monin db “02”; номер місяця alfmon db “???”, “$” montab db “JAN”, “FEB”, “MAR”, “APR”, “MAY”, “JUN”, “JUL”, “AUG”, “SEP”, “OCT”, “NOV”, “DEC”; таблиця імен місяців tr db 3; змінна, що дорівнює 3 data ends
code segment start: assume cs: code, ds: data, es: data mov ax, data; ініціалізація сегментів mov ds, ax mov es, ax mov ah, monin; код першої цифри номера місяця mov al, monin + 1; код другої цифри номера місяця xor ax, 3030h; перетворення кодів номерів місяцев у номери cmp ah, 0; перша цифра номера дорівнює нулю? jz c20; перехід, якщо номер однозначний sub ah, ah; обнулити ah add al, 10; додати до номера 10 c20: lea si, montab; встановити пойнтер si на початок таблиці dec al; зменшити номер місяця на 1 mul tr; умножити на 3 add si, ax; сформувати в si адрес потрібного місяця mov cx, 3; у сх - кількість повторень cld; обробляти рядки по автоінкременту lea di, alfmon; встановити індекс di на змінну alfmon rep movsb; переписати рядок з таблиці до alfmon mov dx, offset alfmon; в dx – адреса змінної alfmon mov ah, 9; 9-та функція переривання ДОС № 33 int 21h; вивід рядка на екран code ends end start
2. Сформувати об’єктний модуль та файл лістінгу за допомогою програми TASM. 3. Перетворити об’єктний файл у виконуваний за допомогою програми TLINK. 4. Запустити програму на виконання. Пересвідчитись, що програма виводить на екран монітора назву місяця. 5. Завантажити програму до відладчика двоїчного кода TD та крок за кроком виконати усі її команди. Після виконання кожної з команд проаналізувати стан кожного з регістрів процесора. 6. Зробити зміни в програмі таким чином, щоб виводилися не три букви назви місяця, а чотири або більше.
3. Зміст звіту
1. Текст файла лістінга (.LST), до якого додан стан усіх регістрів процесора на кожному кроці виконання програми. 2. Висновки по роботі.
4. Контрольні запитання
1. Визначіть таблицю, що містить імена студентів вашої групи. 2. Які обмеження існують на розмір таблиці в програмі до лабораторної роботи? 3. Яку найбільшу довжину може мати кожен елемент цієї таблиці? 4. Для чого визначено змінну tr, що дорівнює 3? Чи не можна було збутися її використання? 5. Яких змін потребує програма при збільшенні довжини слова до 9 символів? При збільшенні кількості місяців до 16? 6. Який сенс у використанні змінної alfmon? 7. Назвіть декілька способів для обнуління регістрів.
Не нашли, что искали? Воспользуйтесь поиском:
|