PDA

View Full Version : سوال: دستور movsb



BeginnerProgrammer
جمعه 26 آذر 1389, 12:29 عصر
سلام دوستان
میشه در مورد دستور movsb توضیح بدین(اینم یه نمونه کد)؟


lea esi,sorcStr
lea edi,destStr
cld
mov ecx,count
jecxz endcopy
copy:movsb
loop copy
endcopy:
;endProgram

xman_1365_x
جمعه 26 آذر 1389, 13:01 عصر
توي فروم جستجو كنيد هست
اما دوباره ميگم
دستور movsb مثل دستور mov اما براي رشته به كار ميره مبدا رو به مقصد كپي ميكنه اين باعث ميشه 1بايت، 1بايت كپي كني
چون نوشتي cld
بعد si+1=si
di+1=di
اگه std بزارين بجاي جمع تفريق ميشه
اولي يعني از پايين به بالا دومي از بالا به پايين
اما از اونجايي كه ميدا و مقصد شما با ثبات 32 بيتي هست بريد به اين آدرس
http://pdos.csail.mit.edu/6.858/2010/readings/i386/MOVS.htm
چرا از اين MOVSD استفاده نميكني؟(4بايت،4بايت كپي ميشه) اين يعني 4 برابر سريع تر مگه نه:لبخندساده:

BeginnerProgrammer
جمعه 26 آذر 1389, 13:18 عصر
یعنی الان در این کد movsb میاد محتوای esi,edi رو داخل پشته قرار میده ؟ اگه اینجوریه این به دوتا movsb نیاز داره اونوقت اگه شمارنده از دوتا بیشتر باشه movsb چیو کپی میکنه؟

دستورا برای من فرقی نمیکنه اگه دست خودم باشه از هیچکدوم استفاده نمیکنم کد کتاب باید یادبگیرم:خجالت:

xman_1365_x
جمعه 26 آذر 1389, 14:16 عصر
یعنی الان در این کد movsb میاد محتوای esi,edi رو داخل پشته قرار میده ؟ اگه اینجوریه این به دوتا movsb نیاز داره اونوقت اگه شمارنده از دوتا بیشتر باشه movsb چیو کپی میکنه؟
اسپم=نمي دونم چرا توي فروم ايران اينطوريه همه دنبال حاضر آماده هستن :لبخند: سعيد ... (يكي از مغز هاي رايانه) ميگه آخر توام مثل من به اين نتيجه ميرسي كه ديگه توي فروم ايران فعاليت نكني، دارم ميرسم به اين نتيجه :چشمک:
------------------------
والا به پشته كاري نداره در movsb


Move byte DS:[(E)SI] to ES:[(E)DI]

يعني آدرس خانه اول رشته مبدا
سگمنت در ds
آفست در esi
آدرس خانه اول رشته مقصد
سگمنت در es
آفست در edi
حالا فكر كن محتوي خانه اول رشته مبدا مثلا a باشه
حالا با اجراي دستور mosb محتوي خانه اول رشته مبدا يا همون a به خانه اول رشته مقصد كپي ميشه!


دستورا برای من فرقی نمیکنه اگه دست خودم باشه از هیچکدوم استفاده نمیکنم کد کتاب باید یادبگیرمتوي امتحانات ما كه خيلي سوال خارج از كتاب ميدادن و هم مسئله هاش وقتگير شمارو نميدونم:لبخند:
خيلي نكته داره شانس بياري مفهومي ندن:چشمک: