Как мне распечатать значение %eaxи %ebp? (gdb) p $eax $1 = void
Как мне распечатать значение %eaxи %ebp? (gdb) p $eax $1 = void
В x86-64 Tour of Intel Manuals я прочитал Возможно, самым удивительным фактом является то, что такая инструкция, как MOV EAX, EBXавтоматически обнуляет старшие 32 бита RAXрегистра. В документации Intel (3.4.1.1 Регистры общего назначения в 64-битном режиме в ручной базовой архитектуре), цитируемой...
Итак, я знаю, какими должны быть следующие регистры и их использование: CS = сегмент кода (используется для IP) DS = сегмент данных (используется для MOV) ES = целевой сегмент (используется для MOVS и т. Д.) SS = сегмент стека (используется для SP) Но для чего предназначены следующие регистры? FS...
Мне любопытно, почему Sun решила сделать JVM на основе стека, а Google решил сделать DalvikVM на основе регистров? Я полагаю, что JVM не может действительно предполагать, что на целевой платформе доступно определенное количество регистров, поскольку предполагается, что она не зависит от платформы....
В 32-битной версии у нас было 8 регистров общего назначения. С 64-битной версией количество удваивается, но, кажется, не зависит от самого 64-битного изменения. Теперь, если регистры такие быстрые (нет доступа к памяти), почему их, естественно, не стало больше? Разве сборщики ЦП не должны...