คำถามติดแท็ก zero-extension

3
เหตุใดคำแนะนำ x86-64 บน 32 บิตจึงลงทะเบียนส่วนบนของการลงทะเบียน 64 บิตแบบเต็มเป็นศูนย์
ในx86-64 Tour of Intel Manualsฉันอ่าน บางทีความจริงที่น่าประหลาดใจที่สุดก็คือคำสั่งเช่นMOV EAX, EBXการRAXลงทะเบียน32 บิตบนเป็นศูนย์โดยอัตโนมัติ เอกสารของ Intel (3.4.1.1 General-Purpose Registers ในโหมด 64 บิตในสถาปัตยกรรมพื้นฐานแบบแมนนวล) ที่อ้างถึงในแหล่งข้อมูลเดียวกันบอกเราว่า: ตัวถูกดำเนินการ 64 บิตสร้างผลลัพธ์ 64 บิตในการลงทะเบียนวัตถุประสงค์ทั่วไปปลายทาง ตัวถูกดำเนินการ 32 บิตสร้างผลลัพธ์ 32 บิตขยายศูนย์เป็นผลลัพธ์ 64 บิตในการลงทะเบียนวัตถุประสงค์ทั่วไปปลายทาง ตัวถูกดำเนินการ 8 บิตและ 16 บิตสร้างผลลัพธ์ 8 บิตหรือ 16 บิต 56 บิตด้านบนหรือ 48 บิต (ตามลำดับ) ของรีจิสเตอร์วัตถุประสงค์ทั่วไปปลายทางจะไม่ถูกแก้ไขโดยการดำเนินการ หากผลลัพธ์ของการดำเนินการ 8 บิตหรือ 16 บิตมีไว้สำหรับการคำนวณแอดเดรส …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.