Написать подпрограмму на Ассемблере, выполняющую действия над массивами байтов (строками) в соответствии с вариантом из табл. 1–8. Подпрограмма должна вызываться из Си-программы. Следует написать программу на языке Си, содержащую прототип ассемблерной функции, ввод исходных данных, вызов подпрограммы и вывод результата.
Каждая строка описана в Си-программе в виде байтового массива и заканчивается двоичным нулем. Строки имеют разную длину. В функцию передаются две строки и один целый параметр (байт). Функция возвращает модифицированные строки и одно целое значение (байт или слово). Модифицированная строка помещается на место первой строки или в отдельный массив.
Передача строк в функцию:
1 – по ссылке
2 – через глобальные переменные
Передача целых значений в функцию:
1 – по значению
2 - по ссылке
Действия над строками:
1 – объединить соответствующие нечетные байты строк по «или». Целый параметр – длина второй строки.
2 – поменять местами соответствующие четные байты строк. Целый параметр – максимально допустимое количество замен.
3 – нечетные байты первой строки поменять с четными байтами второй строки. Целый параметр – длина первой строки.
4 – из первой строки побайтно вычесть вторую. Целый параметр прибавлять к результату вычитания.
5 – четные байты первой строки сложить с нечетными байтами второй строки. Целый параметр – максимальное количество сложений.
6 – ко всем элементам первой строки прибавить целый параметр. В конец первой строки дописать вторую строку.
7 – на место четных байтов первой строки записать соответствующие байты из второй строки, объединенные по «и» с целым параметром.
8 – к нечетным байтам первой строки прибавить четные байты второй строки. Целый параметр – максимальное количество сложений
9 – сложить попарно байты второй строки и записать их на место соответствующих четных байтов первой строки. Целый параметр – количество пар во второй строке.