PDA

View Full Version : دسترسی به عناصر یک ارایه



mamad64bit
چهارشنبه 24 تیر 1388, 12:01 عصر
فرض کنید یه ارایه داریم
list dw 56,89,23,12
چون از نوع dw هست طول هر عنصر 4 بایت میشه و برای اینکه به عناصر دسترسی داشته باشیم اینطوری میشه ؟
عنصر اول offset list+0
عنصر دوم offset list+4
عنصر سوم offset list + 8
این درسته ؟
بعد اگر ارایمون از نوع db یود مقدارها 2 تایی افزایش پیدا میکرد

tdkhakpur
چهارشنبه 24 تیر 1388, 12:28 عصر
سلام
طول dw همیشه 2 بایت هست و برای دسترسی به اندیکس ارایه کدر زیر را مشابه سازی کنید.


list dw 56,89,23,12
mov dx, word ptr list[0];ایندکس اول
mov dx, word ptr list[2]; ایندکس دوم
mov dx, word ptr list[4]; ایندکس سوم

در فوق میتوانید به جای 0و 2و 4 رجیستری مانند bx را در نظر بگیرید در هر مرحله دو واحد به bx اضافه کنید.(مقدار اولیه bx باید برابر 0 باشد.)

mamad64bit
چهارشنبه 24 تیر 1388, 12:33 عصر
پس اگر


list db 56,89,23,12

داشتیم برای دسترسی به عناصر ارایه مثل بالا عمل میکنید ؟

tdkhakpur
چهارشنبه 24 تیر 1388, 12:39 عصر
سلام
روشهای زیادی هست ولی این کد بالا بهترین و خوانا ترین روشهاست.