Проверка работоспособности строчных команд процессорного ядра осуществляется с помощью последовательного выполнения следующих тестов:
– Тест проверки строчной команды lods.
– Тест проверки строчной команды stos.
– Тест проверки строчной команды scas.
– Тест проверки строчной команды movs.
– Тест проверки строчной команды cmps.
Тест проверки строчной команды lods.
Проверка строчной команды lods производится в следующем порядке. Предварительно в сегмент памяти размером 65536 байт записывается последовательность констант, построенных по заданному алгоритму. Затем производится чтение последовательности записанных констант с помощью строчной команды lods и сравнение прочитанных констант с эталонными значениями, которые также формируются по аналогичному алгоритму. Поскольку команда lods обеспечивает чтение данных и в байтовом и в словном форматах, то проверка команды производится в два этапа. Сначала производится проверка команды lodsb, затем производится проверка команды lodsw. Тест считается успешно завершённым, если все данные, считанные из сегмента ОЗУ с помощью строчной команда lods, совпали с эталонными значениями.
Тест проверки строчной команды stos.
Проверка строчной команды stos производится в следующем порядке. Предварительно эталонная константа заносится в регистр AX. Затем эта константа с помощью строчной команды rep stos записывается в сегмент памяти размером 65536 байт. После этого производится проверка содержимого сегмента памяти на соответствие записанным данным. Поскольку команда stos обеспечивает запись данных и в байтовом и в словном форматах, то проверка команды производится в два этапа. Сначала производится проверка команды stosb, затем производится проверка команды stosw. Тест считается успешно завершённым, если все данные, записанные в сегмент ОЗУ с помощью строчной команда stos, совпали с эталонными значениями.
Тест проверки строчной команды scas.
Проверка строчной команды scas производится в следующем порядке. Предварительно во все ячейки сегмента ОЗУ размером 65536 байт записывается эталонная константа. Затем эта эталонная константа заносится в регистр AX. После чего с помощью строчной команды rep scas проверяется содержимое сегмента ОЗУ на соответствие эталонной константе, размещённой в регистре AX. Поскольку команда scas обеспечивает сканирование данных и в байтовом и в словном форматах, то проверка команды производится в два этапа. Сначала производится проверка команды scasb, затем производится проверка команды scasw. Тест считается успешно завершённым, если все данные, записанные в сегмент ОЗУ, при сканировании строчной командой scas совпали с эталонным значением, размещённым в регистре AX.
Тест проверки строчной команды movs.
Проверка строчной команды movs производится в следующем порядке. Предварительно в сегмент ОЗУ размером 65536 байт записывается последовательность констант, построенных по заданному алгоритму. Затем производится пересылка содержимого этого сегмента ОЗУ в другой не использованный сегмент ОЗУ размером 65536 байт с помощью строчной команды rep movs. После этого производится сравнение содержимого исходного сегмента ОЗУ и сегмента, заполненного с помощью команды rep movs. Поскольку команда movs обеспечивает пересылку данных и в байтовом и в словном форматах, то проверка команды производится в два этапа. Сначала производится проверка команды movsb, затем производится проверка команды movsw. Тест считается успешно завершённым, если все данные, размещённые в исходном сегменте, при сравнении совпали с данными, перемещёнными во второй сегмент с помощью строчной команда rep movs.
Тест проверки строчной команды cmps.
Проверка строчной команды cmps производится в следующем порядке. Предварительно в два разных сегмента ОЗУ размером 65536 байт каждый записывается последовательность констант, построенных по заданному алгоритму. Затем производится сравнение содержимого этих сегментов с помощью строчной команды rep cmps. Поскольку команда cmps обеспечивает сравнение данных и в байтовом и в словном форматах, то проверка команды производится в два этапа. Сначала производится проверка команды cmpsb, затем производится проверка команды cmpsw. Тест считается успешно завершённым, если при сравнении содержимого двух сегментов ОЗУ с одинаковыми данными строчная команда rep cmps не обнаружила ошибок.