ما هو سجل x86 يدل على موقع المصدر في تعليمات movsb؟
-
28-09-2019 - |
سؤال
ما هو سجل x86 يدل على موقع المصدر في تعليمات movsb؟
المحلول
في وضع 32 بت ، esi
.
بالتحديد، movsb
نسخ بايت واحد من ds:esi
إلى es:edi
, ، يضبط كلاهما esi
و edi
بحلول 1 ، إما لأعلى أو لأسفل اعتمادًا على علامة الاتجاه.
نصائح أخرى
كيفية استخراج تلك المعلومات من الدليل
الآن وبعد أن قمت بتسجيل الدخول إلى OSDEV.org ، فقد حان الوقت لدفع ديونك الأخلاقية من خلال تعلم ذلك بالفعل. :-)
Intel Manual Volume 2 Set Set Set Reference - 325383-056us September 2015 القسم "movs/movsb/movsw/movsd/movsq - يجب أن تكون بيانات من سلسلة إلى سلسلة":
يحرك البايت أو الكلمة أو الكلمة المزدوجة المحددة مع المعامل الثاني (المعامل المصدر) إلى الموقع المحدد مع المعامل الأول (المعامل الوجهة). توجد كل من معاملات المصدر والوجهة في الذاكرة. تتم قراءة عنوان المعامل المصدر من سجلات DS: ESI أو DS: SI
برنامج اختبار الحد الأدنى
أخيرًا ، يجب عليك إنشاء برنامج الحد الأدنى الذي يستخدم التعليمات لمعرفة ما إذا كنت قد فهمته بشكل صحيح:
section .data
src db 0
dest db 1
section .text
global _start
_start:
mov esi, src
mov edi, dest
cld
movsb
/* dest == 0*/
نسخة قابلة للتشغيل من هذا مع التأكيدات على جيثب.