Написание программы преобразования двухбайтового кода ASCII в соответствующее однобайтовое число

Страницы работы

3 страницы (Word-файл)

Содержание работы

Федеральное агенство по науке и образованию

Красноярский Государственный Технический Университет

Лабораторная работа по ЦуиМП №1

Изучение языка ассемблера персональных компьютеров

вариант №15

выполнил: студент гр.Р52-4

Титов Ю. С.

проверил:

Сушкин И. Н.

Красноярск 2005

Цель: знакомство со структурой программы при программировании на языке ассемблера для персональных компьютеров, компилирование программы, отладка программы с помощью Turbo Debuger.

Задание: написать программу преобразования двухбайтового кода ASCII в соответствующее однобайтовое число.

1.  Блок-схема программы.

2.  Описание алгоритма.

В начале программы происходит считывание из памяти двух байтов кода ASCII и запись их в регистр dx. Далее для старшей и младшей части регистра выполняются одинаковые действия. Если dh(dl) больше 39h, то происходит преобразование кода в число А…F. В противном случае происходит преобразование в число 0…9. В результате выполнения этих операций младшие 4 разряда регистров dl и dh будут содержать числа, соответствующие коду ASCII. Для компоновки чисел в один байт регистр dh сдвигается на 4 разряда влево и складывается с регистром dl. Полученный результат записывается в память.


3.  Листинг программы.

.model tiny

.386

.code

      org 100h

main:

      mov dx,chislo

      cmp dh,39h

      ja a_fh

      sub dh,30h

      jmp low_part

a_fh:

      sub dh,37h

low_part:

      cmp dl,39h

      ja a_fl

      sub dl,30h

      jmp done

a_fl:         

      sub dl,37h

done:

      shl dh,4

      add dl,dh

      mov n_chislo,dl

      ret

chislo dw 3242h

n_chislo db 0

end main

4.  Результат преобразования.

5.  Отладка.

Для компиляции программы использовались программы Tasm.exe и Tllink.exe пакета Turbo Assembler. Отладка осуществлялась программой Turbo Debuger.

Вывод: в ходе лабораторной работы было произведено ознакомление со структурой программы языка ассемблера, а также с процессом её компиляции и отладки.

Похожие материалы

Информация о работе