subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link
subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link
subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link
subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link
subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link
subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link
subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link
subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link

Ассемблер->статьи->урок второй

small logo

Здравствуйте все! Сегодня мы продолжим знакомство с ассемблером. Давайте поговорим с вами о переменных! У процессора нет понятия "Переменная", он может работать лишь с областью памяти, поэтому имена переменных введены чисто для удобства. В процессе компиляции они будут заменены на числа (адреса памяти). Кроме того процессор не может сам различить код от данных, поэтому надо следить, чтобы содержимое переменных не попали в процессор как команды.

Теперь посмотрим объявление переменных:

[Имя] тип данные [,данные[...]]

Имя - имя переменных. Не должно быть зарезервированным словом. Чувствительно к регистру. Может содержать буквы, цифры, знаки: "_","$","%","^","!","?","@". Имя не должно начинаться с цифры. Имя может быть вообще не указано. В таком случае процессор просто вставит в это место данные.

Тип - определяет размер данных.

Тип Размер
db Байт
dw Слово (2 байта)
dd Двойное слово (4 байта)
dp Тройное слово (6 байт)
dq Четверное слово (8 байт)
dt Пятерное слово (10 байт)

Данные - данные, которые по умолчанию будут находиться по этому адресу.

Данным может быть число. В этом случае нужно следить, чтобы оно не выходило за рамки дозволенного (Например нельзя поместить число 1000 в один байт). Данных может быть несколько. В этом случае они перечисляются через запятую. Но учтите: имени будет соответствовать только первое данное. Можно также в данные поместить строки символов. Для этого их надо заключить в ОДИНОЧНЫЕ кавычки. Как правило один символ занимает один байт, поэтому нельзя поместить в слово более двух символов.

НО! В случае объявления байтовой переменной вся стока будет эквивалентна последовательности данных. Т.е. допустимо объявление

db '12345'

Но недопустимо

dw '12345'

Кроме того часто надо лишь зарезервировать область памяти, а не помещать туда данные. В этом случае надо заменить букву "d" в типе на "r". Т.е. вместо "db" будет "rw" и т.д. Далее в скобках указываем резервируемое количество. Например:

rd(2)

Резервирует место для двух переменных типа "DD".

На сегодня все. В следующий раз попробуем применить полученные знания: создадим свою первую программу!

 

Вся информация на сайте является интелектуальной собственностью. Перепечатка или распространение без разрешения автора запрещена

Copiright©: GRIENDERS 2006 ака Маслаков Александр


Hosted by uCoz