Команда А (от английского Assemble — ассемблировать) используется для вставки инструкций языка ассемблера в программу, начиная с некоторого заданного адреса. С помощью этой команды можно вводить мнемонические обозначения машинных инструкций микропроцессора Intel 8080 и операнды. Однако все числовые операнды должны быть представлены в шестнадцатеричном формате. С помощью этой команды нельзя вводить символические имена и нельзя также назначать символическим именам значения. С этой точки зрения к команде А можно обращаться как к мини-ассемблеру. Для ввода этой команды необходимо, во-первых, указать символ ”А”, а затем (без пробела) начальный адрес, представленный в шестнадцатеричном формате. После того как команда введена, на консоли выводится начальный адрес, а курсор или головка печатающего механизма устанавливается справа от этого адреса. Теперь вводится очередной оператор языка ассемблера и нажимается клавиша ’’RETURN”. После того как введен текст и нажата клавиша ’’RETURN”, на следующей строке печатается адрес следующей ячейки памяти (не занятой предыдущей машинной инструкцией). Программа ”DDT” ожидает ввода данных. Если клавиша ’’RETURN” нажата, а текст не введен, то выполнение команды А заканчивается и снова появляется основной промпт ОС СР/М. Использование команды А продемонстрировано в следующем примере: В этом примере в реассемблированной форме представлен фрагмент программы, расположенный в памяти с адреса 018В по 0194. Когда программа ”DDT” используется в качестве мини-ассемблера, обычно перед вводом операторов языка ассемблера задают команду L с тем, чтобы сначала просмотреть содержимое ячеек памяти, которые требуется изменить. В этом примере корректный синтаксис команды А показан после распечатки фрагмента програм- мы. Указанный в команде начальный адрес такой же, как у кода программы, и после ввода команды адрес первой ячейки, предназначенной для записи операторов языка ассемблера, выведен на консоль. В процессе выполнения команды А каждый раз после нажатия клавиши ’’RETURN” на консоль выдавался адрес следующей ячейки для записи машинного кода очередного оператора. Отметим, что в последней строке для завершения выполнения команды А использован символ (точка). Отметим, что все значения, расположенные справа (в поле операндов), являются шестнадцатеричными числами. Если после команды А введено любое значение, которое не является шестнадцатеричным адресом в интервале от 0 до FFFF, то выполнение этой команды завершается и на консоль выдается сообщение об ошибке (”?”). Помимо этого подобное сообщение об ошибке появляется в тех случаях, когда программа ”DDT” не может истолковать введенное мнемоническое обозначение символа или значение операнда. При этом необходимо просто дать команду А с тем начальным адресом, по которому обнаружена ошибка, и правильно ввести оператор. Из примера видно, что при выполнении команды А программа ”DDT” выдает адрес следующей ячейки, предназначенной для изменения под строкой, в которую введен текст предыдущего оператора. Отметим, однако, что между адресами, напечатанными в двух идущих подряд строках, могут быть пропуски. Это объясняется тем, что операторы языка ассемблера могут занимать различное число ячеек памяти. В результате адрес в следующей строке будет отличаться от предыдущего адреса на +1, +2 или +3 в зависимости от напечатанных мнемонических обозначений машинной инструкции микропроцессора Intel 8080. Для завершения выполнения команды А нажмите клавишу ’’RETURN”, после него снова появится промпт программы ”DDT”. Для завершения выполнения этой команды можно также использовать символ (точка), однако достаточно нажать клавишу ’’RETURN”, поскольку это укажет программе ”DDT” на то, что дальнейший ввод не требуется.