Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прогр.docx
Скачиваний:
23
Добавлен:
21.12.2018
Размер:
2.58 Mб
Скачать

Лабораторная работа №1. Тема: знакомство с системой программирования Турбо-ассемблер.

Создать с помощью отладчика два файла с расширением .asm по заданным текстам программ: а) вывод строки на экран «Hello World!»; б) вывод на экран вопроса: Какое сейчас время суток? (What now time of days?) Ответ может быть либо утро (MORNING/М) либо вечер (EVENING/Е). Если дан ответ утро (M), то необходимо выдать сообщение «Доброе утро» (Good morning!), иначе «Добрый вечер» (Good evening!). Транслировать эти программы. Собрать и отладить. Научиться из отладчика: загружать программы, ассемблировать, исполнять по шагам и до точки останова.

Методические указания.

Текст программы a:

masm

model small

.stack 100h

.data

message db "Hello World!!!",'$'

.code

begin:

xor ax,ax ; Обнуление регистра Ах

mov ax,@data ;Установка в ds адреса сегмента

mov ds,ax ;данных

mov ah,09h ;Функция Dos вывода сообщения

mov dx,offset message ;запись смещения message в dx

int 21h ;Функция Dos вывода сообщения на экран

mov ax,4c00h ;Функция DOS- выход из программы

int 21h ;Вызов DOS. Останов программы.

end begin

Текст программы б:

masm

model small

.stack 100h

.data

Question db 'What now time of days? (M/Е)',13,10,'$' ; Какое сейчас время суток?

MesMorning db 13,10,' An answer is chosen "Morning". Good morning!',13,10,'$'

MesEvening db 13,10,' An answer is chosen "Evening". Good evening!',13,10,'$'

.code

start:

mov ax,@data ;Установка в ds адреса сегмента

mov ds,ax ;данных

mov ah,09h ;Функция Dos вывода сообщения

mov dx,offset Question

int 21h ;на экран

RepeatEnter:

xor ah,ah ;Очистка регистра Ah

mov ah,1 ;Функция Dos ввода символа с

int 21h ;клавиатуры

cmp al,'M' ;M?

jz MPres ;если Al равно 'M' - переход на метку MPres

cmp al,'N' ;N?

jne RepeatEnter ;если Al неравно 'N'(и не 'М') - переход на метку RepeatEnter

mov dx,offset MesEvening ;запись смещения MesNaigt в dx

jmp ShowMes ;безусловный переход на метку ShowMes

MPres:

mov dx,offset MesMorning ;запись смещения MesMorning в dx

ShowMes:

mov ah,09h ;Функция Dos вывода сообщения на

int 21h ;экран

mov ax,4C00h ;Функция DOS- выход из программы

int 21h ;Вызов DOS. Останов программы.

end start ;Конец программы

Транслирование и сборка.

Из созданных текстовых файлов с расширением .asm были созданы .obj файлы с помощью утилиты tasm.exe – tasm.exe /z /zi /la. После была использована программа tlink.exe – tlink.exe /v /x. В результате описанных выше действий были созданы два исполняемых файла.

Используемые команды