|
||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Общие сведения. Изучаемые в данной работе команды называют цепочечными, но в отдельных источниках можно встретить название – строковые команды или команды обработки строковыхИзучаемые в данной работе команды называют цепочечными, но в отдельных источниках можно встретить название – строковые команды или команды обработки строковых последовательностей. Вспомним, что подразумевается под понятием строки на ассемблере. Строка, в ассемблер-программах, рассматривается как последовательность ячеек памяти какой-либо длины (байты, слова, двойные слова и т.д.) Сами значения, которые хранятся в ячейках этой памяти, могут быть, а точнее могут рассматриваться, как числовые или как символьные данные, то есть коды символов. Трактовка этих значений лежит на плечах программиста и зависит от постановки задачи. Для выполнения данной лабораторной работы вам необходимо повторить материал лекции – «Команды цепочечной обработки данных». Вспомним некоторые основные положения, необходимые для рассмотрения этих команд: - команды цепочечной обработки данных по умолчанию используют две регистровые пары - DS:SI, которая указывает на строку источник информации и ES:DI, которая указывает на строку назначения; - во флаговом регистре есть флаг, который настраивает работу команд этой группы. Это флаг направления – DF. Если значение этого флага 0, то есть флаг сброшен, то команды обрабатывают данные в направлении от младших адресов к старшим, если DF=1, то есть установлен, то команды обрабатывают данные в направлении от старших адресов к младшим; - команды цепочечной обработки данных (кроме команды LODS, LODSB, LODSW) могут использовать повторители: REP, REPZ/REPE, REPNZ/REPNE.
Ниже приведен перечень команд цепочечной обработки данных: - LODS – з агрузка строки (LODSB загрузка строки по байтам, LODSW з агрузка строки по словам), - STOS – запись в строку данных (STOSB запись байта в строку данных, STOSW запись слова в строку данных), - MOVS – пересылка данных из строки в строку (MOVSB пересылка байта данных из строки в строку, MOVSW пересылка слова данных из строки в строку), - CMPS – сравнение строк (CMPSB сравнение строк по байтам, CMPSW сравнение строк по словам), - SCAS – сканирование строки с целью сравнения строковых данных (SCASB сканирование строки байт с целью сравнения строковых данных, SCASW сканирование строки слов с целью сравнения строковых данных). Кроме приведенных команд для выполнения отдельных заданий, в зависимости от постановки задачи, вам потребуется вспомнить команды: - двочиной логики (AND, OR, XOR, NOT); - команды сдвигов (SHL/SAL, SAR, SHR, ROR, ROL, RCR, RCL); - команды организации циклов с заданным количеством повторений и с выходом по условию; - команды условных переходов. Ниже приведены для повторения команды организации циклов и условных переходов. - LООР – циклическое выполнение, пока содержимое нулю - LOOPE/LOOPZ – цикл.пока равно/цикл, пока нуль - LOOPNE/LOOPNZ – цикл пока не равно/цикл пока не нуль.
Таблица 5.1 – Jcc – команды условных переходов
Продолжение таблицы 5.1
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |