Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1[1].doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
54 Кб
Скачать
☆

2.2. Пример программы на Ассемблере

; lab1.asm - упрощенная версия учебной программы

; по дисц. "Программирование"

; *****************************************************************

; Назначение: Программа формирует и выводит на экран приветствие

; пользователя с помощью функции ДОС "Вывод строки"

; (номер 09 прерывание 21h), которая:

; - обеспечивает вывод на экран строки символов,

; заканчивающейся знаком "$";

; - требует задания в регистре ah номера функции=09h,

; а в регистре dx - смещения адреса выводимой строки;

; - использует регистр ax и не сохраняет его содержимое.

; ******************************************************************

.MODEL SMALL ; Модель памяти-SMALL(Малая)

.STACK 100h ; Отвести под Стек 256 байт

.DATA ; Начало сегмента данных

Grt DB 'Вас приветствует ст.гр.8811 - Иванов И.И.',13,10,'$'

; Текст приветствия

.CODE ; Начало сегмента кода

Main: mov ax,@data ; Загрузка в DS адреса начала

mov ds,ax ; сегмента данных

mov dx,OFFSET Grt ; Загрузка в dx смещения

; адреса текста приветствия

DisplayGreeting:

mov ah,9 ; # функции ДОС печати строки

int 21h ; вывод на экран приветствия

mov ah,4ch ; # функции ДОС завершения программы

int 21h ; завершение программы и выход в ДОС

END main

3. Порядок выполнения работы

  1. Загрузить файл lab1.asm, просмотреть программу и разобраться в структуре и реализации сегментов.

  2. Строку-приветствие преобразовать в соответствии со своими личными данными.

  3. Протранслировать программу с помощью команды

> tasm имя_файла.asm

c созданием объектного файла и файла диагностических сообщений (файла листинга). Объяснить и исправить синтаксические ошибки, если они будут обнаружены транслятором.

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

4. Скомпоновать загрузочный модуль с помощью строки

> tlink имя_файла.obj

5. Выполнить программу в автоматическом режиме путем набора строки

> имя_файла.exe

и убедиться в ее работоспособности.

6. Включить в программу вывод еще одной строки-сообщения с любым текстом по аналогии с выводом строки-приветствия и присвоить ей имя My_program.asm. Протранслировать, скомпоновать загрузочный модуль и выполнить прогон программы My_program в автоматическом режиме.

7. Выполнить программу My_program в пошаговом режиме под управлением отладчика:

> td имя_файла.exe

с фиксацией содержимого используемых регистров и ячеек памяти до и после выполнения команды. Записать содержимое всех регистров процессора перед выполнением 1-ой команды.

Результаты прогона программы под управлением отладчика должны быть представлены в виде, показанном на примере одной команды в табл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]