movsd (%rdx,%rsi,8), %xmm0 ## xmm0 = mem[0],zero
เส้นนี้ทำอะไร? โดยเฉพาะอย่างยิ่ง (%rdx,%rsi,8)?
(คอมพิวเตอร์สถาปัตยกรรม x86-64) ฉันสร้างไฟล์ Assembly จากโค้ด C ที่ทำการคูณเมทริกซ์ซึ่งเกี่ยวข้องกับ 3 ลูป ฉันพบคู่มือมากมาย แต่ไม่มีข้อมูลที่เชื่อถือได้จริงๆ แม้แต่คู่มือที่ดู "เป็นทางการ" ก็ตาม
Mac OS X ของฉันกำลังสร้างสิ่งนี้ในรูปแบบ GAS ดังนั้น mov
คำสั่งของรูปแบบต่างๆ จึงเป็นดังนี้:
mov source dest
แต่ไม่มีใครอธิบายว่าจะเกิดอะไรขึ้นเมื่อจู่ๆ (%rdx,%rsi,8)
ก็เข้าร่วมปาร์ตี้
โปรดช่วยฉันเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ ขอบคุณ
ลิงค์ด้านล่าง สไลด์ 7 เป็นข้อมูลที่เกี่ยวข้องมากที่สุดที่ฉันหาได้ (แต่อาจอยู่ในไวยากรณ์ของ Intel ซึ่งมีแหล่งที่มาและปลายทางพลิกกลับ) https://www.bowdoin.edu/~sbarker/teaching/courses/spring16/its/lectures/lec15.pdf