Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekz._5.doc
Скачиваний:
1
Добавлен:
11.08.2019
Размер:
223.74 Кб
Скачать

Перетворення формату .Ехе в .Сом

Процедура створення файлу .СОМ різна в різних версіях асемблера.

• Команда ML в MASM 6.1 транслює, компонує і перетворює листинг в файл типу .СОМ відразу, якщо в програмі використовується модель пам'яті TINY.

• MASM 5.1 створює файл .OBJ, який потім компонується щоб отримати файл .ЕХЕ. Для перетворення отриманого файлу .ЕХЕ в .СОМ скористайтеся програмою EXE2BIN. Ім'я цієї програми означає "перетворити файл типу .ЕХЕ в .ВIN"; тут .BIN означає двійковий файл, але задайте вашому результуючому файлу розширення .СОМ.

• TASM дозволяє вам створювати файли типу .СОМ за допомогою програми TLINK.

Коли перетворення програми у формат .СОМ завершено, ви можете видалити створені файли .OBJ і .ЕХЕ. У результаті програма типу .ЕХЕ має розмір 792 байти, .СОМ - 24 байти. Різниця викликана, головним чином, наявністю у файлі .ЕХЕ 512-байтного блоку заголовка.

TITLE A05COM2 COM-програма переміщення та додавання даних

.MODEL TINY

.CODE

ORG 100H ;Починається в кінці PSP

BEGIN: JMP MAIN ;Перехід за дані

; ------------------------------------------------------------------------------------------------------------------------------

FLDD DW 215 ;Визначення даних

FLDE DW 125

FLDF DW ?

; ------------------------------------------------------------------------------------------------------------------------------

1

MAIN PROC NEAR

MOV AX,FLDD ;Помістити 0215 в АХ

ADD AX,FLDE ;Додати 0125 в АХ 1

MOV FLDF,AX ;Зберегти суму в FLDF 1

MOV AX,4C00H ;Завершити роботу

INT 21H

MAIN ENDP ;Кінець процедури

END BEGIN ;Кінець програми

Рис. 5.6 – СОМ-програма зі спрощеними сегментними директивами



На рис. 5.6 показано використання спрощених сегментних директив для написання програми типу .СОМ. Тут також необхідно оголошувати тільки сегмент коду, не оголошуючи сегменти стека і даних. У MASM 6.1 програма повинна використовувати модель пам'яті Tiny.

Поради щодо налагодження. Невідповідність програми хоча б одній з вимог формату .СОМ може призвести до її непрацездатності. Наприклад, якщо програма EXE2BIN знаходить помилку, вона просто повідомляє вам, що не може перетворити файл (але не вказує причини). Перевірте речення SEGMENT, ASSUME і END. Якщо ви пропустите ORG 100H, виконувана програма неправильно звернеться до даних в PSP, що призведе до непередбачуваних результатів.

Якщо ви запускаєте програму типу .СОМ під DEBUG, використовуйте його команду D CS:100 для перегляду даних та інструкцій.

Спроба виконати модуль типу .ЕХЕ, створений з програми, написаної для формату СОМ, призведе до помилки. Видаліть такий файл .ЕХЕ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]