Недавно я решил, что стоило получить попытку на основном x86 блоке так, чтобы было легче отладить программы, и т.д., и т.д. Таким образом, я запустил (приблизительно неделю назад) изучение x86 блок в то время, я обновил свой компьютер до поршня на 8 ГБ, так очевидно, моя установка x86 Windows XP тратила впустую все, что память, теперь, я выполняю копию x64 Windows 7, таким образом, вопрос:
Действительно ли возможно работать с x86 блоком в x64 операционной системе? Это будет работать правильно в эмуляторе? Или я должен изучить x64 блок?
Да, конечно. Большинство программ по-прежнему 32 бит и работают нормально на 64-битных системах Windows. Эти программы являются машинным языком, который имеет однозначное отображение со сборкой (и можно легко разобрать в код сборки x86).
Можно ли работать с x86 Сборка на операционной системе X64? Будет ли он работать должным образом в эмуляторе?
Да, это возможно, и он будет работать должным образом. Архитектура набора инструкций всегда совместима.
Регистры в X86-64:
(Источник: USENIX.ORG )
Например:
Здесь вы можете увидеть, что RAX
RAX
- новый реестр общего назначения 64, но вы все еще можете использовать EAX
, поскольку оно относится к более низким 32 битам RAX
.
Или я должен выучить сборку x64?
x86-32 Архитектура находится подмножество x86-64. Как и во-первых, вы узнали X86, а затем отправляйтесь и найдите, что новое в сборке X8664. Как только вы изучаете х86 ASM. Тогда это будет полезным ресурсом: http://www.cs.cmu.edu/~fp/courses/15213-S06/misc/asm64-handout.pdf