Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Abu85

    HÁZIGAZDA

    válasz dabadab #49 üzenetére

    Csak a kompatibilitási módot. A mai processzorokban egy ISA van implementálva, méghozzá az AMD64, és ennek vannak kompatibilitási módjai, amik biztosítják a támogatást a régi x86-os kódokhoz. Akkor használod ennek az ISA-nak a long 64 bit módját, ha hozzányúlsz a kódban az r8-r15, XMM8-xmm15 regiszterekhez, illetve az RAX/BX/CX/DX/BP/SI/DI/SP regiszterkiterjesztésekhez, a 32 biten túli rész. Ezeket a kódokat nem is tudod fordítani x86-ra. Nem támogatja azt az operandusméretet a régi ISA.


    Ez egy jó kép megérteni a lényeget. Itt az AMD64 implementáció, és ennek a fehér részei a legacy kódokkal kompatibilis elemek. Amiatt képes maga az ISA a kompatibilitási módokban futtatni a legacy kódokat, mert az esetek döntő többségében ugyanazt a binárist eszi meg. Nem mindig egyébként, csak úgy 99,9999%-ban, mivel vannak igen apró eltérések, de ezek már évek óta le vannak kezelve.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

Új hozzászólás Aktív témák