2010-03-28 36 views

cevap

6

Parantezin önündeki sayı bir bayt ofseti (bu, bir bellek başvurusunun oluşmasına neden olur) ve bunlardan iki tanesine sahip olamazsınız movl. Önce değeri geçici olarak bir sicile taşımanız gerekir.

movl 4(%ebp), %ecx 
movl %ecx, 8(%ebp) 
2

Bu bir yasal yönerge değildir. Belleğe referans veren çoğu talimat için, onu bir kayıttan/kayıttan geçirmelisiniz.

2

movl bellek hafızasına geçmez, bir kayıt yoluyla gitmeniz gerekir (böylece iki movl talimatları ile).

+1

Teşekkürler, ama neden bu? Bu ya da başka bir şeyi sınırlayan cpu archtecture nedir? – freenight

+2

Evet, CPU'da bir sınırlama var. MOVS hafızadan belleğe tek komutla ilgilidir. –

+2

Evet, bellekten belleğe sadece etkin bir şekilde uygulanamaz (x86 dışı CPU'ların tüm kayıtlar sadece kayıt olmak için kayıt olmalarını sağlar; –