Пятница, 11.09.2026
Мой сайт
Статистика

Онлайн всего: 1
Непрошеных гостей: 1
Пользователей: 0
Форма входа

21.Ассемблер.Основные понятии

Язык ассемблера — язык программирования низкого уровня, команды которого (за редким исключением) соответствуют инструкциям процессора вычислительной системы. Трансляция программы в исполняемый машинный код производится ассемблером  программой-транслятором, которая и дала языку ассемблера его название.

Язык ассемблера — это язык, в котором каждое высказывание соответствует ров­но одной машинной команде.

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

Это утверждение касается и адресов. Программист на языке ассемблера может дать имена ячейкам памяти, и уже ассемблер должен будет выдавать правильные числа. Программист на машинном языке всегда должен работать с числовыми но­мерами адресов. Сейчас уже нет программистов, которые пишут программы на машинном языке, хотя несколько десятилетий назад до изобретения ассемблеров программы именно так и писались.

Рассмотрим пример:

Program mm;

   Begin

       ASM

           Mov ax, 234            вводит 234 в регистр ах

           Sub ax,ax                 вычетает

           Mov bx, 235           вводит 235 в регистр bх 

           Add bx, ax               добавляет рез-ты  ах в bх

     END;

End.

 

Набор команд

Команды пересылки данных (mov, lea и др.)

Арифметические команды (add, sub, imul и др.)

Логические и побитовые операции (or, and, xor, shr и др.)

Команды управления ходом выполнения программы (jmp, loop, ret и др.)

Команды вызова прерываний (иногда относят к командам управления): int, into

Команды ввода/вывода в порты (in, out)

Для микроконтроллеров и микрокомпьютеров характерны также команды, выполняющие проверку и переход по условию, например:

cbne — перейти, если не равно

dbnz — декрементировать, и если результат ненулевой, то перейти

cfsneq — сравнить, и если не равно, пропустить следующую команду

 

Copyright MyCorp © 2026
Сделать бесплатный сайт с uCoz