Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Команды организации вызова процедур




XLAT

Команда перекодировки

STOSW

STOSB

STOS приемник

LODS источник

Команды загрузки и сохранения

SCAS приемник

SCASB – поиск байта

SCASW – поиск слова

Алгоритм:

  1. Производится сравнение текущего элемента аккумулятора с приемником и формируются флаги результата.
  2. Изменяется регистр Cx и регистр DI (на следующий элемент).
  3. Если знач5ения флагов соответствуют префиксу и Cx≠0, то переход к п.1, иначе: конец.

Команда, в основном, используется для поиска нужного символа в строке или для пропуска группы из одного символа.

Пример:

A db ‘­_____УРА!...’

//поиск заданного символа «!»

LEA DI, A

CLD

MOV AL, ‘!’

MOV CX, 12

REPNE SCASB

JE

JNE

//пропуск символов «_»

LEA DI, A

CLD

MOV AL,’_’

MOV CX, 12

REPE SCASB

 

1. Команда загрузки

LODSB // в AL

LODSW // в AX

Читает значение из источника, записывает в аккумулятор, изменяет значение регистра SI и, если задано, регистра СХ.

 

2. Команда сохранения

Производит запись значения в аккумуляторе в элемент приемника и изменяет регистр DI, если задан префикс, то уменьшает СХ.

Префикс повторения для команды загрузки смысла не имеет, а в команде сохранения может использоваться для заполнения строки заданным символом.

Пример:

A db ‘574315’

B db 6 DUP (?)

LEA SI, A

LEA DI, B

CLD

MOV CX, 6

M: LODSB

AND AL, 0FH

STOSB

LOOP M

LEA DI, A

MOV CX, 6

MOV AL, ‘_’

REP STOSB

 

Предназначена для перекодирования данных из одной системы кодировки в другую при кодировании данных одним байтом.

Алгоритм:

Берется значение регистра AL и суммируется со значением регистра ВХ. По указанному (по полученному) исполнительному адресу выбирается значение байта и записывается в AL.

[BX + AL] ® AL

 

При организации многомодульной программы необходимо решить 2 проблемы:

1. Обеспечить обращение к подпрограмме и возврат из подпрограммы.

2. Обеспечить передачу данных в подпрограмму и обеспечить передачу результата из неё.

Для решения первой проблемы предназначены команды вызова процедуры и возврата из процедуры.

Точка вызова – оператор вызова + следующий оператор

Нужно решить проблему: во время вызова необходимо передать процедуре метку, куда она будет возвращаться.

Для нормальной организации вызова процедуры необходимо произвести вызов процедуры, передать в процедуру адрес возврата и перейти по окончании процедуры по заданному адресу. Для решения этих проблем предназначены команды:

вызов: CALL

возврат: RET

В IBM PC существуют два вызова процедур:

1. Внутрисегментный (ближний)

2. Межсегментный (дальний)

Соответственно, существуют команды ближнего/дальнего вызова и ближнего/дальнего возврата. Эти команды используются в паре ближний/дальний.




Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 378; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.