Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Программирование на Ассемблере
Цель работы:
- ознакомление с общими принципами построения программ на языке ассемблера;
- работа с программами TASM.EXE, TLINK.EXE;
- создание командных и исполняемых файлов (*.EXE,*.COM)
Программа 1:
; Programm Hello1 ( Упрощенное оформление программ )
.model small ;Модель памяти ближнего типа
.stack 100h ;Определяет стек раазмером 100h
.data ;Начало сегмента данных
Hello DB 'Hello!$' ;Зарезервировали память для
;переменной HELLO
.code ;Начало сегмента кода
start:
mov ax,@DATA ;Формирование адреса сегмента
mov ds,ax ;данных
LEA DX,Hello ;Установить в DX адрес переменной HELLO
MOV ah,09h ;Функция DOS вывода строки
INT 21h ;Вывод строки на экран
MOV ax,4C00h ;Функция DOS завершения
INT 21h ;программы
END start ;конец программы
Программа 2:
; Program Hello2 ( Стандартное оформление программ)
OurStack SEGMENT PARA STACK 'STACK'
DB 64 DUP (?)
OurStack ENDS
OurData SEGMENT PARA PUBLIC 'DATA'
Hello DB 'Hello!$'
OurData ENDS
OurCode SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:OurCode, DS:OurData, SS:OurStack
Start:
MOV AX,OurData
MOV DS,AX
LEA DX,Hello
MOV AH,09h
INT 21h
MOV AH,4Ch
MOV AL,00h
INT 21h
OurCode ENDS
END Start
4
3.2 Создайте исполняемый файл HELLO2.EXE , выполнив ассемблирование и
компоновку файла HELLO2.ASM,используя раннее созданный пакетный файл
HEL1.BAT (п.2.2.7) клавишей Enter).
3.2.1 Для выполнения программы наведите курсор
на файл HELLO2.EXE и нажмите Enter или наберите HELLO2
Погасите левую панель клавишами Ctrl+F1, чтобы было видно как работает
программа HELLO2.EXE.
6. К отчету по лабораторной работе №1 представить:
- продемонстрируйте работающие программы HELLO1,HELLO11,HELLO2,
HELLO3;
- полный цикл создания программы на языке Ассемблера;
- программы HELLO1.ASM, HELLO2.ASM,HELLO3.ASM с комментариями;
- блок-схемы программ HELLO1,HELLO2,HELLO3;
5
- выберите из файла HELLO1.LST по одной команде с различными режимами
адресации: регистровой, регистровой косвенной, базовой,
непосредственной. Запишите команды Ассемблера, машшинный код
команд в 16-м и двоичном коде, режимы адресации команд.
- заполненную таблицу
Имя :Количество: Размер :Размер: Размер
программы :команд :*.OBJ (в kбт.):*.EXE :*.COM
HELLO1
HELLO11
HELLO2
HELLO3
Примечание 1:
В данной лабораторной работе используются следующие функции
DOS для выполнения некоторых операций:
1) Функция 1 "Ввод с клавиатуры" вызывается путем помещения
номера функции в регистр АН и выполнения команды INT 21H - прерывание
программы. Набранный символ помещается в регистр AL.
MOV AH,1
INT 21H
2) Функция 9 - "Печать строки" вызывается путем помещения
номера функции в регистр АН, адреса (смещения) строки в регистр DX и
выполнения команды INT 21H.
MOV AH,9
MOV DX,offset HELLO
INT 21H
3) Функция 4CH - "Завершение программы и выход в DOS " вызывается аналогично
функции 1.
MOV AH,4CH
INT 21H