Это работа с массивами вообще, тут ps, mulps умножает массив, когда ты пишешь mulps [что то тут], у тебя не 4 байта умножаются, а все 16, потому если тебе надо первое значение (4 байта) из xmm умножить, то просто напиши mulss xmm, [на что умножить, float], и будет всё работать без аллигнов.
Вот например:
А вылетает потому что movaps и тому подобные команды работы с массивами, кроме movups должны быть выравнены по шестнадцетиричным границам, то есть число должно ровно делиться на 4, число адреса из которого берутся значения, иначе будет ошибка и исключение.