Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСиС_лаборАА.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
271.87 Кб
Скачать

Необходимые пояснения.

На начальной стадии работы выполняется программа, варианты исходного текста которой приведены ниже. На завершающей стадии работы необходимо написать и отладить программы, требования к которым изложены в разделе “Задание”, а ниже поясняются четыре этапа разработки программы на языке ассемблера.

Этап 1. Создание текста исходного модуля программы. С помощью любого текстового редактора ввести текст исходного модуля программы, осуществляющей, во-первых, перемещение линейного массива цифр, отображаемого в виде одной n-байтной строки, в другой массив, отображаемый в виде другой строки и, во-вторых, выдающей на экран дисплея одну из перемещаемых цифр и ФИО автора программы. Перемещение адресуемых байтов данных осуществить, последовательно, начиная с последнего байта исходной строки, содержимое которого перемещается в первый байт результирующей строки. Цифру, выводимую на экран, необходимо предварительно преобразовать в ASCII код. Для ввода текста программы необходимо вызвать программы-оболочки Total Commander или FAR и нажать клавиши SHIFT_F4. После нажатия этих клавиш нужно задать имя программы с расширением asm, например nameprog.asm и нажать клавишу Enter. Далее ввести текст исходного программного модуля и сохранить его в файле nameprog.asm.

Этап 2. Построение объектного модуля, обладающего возможностью дальнейшей отладки с помощью программы td.exe.Для достижения этой цели необходимо задать следующую командную строку.

>TASM/z/zi/l nameprog.asm

Можно не набирать .asm, используя правило умолчания. В результате выполнения этого этапа создается и сохраняется файл nameprog.obj.

Этап 3. Построение исполняемого модуля, обладающего возможностью дальнейшей отладки программы с помощью программы td.exe. Для достижения этой цели необходимо задать следующую командную строку.

>TLINK/i/m/l/s/v nameprog.obj

Можно не набирать .obj, используя правило умолчания. В результате выполнения этого этапа создается и сохраняется файл nameprog.exe.

Этап 4. Осуществить отладку созданной программы, используя программу td.exe, а при отладке использовать окно наблюдения WATCHES.

Возможный вариант исходного текста программы приводится ниже.

TITLE LAB4

data segment

a DB 0,1,2,3,4,5,6,7

b DB 8 dup(?)

auth DB 'IVAN','$'

mess DB 'NAZMITE KNOPKU DLY VIHODA  $'

data ends

code segment

assume cs:code, ds:data

begin:

mov ax,data

mov ds,ax

mov cx,8

lea si,a

lea di,b

label1:

mov al,[si]

mov [di],al

inc si

inc di

loop label1

mov dl,b+2

or dl,30h

mov ah,02h

int 21h

mov ah,09h

lea dx,auth

int 21h

lea dx,mess

int 21h

mov ah,1

int 21h

mov ax,4c00h

int 21h

code ends

END begin

Возможно упрощение описания сегментов. Для этого нужно определить модель используемой памяти. Пусть программа (код) располагается в одном сегменте, а данные и стек располагаются в другом сегменте. Такая модель памяти называется SMALL. Пример использования упрощенного описания сегментов приведен ниже.

TITLE LAB4

.Model Small

.STACK100h

.Data

a DB 0,1,2,3,4,5,6,7

b DB 8 dup(?)

auth DB 'IVAN','$'

mess DB 'NAZMITE KNOPKU DLY VIHODA  $'

.Code

begin:

mov ax,data

mov ds,ax

mov cx,8

lea si,a

lea di,b

label1:

mov al,[si]

mov [di],al

inc si

inc di

loop label1

mov dl,b+2

or dl,30h

mov ah,02h

int 21h

mov ah,09h

lea dx,auth

int 21h

lea dx,mess

int 21h

mov ah,1

int 21h

mov ax,4c00h

int 21h

END begin