Задание для лабораторной работы N 2. Язык Ассемблера для IBM PC гр. 350 - 354 Команды обработки строк и логические команды. Цель работы: ознакомиться с использованием команд обработки строк и логических команд (команд побитовой обработки). Задание: Написать программу на языке Ассемблер в которой осущест- вляется формирование двух строк из исходной строки в соответствии с вариантом задания. Исходная строка длиной 64 байта содержит произволь- ный набор символов латинского алфавита, включая строчные и прописные буквы, цифры, знаки препинания и пробелы. Битовая строка длиной 64 разряда (может быть описана как четверное слово: QWORD) устанавливает необходимость обработки соответствующего номеру бита в битовой строке номера байта из исходной строки, причем если бит установлен в 1, то соответствующий ему байт должен быть обработан при формировании первой строки результата. Действия по формированию первой и второй строк результата, в со- ответствии с вариантом задания, выбираются из таблиц 1 и 2 соответс- твенно. Формирование первой строки результата производится в прямом направлении, второй строки результата в обратном. Таблица 1. ┌───────────────┬─────────────────────────────────────────────────────┐ │ Значение в │ Формирование первой строки результата. │ │ варианте │ Поместить в строку результата... │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 1 │Все символы из исходной строки являющиеся строчными │ │ │буквами. │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 2 │ Все символы из исходной строки являющиеся прописными│ │ │ буквами. │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 3 │ Все символы из исходной строки являющиеся цифрами; │ │ │ │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 4 │Все символы из исходной строки являющиеся не цифрами.│ │ │ │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 5 │Все символы из исходной строки являющиеся не буквами.│ │ │ │ └───────────────┴─────────────────────────────────────────────────────┘ Таблица 2. ┌───────────────┬─────────────────────────────────────────────────────┐ │ Значение в │ Формирование второй строки результата. │ │ варианте │Поместить в строку результата символы исходной строки│ ├───────────────┼─────────────────────────────────────────────────────┤ │ 1 │до первого обнаружения в исходной строке двух подряд │ │ │символов 'А'; │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 2 │до первого найденного в исходной строке символа ',' │ │ │за которым следует строчная буква; │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 3 │до первого найденного в исходной строке символа '.' │ │ │за которым следует прописная буква; │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 4 │до первого найденного в исходной строке символа '$' │ │ │за которым следует цифра; │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 5 │до первого найденного в исходной строке символа 'R' │ │ │за которым следует символ 'U'. │ ├───────────────┼─────────────────────────────────────────────────────┤ │ 6 │до первого найденного в исходной строке символа '-' │ │ │за которым следует символ '+'. │ └───────────────┴─────────────────────────────────────────────────────┘ Примечание: если указанная комбинация символов в исходной строке не обнаружена, то исходная строка копируется целиком. При формировании второй строки результата пробелы не учитываются. Варианты заданий для лабораторной работы N 2. ┌───────┬────┬────┐───────┬────┬────┐───────┬────┬────┐ │ Ном. │ Т. │ Т. │ Ном. │ Т. │ Т. │ Ном. │ Т. │ Т. │ │ вар. │ 1 │ 2 │ вар. │ 1 │ 2 │ вар. │ 1 │ 2 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 1 │ 1 │ 1 │ 11 │ 2 │ 1 │ 21 │ 4 │ 5 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 2 │ 1 │ 2 │ 12 │ 2 │ 6 │ 22 │ 4 │ 6 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 3 │ 1 │ 3 │ 13 │ 3 │ 3 │ 23 │ 4 │ 1 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 4 │ 1 │ 4 │ 14 │ 3 │ 4 │ 24 │ 4 │ 2 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 5 │ 1 │ 5 │ 15 │ 3 │ 5 │ 25 │ 4 │ 3 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 6 │ 1 │ 6 │ 16 │ 3 │ 1 │ 26 │ 5 │ 1 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 7 │ 2 │ 2 │ 17 │ 3 │ 2 │ 27 │ 5 │ 2 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 8 │ 2 │ 3 │ 18 │ 3 │ 6 │ 28 │ 5 │ 3 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 9 │ 2 │ 4 │ 19 │ 4 │ 4 │ 29 │ 5 │ 4 │ ├───────┼────┼────┤───────┼────┼────┤───────┼────┼────┤ │ 10 │ 2 │ 5 │ 20 │ 4 │ 5 │ 30 │ 5 │ 5 │ └───────┴────┴────┘───────┴────┴────┘───────┴────┴────┘