Типы и форматы команд ассемблера

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

Любая команда делает какое-то элементарное воздействие, в котором участвуют структурные элементы процессора, исходя из этого нельзя написать программу для процессора, не зная его структуру. набор и Структура микропроцессора его команд, так, взаимно определяют друг друга. Из-за данной твёрдой связи различные процессоры смогут иметь разные совокупности команд.

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

Ассемблер – это язык программирования самого низкого уровня. При работе со сложными микропроцессорными совокупностями, к примеру с персональными компьютерами, значительно чаще употребляются языки большого уровня –ПАСКАЛЬ, БЕЙСИК и др. Но перед тем как программа, написанная на этих языках, будет выполняться, она должна быть преобразована в форму, «понятную» центральному узлу компьютера – процессору и трактуемую командами языка ассемблера. Такие преобразования делаются машинально либо с применением особого ПО – так называемых трансляторов.

Выбор совокупности команд есть одной их непростых и ответственных задач проектирования процессора, поскольку комплект команд определяет область его действенного применения. Большая часть процессоров имеют от 60 до 120 базисных команд, под которыми знают те, что определяют делаемую операцию не учитывая ее модификаций за счет применения разных режимов адресации, регистров неспециализированного назначения и т. д. Теоретически ограничений на число команд процессора нет – любой дополнительный бит, отводимый под код операций, удваивает число вероятных команд. Но, как показывает практика программирования, при реализации широкой совокупности команд программисты начинают пользоваться лишь ее некоторым подмножеством. Помимо этого, чем сложнее команда, тем более возможно, что ее действия возможно трактовать группой более несложных, а это сокращает эффективность всей совокупности команд. Но, иначе, чем сложнее команда, тем стремительнее выполняется программа из-за сокращения числа обращений к памяти.

Серьёзной чёртом команды есть формат, обусловливающийся ее составом и длиной элементов, из которых она может состоять. Необходимый элемент команды – код операции, определяющий делаемое воздействие. Вторыми элементами смогут быть адрес ячейки памяти, адрес (номер) регистра неспециализированного назначения, яркие эти, код разбираемых показателей для команд условного перехода и т. д.

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

Классифицируя команды, легче всего их поделить по функциональному показателю. Наряду с этим в большинстве случаев выделяют пять разных типов (групп) команд.

1. Несколько команд пересылки делает операции обмена данными между регистрами либо между памятью и регистрами.

2. Несколько команд арифметических операций делает операции сложения, вычитания, инкрементирования либо декрементирования данных в регистрах либо ячейках памяти.

3. Несколько команд логических операций делает операции И, Либо, ИСКЛЮЧАЮЩЕЕ Либо, сравнения, сдвига либо дополнения данных в регистрах либо ячейках памяти.

4. Несколько команд ветвления делает операции условного и абсолютного переходов по программе, условного и абсолютного вызовов подпрограммы, и условного и абсолютного возвратов из подпрограммы.

5. Несколько команд управления, операций со устройствами и стеком ввода- вывода делает операции логического ветвления (условных переходов), ввода-вывода с внешних устройств, выгрузки и загрузки данных из стека.

Assembler — арифметические команды и регистры

Похожие статьи:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector