Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Функция 'size_t strspn (char *str, char *accept)'
- Описание разработанной функции:
- Функция принимает в качестве аргументов адреса начала строк "str" и "accept"
- Будем считать "str" строкой, "accept" - набором символов (в виде строки)
- Функция вычисляет длину фрагмента строки "str", состоящего только из символов набора "accept"
- Функция возвращает в виде результата целое число, равное длине фрагмента "str"
- Соглашение о вызовах:
- Способ вызова функции: вызов с помощью команды "call dest"
- Способ возврата управления: возврат с помощью команды "return"
- Код функции позиционно независим.
- Передача аргументов в функцию:
- Адрес строки "str" записывается в R0
- Адрес строки "accept" записывается в R1
- Возвращение результата выполнения функции:
- После выполнения результат записывается в R3
- Использование регистров:
- R0 - для передачи строки "str" в функцию
- R1 - для передачи строки "accept" в функцию
- R2, R3, R4, R5 - используются внутри функции. Разрушаются значения
- R3 - для возвращения результата из функции
- Пример входных данных и результата:
- Str = "notebook"
- Accept = "beton"
- Результат: 7
- ==================================================================
- d 700=12700,2000,12701,3000,4737,1022,10337,4000,5000,5001,104350
- d 1022=010003
- d 1024=112304
- d 1026=001406 beq 1044
- d 1030=010102
- d 1032=112205
- d 1034=001403 beq 1044
- d 1036=120405
- d 1040=001374 bne 1032
- d 1042=000770 br 1024
- d 1044=160003
- d 1046=005303
- d 1050=005002
- d 1052=005004
- d 1054=005005
- d 1056=000207
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement