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

4.5.1Введення/виведення з використанням модуля io.Asm

ЯК ПІДКЛЮЧАТИ МОДУЛЬ

Нехай основна програма має ім'я prog.asm

1) В програму prog.asm необхідно додати директиву include io.asm

Наприклад: model small

Include io.asm

.data .. 2) Помістити файли io.asm і ioproc.obj в каталог з програмою prog.asm

3) Процес трансляції :

- tasm.exe /zi prog.asm,,,

- tlink.exe /v prog.obj + ioproc.obj

Не вдаваючись в деталі роботи модуля ІО.ASM просто використаємо його можливості . У нас з’явиться декілька корисних команд. Єдине треба пам’ятати, що це не є символічне ім’я команди процесора, а ім’я командного файла, що складається з рядків-виразів на мові Асемблера.

Ввод числа: inint ор

Введення з клавіатури

Введення даних з клавіатури реалізоване з використанням проміжного буфера введення. Допускається редагування тексту, що вводиться, : при натисненні клавіші Backspace знищується останній набраний символ, а при натисненні клавіші Esc знищується увесь набраний текст. Команди введення не видають на екран ніякого запрошення до введення, тому сама програма повинна видавати символи запрошення (наприклад, символ >).

Введення числа : ININT ор

Допустимий тип операнда op : слово з регістра або з пам'яті. По команді можна ввести число як зі знаком, так і без знаку. Число, що вводиться, має бути записане в десятковій системі. Якщо перед числом є пропуски, то вони "проковтнулися" командою ININT. Якщо число набране без знаку або зі знаком "плюс", то воно вводиться як число без знаку і може мати величину від 0 до 216-1. Якщо перед числом вказаний знак "мінус", то воно вводиться як негативне число і повинно мати величину - 215 до - 1. Кінцем числа вважається будь-який символ, відмінний від цифри.

Якщо величина числа знаходиться поза вказаними межами або воно задане неправильно, то фіксується помилка, і програма припиняє свою роботу.

Позаяк введене число завжди записується в регістр або осередок розміром в слово, то, наприклад, команда ININT АХ допустима, а команда ININT АН - ні.

************************************************************************

Очищення буфера введення : FLUSH Висновок на екран Висновок на екран здійснюється негайно, без яких-небудь проміжних буферів. Черговий символ, що виводиться, розміщується в тій позиції екрану, де зараз знаходиться курсор, який у міру виводу зміщується. ************************************************************************** Перехід на новий рядок: NEWLINE Виведення числа зі знаком: OUTINT opl [, ор2] Виведення числа без знаку: OUTWORD opl [, op2]

Допустимі типи операндів op1 : слово з регістра або з пам'яті, op2: байт з регістра, пам'яті або безпосередній операнд Обоє ці команди виводять в десятковому виді число, задане першим операндом і що має розмір слова, тільки команда OUTINT трактує його як знакове число, а команда OUTWORD - як беззнакове.  OUTINT 0FFFFh ; вивід - 1 OUTWORD 0FFFFh ; вивід 65535 Другий операнд, якщо є, завжди трактується як число без знаку і задає ширину поля виводу - число позицій на екрані, які відводяться для виведення числа. Якщо ширина поля виводу більша, ніж потрібно, то число притискається до правого краю цього поля, а перед числом ставляться пропуски. Якщо ж ширина поля менше або взагалі не вказана (немає ор2), тоді ніякі пропуски не виводяться, а виводиться тільки число, причому цілком.

Разработать программу ви числення Z в зависимости от значення символа ch по формуле:

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