Como imprimo o valor de %eaxe %ebp? (gdb) p $eax $1 =
Como imprimo o valor de %eaxe %ebp? (gdb) p $eax $1 =
No Tour do x86-64 dos manuais da Intel , li Talvez o fato mais surpreendente seja que uma instrução como essa MOV EAX, EBXzera automaticamente os 32 bits superiores do RAXregistro. A documentação da Intel (3.4.1.1 Registros de uso geral no modo de 64 bits no manual Arquitetura básica) citada...
Então, eu sei quais são os seguintes registros e seus usos: CS = Segmento de Código (usado para IP) DS = segmento de dados (usado para MOV) ES = Segmento de Destino (usado para MOVS, etc.) SS = segmento de pilha (usado para SP) Mas para que os seguintes registros devem ser usados? FS =...
Estou curioso, por que a Sun decidiu fazer o JVM baseado em pilha e o Google decidiu fazer o DalvikVM baseado em registro? Suponho que a JVM não pode realmente assumir que um certo número de registros estão disponíveis na plataforma de destino, uma vez que é suposto ser independente da plataforma....
Em 32 bits, tínhamos 8 registradores de "uso geral". Com 64 bits, a quantidade dobra, mas parece independente da própria mudança de 64 bits. Agora, se os registradores são tão rápidos (sem acesso à memória), por que não existem mais naturalmente? Os construtores de CPU não deveriam trabalhar...