МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Лабораторна робота №2
з дисципліни " Засоби системного програмування "
Львів – 2016
Тема: Програмування вводу та виводу на асемблері. Створення .COM –файлів.
Мета: оволодіння навичками створення *.COM – файлів та навчитися реалізовувати ввід з клавіатури та вивід на екран символьних даних
Теоретична частина.
Програма типу .COM вміщує лише один сегмент, де розташовані усі компоненти програми:
- префікс програмного сегмента;
- програмний код;
- дані;
- стек.
Образ пам'яті програми типу .COM наведено нижче
/
До покажчика стека автоматично записується число FFFEh. Незалежно від реального розміру програми їй надається 64 K адресного простору, тобто один і тільки один сегмент. Стек зростає в напрямку зменшення адрес та за умови поганого планування програмістом може "наїхати (тобто затерти)" на власні дані та програму.
Розрізняють два стилі оформлення ( запису ) асемблерних програм - із стандартними та спрощеними сегментними директивами. Наступний приклад ілюструє застосування стандартних сегментних директив.
Індивідуальне завдання
3
H
Текст програми типу .соm, яка в текстовому режимі виводить за допомогою псевдо- графіки зображення заданого варіантом символу.
dosseg
.model small
.code
org 100h
start:
jmp prog
Simbol db ' ',10,13
db ' %%%%%%%% ',10,13
db ' %%% %%%% ',10,13
db ' %%% %%%% ',10,13
db ' %%% %%%% ',10,13
db ' %%%%%%%%%% ',10,13
db ' %%% %%%% ',10,13
db ' %%% %%% ',10,13
db ' %%% %%%% ',10,13
db ' %%%%%%%',10,13
db ' %%% ',10,13
db ' %%% ',10,13
db ' %%% ',10,13
db ' %%% ',10,13
db ' %%% ',10,13
db ' %%% ',10,13
db ' ',10,13,'$'
prog:
mov ax,0600h
mov cx,0000
mov bh,07
mov dx,184fh
int 10h
mov al,00
mov ah, 09
mov dx, offset Simbol
int 21h
mov ah, 7
int 21h
mov ax,0600h
mov cx,0000
mov bh,07
mov dx,184fh
int 10h
mov al,0
mov ah, 4ch
int 21h
end start
Результат програми
/
Висовок: На даній лабораторній роботі я оволодів навичками створення *.COM – файлів та навчився реалізовувати ввід з клавіатури та вивід на екран символьних даних.