Студопедия

КАТЕГОРИИ:

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


Команды обработки строк.




Система команд микропроцессора имеет очень интересную группу команд, позволяющих производить действия над блоками элементов от 1 Байта до 64 Кбайт (для 32-разрядных микропроцессоров – до 4 Гбайт). Это - цепочечные команды или команды обработки строк символов. Эти блоки логически могут представлять собой последовательности элементов с любыми значениями, хранящимися в памяти в виде двоичных кодов. Микропроцессор всегда предполагает, что строка-приемник находится в дополнительном сегменте (адресуемом посредством сегментного регистра ES), а строка-источник – в сегменте данных (адресуемом посредством сегментного регистра DS). Микропроцессор адресует строку - приемник через регистр DI, а строку-источник - через SI. Допускается переопределять сегмент для строки_источника, для строки-приемника этого делать нельзя.

Особенность работы цепочечных команд состоит в том, что они автоматически выполняют приращение или уменьшение содержимого регистров DI и SI в зависимости от используемой цепочечной команды. Что именно происходит с этими регистрами, определяется состоянием флага DF, которым управляют команды CLD и STD.

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

Пересылка строк:    
    MOVSB
MOVS адрес-приемника, адрес_источника => MOVSW
    MOVSD
Сравнение строк:    
    CMPSB
CMPS адрес-приемника, адрес_источника => CMPSW
    CMPSD
Сканирование строк:    
    SCASB
SCAS адрес-приемника => SCASW
    SCASD
Загрузка элемента из строки:    
    LODSB
LODS адрес_источника => LODSW
    LODSD
Сохранение элемента в строке:    
    STOSB
STOS адрес-приемника => STOSW
    STOSD

 

Основная литература –1 [153-201], 2[34-46].

Контрольные вопросы:

1. Какие флаги изменяются при выполнении арифметических, логических команд?

2. Где находятся сомножители и результат при выполнении команды умножения?

3. Где находятся делимое, делитель и результат при выполнении команды деления?

4. В каком регистре хранится длина строки в цепочечных командах?

5. Как адресуются строковые операнды?


Лабораторная работа 5. Использование системных функций в прикладных программах

Цель работы. Изучение системных функций ввода с клавиатуры, вывода на экран, работы с файлами средствами DOS и BIOS, получение навыков их использования.


Поделиться:

Дата добавления: 2015-09-15; просмотров: 134; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты