Cтраница 1
Команды обработки строк обеспечивают пересылку ( MOVS), сравнение ( CMPS), сканирование ( SCANS), загрузку ( LODS) и сохранение ( STOS) строки. [1]
Команды обработки строк позволяют производить действия над блоками байтов или слов памяти. Эти блоки ( или строки) могут иметь длину до 64 Кбайт и состоять из числовых значений ( двоичных или BCD), алфавитно-цифровых значений ( типа символов в кодах ASCII), а также из любых других значений, которые могут храниться в памяти в виде двоичных кодов. [2]
Команды обработки строк предоставляют возможность выполнения пяти основных операций, называемых примитивами, которые обрабатывают строку по одному элементу ( байту или слову) за прием. [3]
Команды обработки строк позволяют выполнять действия над последовательно расположенными байтами или словами. [4]
Перечень команд обработки строк представлен в табл. 3.19. Команда пересылки заканчивается, если исчерпаются количество, массив источника или массив назначения или не выполнится отношение. В каждом из случаев устанавливаются в 1 триггеры ИИ, Переполнения, Отношения. В операциях с сохранением сохраняется в стеке продвинутое значение количества и указателей. [5]
В командах обработки строк SI и DI являются регистрами автоинкрементной или автодекрементной адресации. Тип адресации определяется флажком DF в регистре F. Если DF 1, то реализуется автодекрементный способ адресации, в противном случае - автоинкрементный. При этом SI указывает на исходную строку, a DI - на результирующую строку. Регистры SI и DI в паре с регистрами ВХ и ВР ( Base Pointer) могут быть использованы при различных способах базовой адресации с индексированием. [6]
Префиксы повторения заставляют микропроцессор 8088 повторять команду обработки строк. Число повторений извлекается из регистра СХ. [7]
Команды обработки элементов строк данных предназначены для пересылки, сравнения, записи в память, загрузки в аккумулятор элементов строк данных. Команды обработки строк совместно с префиксом повторения позволяют организовать аппаратные циклы для обработки элементов строк длиной до 64К байт. [8]
В системе команд предусмотрен широкий набор команд обработки последовательностей символов или строк. Пожалуй, по составу команд обработки строк машины фирмы Барроуз превзошли все другие. Это и понятно: с самого начала фирма специализировалась на машинах коммерческого применения, а в задачах этой области огромная часть работы связана с обработкой символов, с редактированием входных и выходных документов, с выдачей результатов в виде отчетов, где тексты занимают большую часть информации. [9]
Обратите внимание на то, что каждый примитив представлен тремя разными командами. Микропроцессор 8088 может исполнять только те команды обработки строк, которые не имеют операндов. [10]
Команды пересылки адреса содержат команду загрузки исполнительного адреса LEA, которая загружает в регистр смещение адреса ячейки памяти. Коман-да LEA часто применяется совместно с командами обработки строк, когда требует-ся найти смещение адреса каждой обрабатываемой строки. [11]
Он представляет собой не команду, а однобайтовый модификатор, который заставляет микропроцессор 8088 выполнить аппаратные повторения команды обработки строк, что значительно сокращает время на обработку длинных строк по сравнению с программно-организованными циклами. [12]
Команды, передачи данных ( общего назначения, пересылки адреса и признаков, вода-вывода и перекодирования) обеспечивают пересылку операнда-источника на место операнда-приемника без содержательного их преобразования. Арифметические команды ( сложения, вычитания, умножения, деления и преобразования форматов данных) предназначены для выполнения операций над 8 - и 16-разрядными целыми двоичными числами с фиксированной и плавающей точками, упакованными и распакованными двоично-десятичными числами. Команды поразрядной обработки данных выполняют логические операции булевой алгебры, операции линейных и циклических сдвигов вправо и влево. Команды обработки строк данных позволяют не только производить расчеты, но и обрабатывать тексты. Длина обрабатываемых строк может достигать 64 Кбайт. Команды передачи управления позволяют осуществлять безусловные переходы, вызовы и возвраты, условные переходы, управление циклами и обслуживание прерываний. [13]