Вопросы по теме 'zero-extension'

Перенос значения меньшего размера в регистр
Я сохранил однобайтовое значение 8 и хочу переместить его в регистр rax . В настоящее время я делаю это с movzx , чтобы обнулить байт: .globl main main: push %rbp mov %rsp, %rbp movb $8, -1(%rbp) movzx -1(%rbp), %rax <--...
124 просмотров
schedule 07.09.2021

Как в этом случае знак инструкции MOVSX расширяет ввод?
У меня следующая разборка: [назначение] = d5 cd e8 ca 68 movzx eax, [ebp+dest] # value of edx at this point is: F7FBB898 movsx edx, al # value of edx after this is: FFFFFFD5 # [ebp+var_E] stores 0 movzx eax, [ebp+var_E] movsx eax, al #...
208 просмотров

Почему инструкции x86-64 для 32-битных регистров обнуляют верхнюю часть полного 64-битного регистра?
В x86-64 Tour of Intel Manuals я прочитал Возможно, самым удивительным фактом является то, что такая инструкция, как MOV EAX, EBX , автоматически обнуляет старшие 32 бита регистра RAX . В документации Intel (3.4.1.1 Регистры общего...
33253 просмотров

В MIPS, когда использовать подписанное расширение, а когда использовать нулевое расширение?
Я разрабатываю процессор MIPS как свой индивидуальный проект, к настоящему времени я встретил очень запутанный вопрос. Я просто не могу резюмировать, когда использовать подписанное расширение, а когда использовать нулевое расширение в MIPS. Я...
5840 просмотров