Дипломная работа: Вивід вмісту каталогу y середовищі MS DOS

int 21h ; вивести заданий символ

loop @@01 ; повторювати доки cx≠0

popcx ; відновлення регістрів

popax

ret ; повернення до викликаючої програми

ENDP WriteSimv

END

Функції, надані програмним модулем STRIO.asm, є зручними і простими інструментами виводу інформації на стандартний пристрій виводу і будуть використані в основній програмі.

3.1.3. Модуль BINASC . asm

Мови високого рівня надають програмісту можливість безпосередньо зчитувати і виводити числові значення. Нажаль, мова асемблера таких інструментів не має. В основній програмі значна частина роботи пов’язана з виводом із деякого буфера даних на екран . Однак дані в буфері зберігаються у вигляді двійкових слів того чи іншого типу. З'являється необхідність перетворення двійкових даних у ASCII-рядки, щоб у подальшому їх можна було вивести на екран. Дану проблему і покликані вирішити функції модуля BINASC.asm. Модуль складається із чотирьох функцій: допоміжних функцій HexDigit(перетворення чотирьохбітового значення у ASCII-цифру) і NumToAscii(перетворення беззнакового двійкового числа у ASCII-рядок), а також двох функцій BinToAscHexі BinToAscDec, які встановлюють систему числення і викликають вищезгадані функції.

Слід зазначити, що функція BinToAscDecзручна для перетворення і подальшого виводу чисел типу "слово" у вигляді десяткового числа.

Функцію BinToAscHexможна використовувати для виводу подвійного слова у вигляді шістнадцятирічного числа, послідовно перетворюючи і виводячи спочатку молодші два, а потім і старші байти, на екран.

Це дозволяє вирішити проблему обробки чотирьохбайтових даних, оскільки звичайні регістри є двохбайтовими і перетворення такого числа у, наприклад, десяткове представлення є проблематичним.

Код програмного модуля BINASC.asmприведено нижче:

IDEAL

MODEL small

ASCnull EQU 0 ; нульовий ASCII-символ

DATASEG

CODESEG

PUBLIC HexDigit, NumToAscii

PUBLIC BinToAscHex, BinToAscDec

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

; HexDigit перетворює чотирьохбітове значення в ASCII-цифру

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

; Вхід dlзначення від 0 до 15

; Вихід dl шістнадцятирічний еквівалент ASCII-цифри

; Регістри dl

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

PROCHexDigit

cmpdl, 10 ; перевірка, чи є dl< 10

К-во Просмотров: 550
Бесплатно скачать Дипломная работа: Вивід вмісту каталогу y середовищі MS DOS