Основное правило записи программ применительно к МПК 580
В соответствии с синтаксическими правилами языка ассемблера каждая команда в программах имеет четырехзвенную конструкцию:
ОПЕРАЦИЯ. В поле операции команды записывается мнемонический код или директивы ассемблера. Код - это сокращение полного английского наименования выполняемого действия (ADD - сложить, SUB - вычесть, JMP - перейти, RLC - циклически сдвинуть влево, DB - определить байт).
ОПЕРАНД. В этом поле указывается операнд (операнды), который должен участвовать в данной операции. В зависимости от способа адресации, используемого в команде, поле операнда может содержать: непосредственный операнд (AN1 4FH), адрес операнда (LDA 01 AEN), адреса двух операндов (MOV W, С), адрес операнда и операнд (MV1D, 10011101В). Если в поле операнда определяются два объекта, то они разделяются запятой.
МЕТКА. Метка используется в качестве символического адреса передачи управления, например JNZ LABELI, она должна отмечать команду, которой в случае реализации заданного условия программа должна передать управление. В процессе трансляции исходной программы ассемблирующая программа всем этим символическим адресам переходов поставит в соответствие их действительные значения. Метка всегда не число, а имя, и оно не является обязательной принадлежностью каждой строки программы. После метки по правилам языка ассемблера ставится двоеточие.
КОММЕНТАРИЙ. Поле комментария может быть использовано для текстового и символьного пояснения логической организации прикладной программы. Это поле полностью игнорируется ассемблирующей программой, поэтому оно должно начинаться со знака препинания «;» (точка с запятой).
Директивы ассемблера. Ассемблирующая программа транслирует исходную программу, записанную на языке ассемблера в объектовые коды, с которыми может оперировать МП. Хотя ассемблирующая программа берет на себя многие из рутинных работ программиста (например, присвоение действительных адресов, преобразование чисел, присвоение действительных значений символьным переменным и т. п.)
Программист все же должен указать ей некоторые параметры: начальный адрес прикладной программы, конец ассемблируемой программы, форматы данных и т.п. Вся эта информация вставляется программистом в исходный текст своей прикладной программы в виде директив ассемблера, которые только управляют процессом трансляции и не преобразуются в коды объектной программы.Диpeктивa ORG 0200Н задает ассемблеру адрес ячейки памяти (0200Н), в которой должна быть расположена первая команда прикладной программы.
Директивой EQU можно любому символическому имени, используемому в программе, поставить в соответствие определенный операнд. Например, записи PET (в поле метки, но без – двоеточия), EQU (в поле операции) и 13 (в поле операнда) приводят к тому, что в процессе ассемблирования всюду, где встретится символическая переменная PET, она будет заменена на число 13. Директивы DB и DS используются программистом для определения байт и резервирования ячеек памяти для переменных, соответственно. Директивой END программист дает ассемблеру указание об окончании трансляции.
Дата добавления: 2019-02-07; просмотров: 347;