Как выглядит дизассемблирование на машинах с памятью больше 4G? - PullRequest
1 голос
/ 30 марта 2010

Вот как это выглядит на моем ноутбуке с менее 4G:

0x004012f1 <main+0>:    push   %ebp
0x004012f2 <main+1>:    mov    %esp,%ebp
0x004012f4 <main+3>:    sub    $0x18,%esp
0x004012f7 <main+6>:    and    $0xfffffff0,%esp

Может ли кто-нибудь, использующий ОЗУ больше 4G, вставить дамп?

Я думаю, что это больше не должно быть похоже на 0x004012f7, поскольку его емкость составляет всего 2 ^ 32 = 4G

Ответы [ 2 ]

1 голос
/ 30 марта 2010

Вот пример моей 64-битной ОС, адреса в два раза длиннее, чем вы ожидаете ... вдвое больше длины адреса до адреса 2^2*n байт:

000000007729EE15  ldmxcsr     dword ptr [rcx+34h]  
000000007729EE19  fldcw       word ptr [rcx+100h]  
000000007729EE1F  mov         rsp,qword ptr [rcx+98h]  
000000007729EE26  mov         rcx,qword ptr [rcx+0F8h]  
0 голосов
/ 30 марта 2010

В 32-битной ОС адресное пространство будет действительно только 2 ^ 32 = 4 Гб.

В 64-битной ОС (при условии 64-битного приложения) это будет 2 ^ 64, что намного больше.

...