В примере заполняется массив (типа INT) единицами с 1-го по 13-й элемент. 0-й и 14 элементы остаются равны нулю.

Далее коротко суть SHL.
Смотрим, что у нас в функции kvad происходит в цикле FOR по итерациям:
i=1, p^[1]=1
SHL(p^[1], 0) = 1 (*здесь сдвиг равен 0, поэтому результат 1, в бинарном виде 1*)

i=2, p^[2]=1
SHL(p^[2], 1) = 1 (*здесь сдвиг на 1, результат 2, в бинарном виде 10*)

i=3, p^[3]=1
SHL(p^[3], 2) = 4 (*здесь сдвиг на 2, результат 4, в бинарном виде 100*)

i=4, p^[4]=1
SHL(p^[4], 3) = 8 (*здесь сдвиг на 3, результат 8, в бинарном виде 1000*)
...
i=14, p^[14]=0
SHL(p^[14], 13) = 0 (*здесь сдвигаем 0 на 13, результат 0, в бинарном виде 0*)

результат - сумма всех этих значений.

i=1 00 0000 0000 0001
i=2 00 0000 0000 0010
i=3 00 0000 0000 0100
i=4 00 0000 0000 1000
i=5 00 0000 0001 0000
i=6 00 0000 0010 0000
i=7 00 0000 0100 0000
i=8 00 0000 1000 0000
i=9 00 0001 0000 0000
i=0 00 0010 0000 0000
i=10 00 0100 0000 0000
i=11 00 1000 0000 0000
i=12 01 0000 0000 0000
i=13 00 0000 0000 0000
kvad 01 1111 1111 1111 результат - сумма всех этих значений.

----
Если еще короче, то элемент массива заносится в соответствующий бит переменной. Только в данном примере почему-то не с нулевого, а с первого. Ну может так и задуманно было.