Ассемблер высокого уровня
![]() | Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( сентябрь 2016 г. ) |
Ассемблер высокого уровня в вычислительной технике — это ассемблер , языка ассемблера который включает в себя функции, имеющиеся в языке программирования высокого уровня .
Самым ранним ассемблером высокого уровня, вероятно, был проблемно-ориентированный язык исполнительных систем Берроуза (ESPOL) примерно в 1960 году, который обеспечивал АЛГОЛ -подобный синтаксис вокруг явно определенных Burroughs B5000 . машинных инструкций [ оспаривается – обсуждаем ] За ним последовал Никлауса Вирта в PL360 1968 году; это воспроизводило оборудование Берроуза, с которым он был знаком, на IBM System/360 . Более поздние ассемблеры высокого уровня — это Borland (TASM) от Turbo Assembler , Netwide Assembler (NASM), ( Microsoft Macro Assembler от MASM), IBM от High Level Assembler (HLASM) для систем z/Architecture , Linoleum Алессандро Гиньолы, X# используется в Cosmos и Ziron. [ нужна ссылка ]
Ассемблер высокого уровня обычно предоставляет инструкции, которые непосредственно ассемблируют один к одному низкого уровня, машинный код как и в любом ассемблере, а также операторы управления, такие как IF, WHILE, REPEAT... UNTIL и FOR, макросы и другие улучшения. Это позволяет использовать абстракции операторов управления высокого уровня там, где максимальная скорость или минимальное пространство не важны; операторы низкого уровня, которые собираются непосредственно в машинный код, могут использоваться для создания самого быстрого или самого короткого кода. Конечным результатом является исходный код ассемблера , который гораздо более читабелен, чем стандартный код ассемблера, сохраняя при этом эффективность, присущую использованию языка ассемблера.
Ассемблер высокого уровня обычно предоставляет средства сокрытия информации и возможность вызывать функции и процедуры с использованием синтаксиса, подобного высокоуровневому (т. е. ассемблер автоматически создает код для помещения параметров в стек вызовов, вместо того, чтобы программисту приходилось вручную писать код). код для этого).
Ассемблеры высокого уровня также предоставляют абстракции данных, обычно встречающиеся в языках высокого уровня. Примеры: структуры данных , объединения , классы и множества . Некоторые ассемблеры высокого уровня (например, TASM и High Level Assembly (HLA)) поддерживают объектно-ориентированное программирование .
Ссылки
[ редактировать ]- Саломон, Дэвид (февраль 1993 г.) [1992]. Написано в Университете штата Калифорния, Нортридж, Калифорния, США. Чиверс, Ян Д. (ред.). Сборщики и грузчики (PDF) . Серия Эллиса Хорвуда «Компьютеры и их приложения» (1-е изд.). Чичестер, Западный Суссекс, Великобритания: Ellis Horwood Limited / Simon & Schuster International Group . ISBN 0-13-052564-2 . Архивировано (PDF) из оригинала 23 марта 2020 г. Проверено 1 октября 2008 г. [1] [2] (xiv+294+4 страницы) (Примечание. Представлены определения и примеры старых ассемблеров высокого уровня.)
- Искусство языка ассемблера , Рэндалл Хайд [3]
- HAL70 , Хэмиш Дьюар [4] Язык ассемблера высокого уровня для мини-компьютеров Interdata серии 70.
- Вебстер-сайт с информацией и ссылками на HLA и ассемблер.