КАТЕГОРИИ: Архитектура-(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 – поиск слова Алгоритм:
Команда, в основном, используется для поиска нужного символа в строке или для пропуска группы из одного символа. Пример: 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; Просмотров: 408; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |