пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Операторы в Assembler

     Далее будут описаны операторы ассемблера, их параметры и "минимальная" архитектура процессора, поддерживающая данную операцию. Так же будут приведены примеры использования операторов в ассемблере.

ADD

Предназначен для сложения двух чисел

Оператор

Перевод

Назначение

Процессор

ADD приемник, источник

ADDition - сложение

Сложение

8086

Пример:

add al,15h ; присвоим регистру al число 15h


CALL

Предназначен для вызова подпрограммы

Оператор

Перевод

Назначение

Процессор

CALL метка

call - вызов

Вызов подпрограммы

8086

Пример:

call Wait_key ; вызываем подпрограмму


DEC

Предназначен для уменьшения регистра на 1

Оператор

Перевод

Назначение

Процессор

DEC приемник

DECrement - декремент

Уменьшение на 1

8086

Команда DEC уменьшает на единицу регистр.
Пример:

mov al,15 ; присвоим регистру al число 15h

dec al ; теперь AL = 14


INC

Предназначен для увеличения регистра процессора на 1

Оператор

Перевод

Назначение

Процессор

INC приемник

INCrement - инкремент

Увеличение на единицу

8086

Команда INC увеличивает на единицу регистр. Она эквивалентна команде: ADD источник, 1 только выполняется быстрее на старых компьютерах (до 80486) и занимает меньше байт.
Пример:

mov al,15 ; присвоим регистру al число 15h

inc al ; теперь AL = 16


INT

Предназначен для вызова прерывания

Оператор

Перевод

Назначение

Процессор

INT приемник

INT

Вызов прерывания

8086

Оператор INT вызывает прерывание
Пример:

mov ah,10h

int 16h ; вызываем прерывание


JMP

Предназначен для перехода на указанную метку

Оператор

Перевод

Назначение

Процессор

JMP метка

jump - прыжок

Безусловный переход

8086

Команда jmp просто переходит на указанную метку в программе.
Пример использования оператора jmp в ассемблере:

(1) mov ah,9

(2) mov dx,offset Str

(3) int 21h

(4) jmp Label_2 ; переходим на строку 7

(5) add cx,12   ; строка 5 и 6 работать не будут!

(6) dec cx

(7) Label_2:

(8) int 20h


LOOP

Предназначен для организации циклов

Оператор

Перевод

Назначение

Процессор

LOOP метка

Loop - петля

Организация циклов

8086

Количество повторов задается в регистре CX (счетчик).
Пример использования операторов ассемблера:

mov cx,3 ; число повторов

Label_1: ; создаем метку

mov ah,9

mov dx,offset Str

int 21h

loop Label_1 ; если не 0, то снова переходим на метку


MOV

Оператор MOV предназначен для загрузки числа в регистр

Оператор

Перевод

Назначение

Процессор

MOV приемник, источник

MOVe - движение

Присваивание

8086

Пример:

mov al,35h ; присвоим регистру al число 35h
mov ax,35 ; присвоим регистру ax число 35


ORG

Определяет, с какого места отсчитывать смещение

Оператор

Перевод

Назначение

Процессор

ORG приемник

ORG -

Отсчитывание смещения

8086

Пример:

org 100h ; отсчитываем смещение отсюда


POP

Достает число из стека

Оператор

Перевод

Назначение

Процессор

POP приемник

pop - вытолкнуть

Достать из стека число

8086

Пример:

mov ax,345h

push ax

mov ah,10h

int 16h

pop ax


PUSH

Помещает число в стек

Оператор

Перевод

Назначение

Процессор

PUSH приемник

push - втолкнуть

Поместить в стек число

8086

Пример:

mov ax,345h

push ax


SUB

Предназначен для загрузки числа в регистр

Оператор

Перевод

Назначение

Процессор

SUB приемник, источник

SUBtraction - вычитание

Вычитание

8086

Пример:

sub al,7h ; вычитаем из регистра al число 7h


13.01.2015; 18:17
хиты: 163
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2025. All Rights Reserved. помощь