Mov es, ax


mov dx, offset mas ; в dx загружаем смещение

mov bx, es:[dx] ; загрузили в bx число 5

 

Типы данных, которые поддерживает ассемблер:

1) Байт (byte) – 8 разрядов, младший разряд справа

2) Слово (word) – 2 байта, 16 разрядов. Делится на 2 части: справа младший байт, слева – старший байт. Адресом слова в памяти является адрес младшего байта.

3) Двойное слово (dword). Состоит из младшего и старшего слов. Адресом является адрес младшего слова.

МП кроме разрядности поддерживает логическую интерпретацию типов:

a) Целый тип без знака

Байт: 0….255

b) Целый тип со знаком

Байт: -128….+127

Слово: -32768…+32768

c) Цепочка – непрерывный набор байтов, слов или двойных слов (максимальная длина до 4 Гбайт).

d) Битовое поле – непрерывная последовательность бит, в которой каждый бит является независимым и может рассматриваться как независимая переменная (максимальная длина 32 бита).

 

Ввод информации с клавиатуры и вывод ее на экран осуществляется в символьном виде. Кодирование этой информации производят согласно таблице. Каждый символ кодируется байтом.

При вводе чисел в программу необходимо преобразование кода символа в двоичный формат. При выводе результатов необходимо выполнить обратное преобразование (чисел в символьные коды).

                   
         


Символ Код ASCII Двоичное представление Разность

0 30h 0000 30h

: : : :

9 39h 1001 30h


Для преобразования в двоичный код достаточно вычесть из кода ASCII 30h (для чисел от 0 до 9)

 

А(а) 41h(61h) 1010 37h(57h)

: : : :

F(f) 46h(66h) 1111 37h(57h)


Программа должна опознать, в каких границах находится код ASCII данного числа и в зависимости от принятого решения, вычесть из кода ASCII либо 37h, либо 57h.