Что такое ассемблер?
Языки ассемблеров Команды языка ассемблера Код операции Псевдооперации Литералы Свободный формат команд Некоторые типичные команды ассемблера для машин с побайтовой организацией Ассемблеры типа «трансляция — выполнение» Однопроходный ассемблер Двухпроходный ассемблер Символы Подробная блок-схема прохода Подробная блок-схема прохода 2 Пример трансляции Таблицы символов общие замечания Обработка таблицы Линейный поиск Двоичный поиск Сравнение двоичного и линейного способов поиска Метод хеширования Пример хеширования Скученность Назначение макрокоманды Различие между макрокомандами и подпрограммами Форматы макрокоманды Ключевой макрос Макропроцессор |
Свободный формат команд
Фиксированный формат команд, в которое каждое поле однозначно определяется своей позицией в предложении исходного языка, неудобен для ввода с бумажной ленты или с удаленного терминала, так как длины содержимого одних и тех же полей могут изменяться в различных командах. В этих случаях, для того чтобы из избежать передачи пробелов, обычно применяется свободный формат. Даже формат, показанный на рис 5.1, полуфиксированный. Метки, коды операций и адреса должны начинаться с фиксированных позиций, и их длины ограничены сверху. Первые два поля не имеют ограничителей, а в качестве ограничителя для адресного поля используется пробел. Комментарии имеют свободный формат. Они могут быть помещены где угодно при условии, что после адреса расположен по крайней мере один пробел. В табл. 5.1 показаны типичные команды ассемблера для средних и больших машин с побайтовой организацией. Для каждой команды перечислены мнемонический код, длина в байтах и формат адресной части. Символические адреса допускаются в любой форме адреса, за исключением прямых операндов. В поле адреса в табл. 5.1 R означает общий регистр, В — базовый регистр, X —> индексный регистр, L,— длину операнда, М—маску и I — непосредственный операнд, который не адресуется, а явно, вставляется в команду. Таблица неполна, так как команды языка ассемблера изменяются от системы к системе. Полный набор команд читатель может найти в руководствах к конкретным системам, например в [1, 2, 3]. |