30
3 Обработка данных в ASCII и BCD-форматах
3.1 Цель работы
Целью работы является изучение механизма преобразования ассембле-
ром данных, предоставляемых пользователем в различных форматах, в машин-
ные коды, рассмотрение ASCII- и BCD-форматов данных и приобретение на-
выков преобразования этих форматов в двоичный в ассемблерной программе.
3.2 Общие положения
3.2.1 Директивы определения данных
Ассемблер обеспечивает два способа определения данных: во-первых,
через указание длины данных и, во-вторых, по их содержимому. Основной
формат определения данных:
[имя] Dn выражение
Для определения элементов данных имеются следующие директивы: DB
(байт), DW (слово), DD (двойное слово), DQ (учетверённое слово), DT (десять
байт). Например, в приведенном ниже фрагменте программы
.DATA
N1 DB 25, 26, 37,112, …..
.CODE
:
MOV AL,N1+3
:
в регистр AL загружается значение 112 (10H).
Для определения повторяющихся данных можно использовать директи-
ву DUP:
DW 10 DUP(?) ; десять неопределённых слов
При указании в программе непосредственных данных (констант) необ-
ходимо указывать их формат: шестнадцатиричный (102H), десятичный (291)
или двоичный (10101100B).
3.2.2 ASCII- и BCD-форматы данных
Данные, вводимые с клавиатуры, имеют ASCII-формат (американский
международный код), т.е. каждый символ (буква, цифра, знак и т.д.) имеет дли-
ну в один байт и определенный двоичный код, занесённый в стандартную таб-
лицу. Так, например, буква А имеет код 01000001(41H), а цифра 1 -
00110001(31H).
BCD-формат, или двоично-десятичный код, в основном используется
некоторыми командами ассемблера для действий над числовыми данными. Так,
например, число 56 имеет представление 01010110.