Память

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

Машинный язык и язык ассемблера тесно связаны между собой, поэтому невозможно представить себе программиста, хорошо программирующего на языке ассемблера и в то же время не обладающего глубокими знаниями машинного языка. Сначала будет начато обсуждение возможностей машинного языка — на этот раз в связи с рассмотрением команд формата RR. Статья "Выдача ассебмлера" будет посвящена вопросу трансляции исходной программы ассемблером в программу на машинном языке.

Вопросы работы с памятью представляют большой интерес для любого программиста на языке ассемблера. В этом языке предусмотрены средства непосредственного управления использованием памяти программами и данными. В статье символические имена мы обсудим вопрос о том, как реально происходит резервирование памяти и присвоение символьных имен зарезервированным областям.

Наименьшей адресуемой единицей памяти является байт. Возможна также адресация полуслов, полных и двойных слов. При адресации должны соблюдаться правила выравнивания.

Первый байт команды машинного языка содержит код операции. В командах формата RR следующий байт используется для указания номеров регистров-операндов.

Листинг ассемблера содержит информацию о работе, проделанной при трансляции исходной программы.

По команде DS производится резервирование памяти и присвоение зарезервированной области символического имени. Команда DC позволяет, кроме того, производить загрузку начального значения в эту область. С помощью команды EQU можно присваивать адресам и константам символические имена.

Это интересно