Подскажите по ассемблеру
От: gwg-605 Россия  
Дата: 12.10.16 18:03
Оценка:
Вот есть код
vmovups (%rsi),%ymm0
vmovups %ymm0,(%rdi)
vmovups -0x20(%rsi,%rcx,1),%ymm0
vmovups %ymm0,-0x20(%rdi,%rcx,1)

Функционально он должен скопировать 36 байт из (%rsi) по (%rdi), в rcx число 36(0x24). Но не копирует

vmovups (%rsi),%ymm0 — грузим 32 байта с (%rsi) в ymm0
vmovups %ymm0,(%rdi) — сохраняем 32 байта из ymm0 по (%rdi)
vmovups -0x20(%rsi,%rcx,1),%ymm0 — загрузить single (4 байта) с (rsi+rcx-0x20)=>(rsi+4) потомучто rcx = 0x24??? в ymm0
vmovups %ymm0,-0x20(%rdi,%rcx,1) — сохранить single (4 байта) из ymm0 по (rdi+rcx-0x20)=>(rdi+4)

Правильно ли я понимаю работу данного кода?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.