
Домашнее задание №2
Задание
В данном домашнем задании вам предлагается реализовать несколько функций, используя ассемблер Go. При этом нужно будет поддержать решения для arm64 и amd64.
SliceSum
func SumSlice(x []int64) int64
Необходимо реализовать функцию, возвращающую сумму переданного слайса
LowerBound
func LowerBound(slice []int64, value int64) int64
Необходимо реализовать одну из вариаций бинарного поиска - LowerBound
WordCount
func WordCount(data []rune) int64
Необходимо реализовать функцию, которая считает количество слов в переданной строке (separator - unicode.IsSpace)
Особенности реализации
Различие регистров, инструкций и конвенций для разных архитектур (amd64/arm64)
Обработка слайса в качестве аргумента функции
Директивы и идиоматичные части сигнатуры функции на ассемблере
