АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Общие сведения. Изучаемые в данной работе команды называют цепочечными, но в отдельных источниках можно встретить название – строковые команды или команды обработки строковых

Читайте также:
  1. I. ОБЩИЕ ПОЛОЖЕНИЯ
  2. I. ОБЩИЕ ПОЛОЖЕНИЯ
  3. I. ОБЩИЕ ПОЛОЖЕНИЯ
  4. I. ОБЩИЕ ПОЛОЖЕНИЯ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ
  5. I. Общие сведения
  6. I. ОБЩИЕ СВЕДЕНИЯ
  7. I. Общие требования безопасности.
  8. I. ОБЩИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
  9. I. ОБЩИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
  10. II ОБЩИЕ НАЧАЛА ПУБЛИЧНО-ПРАВОВОГО ПОРЯДКА
  11. II. Общие требования
  12. III. Общие организационные мероприятия

Изучаемые в данной работе команды называют цепочечными, но в отдельных источниках можно встретить название – строковые команды или команды обработки строковых последовательностей. Вспомним, что подразумевается под понятием строки на ассемблере. Строка, в ассемблер-программах, рассматривается как последовательность ячеек памяти какой-либо длины (байты, слова, двойные слова и т.д.) Сами значения, которые хранятся в ячейках этой памяти, могут быть, а точнее могут рассматриваться, как числовые или как символьные данные, то есть коды символов. Трактовка этих значений лежит на плечах программиста и зависит от постановки задачи.

Для выполнения данной лабораторной работы вам необходимо повторить материал лекции – «Команды цепочечной обработки данных».

Вспомним некоторые основные положения, необходимые для рассмотрения этих команд:

- команды цепочечной обработки данных по умолчанию используют две регистровые пары - 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 – команды условных переходов

 

Команда Перейти, если Условие перехода
JO переполнение OF=1
JNO нет переполнения OF=0
JC / JB / JNAE Перенос (ниже; не выше и не равно) CF=1
JAE / JNB / JNC выше или равно (не ниже; нет переноса) CF=0
JE / JZ равно (ноль) ZF=1
JNE / JNZ не равно (не ноль) ZF=0
JBE / JNA ниже или равно (не выше) (CF or ZF) = 1
JA / JNBE выше (не ниже и не равно) (CF or ZF) = 0
JS знаковый бит равен 1 SF=1
JNS знаковый бит равен 0 SF=0
JP / JPE есть паритет (сумма 0-ых битов четная) PF=1
JNP / JPO нет паритета (сумма 0-ых битов нечетная) PF=0
JL / JNGЕ меньше (не больше и не равно) (SF xor OF) = 1
JGE / JNL больше или равно (не меньше) (SF xor OF) = 0

Продолжение таблицы 5.1

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)