Читайте также:
|
|
ЕХЕ-программы немного сложнее в исполнении, но для них отсутствует ограничение размера в 64 килобайта, так что все достаточно большие программы используют именно этот формат. Конечно, ассемблер позволяет уместить и в 64 килобайтах весьма сложные и большие алгоритмы, а все данные хранить в отдельных файлах, но ограничение размера все равно очень серьезно, и даже чисто ассемблерные программы могут с ним сталкиваться.
; hello-2.asm; Выводит на экран сообщение "Hello World!" и завершается.model small; модель памяти, используемая для ЕХЕ.stack 100h; сегмент стека размером в 256 байт.codestart: mov ax,DGROUP; сегментный адрес строки message mov ds,ax; помещается в DS mov dx,offset message mov ah,9 int 21h; функция DOS "вывод строки" mov ax,4C00h int 21h; функция DOS "завершить программу".datamessage db "Hello World!",0Dh,0Ah,'$' end startВ этом примере определяются три сегмента — сегмент стека директивой.STACK размером в 256 байт, сегмент кода, начинающийся с директивы.CODE, и сегмент данных, начинающийся с.DATA и содержащий строку. При запуске ЕХE-программы регистр DS уже не содержит адреса сегмента со строкой message (он указывает на сегмент, содержащий блок данных PSP), а для вызова используемой функции DOS этот регистр должен иметь сегментный адрес строки. Команда MOV AX,DGROUP загружает в АХ сегментный адрес группы сегментов данных DGROUP, a MOV DS,AX копирует его в DS. Для ассемблеров MASM и TASM можно использовать вместо DGROUP предопределенную метку «@data», но единственная модель памяти, в которой группа сегментов данных называется иначе, — FLAT (ей мы пока пользоваться не будем). И наконец, программы типа ЕХЕ должны завершаться системным вызовом DOS 4Ch: в регистр АН помещается значение 4Ch, в регистр AL помещается код возврата (в данном примере код возврата 0 и регистры АН и AL загружаются одной командой MOV AX,4C00h), после чего вызывается прерывание 21h.
Компиляция hello-2.asm:
Для TASM:
tasm hello-2.asmtlink /x hello-2.objРазмер получаемого файла hello-2.exe — 559 байт.
Содержание отчета:
8. Название работы
9. Цель работы
10. Приборы и оборудование
11. Краткие теоретические сведения
12. Индивидуальное задание
13. Распечатанный текст программы
14. Выводы.
Вопросы к защите лабораторной работы.
1. Этапы получения.СОМ и.ЕХЕ файлов.
Лабораторная работа № 7
Изучение команд условной передачи управления
Цель работы: научиться применять команды условной передачи управления при написании программ
Приборы и оборудование: IBM-совместимый компьютер, QC 2.00 w ASM.
Вычислить выражение
Вариант
ì x+13 15<x
z= í y*35+5 5<x<=15
î x+y+5 x<=5
x – int
y – char
Вариант
ì x*3+18 25<=y
z= í y*3+5*x 17<=y<25
î x*y+7 y<17
x – unsigned long
y – unsigned char
Вариант
ì y–12 35<x
z= í x/3+5*y –7<=x<=35
î x%y+5 x<– 7
x – char
y – long
Вариант
ì x*18 12<=x
z= í y*35+5 2<x<12
î x+y%5 x<=2
x – unsigned int
y – unsigned long
Вариант
ì y%10 105 <= x
z= í y*7+x*2 –15 <= x< 105
î y+15 x < –15
x – int
y – int
Вариант
ì y+10%x 17 <= y
z= í x – 35+y 10 < y < 17
î y*7+5 y <= 10
x – unsigned char
y – unsigned long
Вариант
ì y–13 –15 < x
z= í y+x+50 –50 < x <= –15
î x*y+1 x <= –50
x – int
y – char
Вариант
ì y%13 150 <= y
z= í y/5+50 50 < y < 150
î x/3+y+5 y <= 50
x – unsigned int
y – unsigned long
Вариант
ì y / 13 155 < y
z= í x+35+y%5 –5 < y <= 155
î x+y y <= –5
x – long
y – long
Вариант
ì x+13 15<x
z= í y/5+x/5 5 < x <= 15
î x+y–5 x <= 5
x – unsigned int
y – unsigned long
Вариант
ì y%7+130 121 < y
z= í y+35+x*5 –17 < y <= 121
î x+2 y <= –17
x – int
y – long
Вариант
ì y+13 88 < y
z= í x/5+y%5 32 < y<= 88
î x+y y <= 32
x – unsigned char
y – unsigned int
Вариант
ì x+y+13 –15 < x
z= í x*3+y/5 –25 < x <= –15
î x/y+5 x <= –25
x – char
y – char
Вариант
ì (x+y)%7 159 <= x
z= í y*(35+x) 7 <= x <159
î (x+y)*5 x < 7
x – unsigned char
y – unsigned long
Вариант
ì x+13%y 150 < y+x
z= í y*35%x 57 < y+x <= 150
î x+y+2 y+x <= 57
x – long
y – int
Содержание отчета
1. Титульный лист
2. Наименование работы
3. Цель работы
4. Приборы и оборудованеи
5. Индивидуальное задание
6. Исходный модуль программы
7. Отладка на конкретном примере
Дата добавления: 2015-11-13; просмотров: 28 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Программа типа СОМ | | | CERTAIN ACTIVITIES WITHIN THE MALACHI GAP |