Что делает movsbq и эта строка добавления?

Я пытаюсь понять, что делают эти строки кода

мовсбк (%rbx),%rcx

и

добавить (%rdx,%rcx,4),%eax


person coder_gurl    schedule 25.10.2019    source источник
comment
Это не очень хороший вопрос для этого сайта. См. stackoverflow.com/help/on-topic.   -  person pcarter    schedule 25.10.2019
comment
Возможный дубликат В чем смысл MOV (% r11 ,%r12,1), %edx?   -  person Peter Cordes    schedule 26.10.2019
comment
И Пожалуйста, проверьте значение сборочной линии AT&T для movsbq (я сломал свой дуфаммер, удалив [x86] и добавив [x86-64], упс. Хотя у меня есть золотой значок в обоих тегах)   -  person Peter Cordes    schedule 26.10.2019


Ответы (1)


MOVSBQ читает один байт из источника, расширяет его по знакам до четверного слова (64 бита, реплицирует бит 7 в биты 63:8) и записывает значение в регистр назначения.

Режим адресации (%r1,%r2,4) вычисляет адрес операнда как R1 + R2 * 4. Инструкция ADD считывает DWORD по этому адресу и добавляет его к EAX.

person prl    schedule 25.10.2019