جواب سوال 4
counter DW 0
str DB 'mAzAndArAn',19
mov si,0
lea bx,str
L1:
MOV AL,byte ptr[bx+si]
CMP AL,13
JE L2
INC si
JMP L1
L2:
mov cx,si
mov si,0
l4:
cmp byte ptr[bx+si],'A'
jne l3
inc counter
l3: inc si
loop l4
mov DX,counter
جواب سوال 4
counter DW 0
str DB 'mAzAndArAn',19
mov si,0
lea bx,str
L1:
MOV AL,byte ptr[bx+si]
CMP AL,13
JE L2
INC si
JMP L1
L2:
mov cx,si
mov si,0
l4:
cmp byte ptr[bx+si],'A'
jne l3
inc counter
l3: inc si
loop l4
mov DX,counter
خیلی خوبه . منتها ما تو اسمبلی دستور Length نداریم تا اونجا که من خاطرم هست . اشتباه نکردی؟
برای رفرنسهای آینده هم : میتونید این لینکها رو ببینید
در مورد مبحث آرایه ها در اسمبلی -آرایه های تک بعدی و چند بعدی و نحوه ساخت و ... :Art of Assembly: Chapter Five-2
در مورد بدست اوردن طول رشته در اسمبلی : Finding a String Length in Assembly Language
متن پنهان
(پست قبلی رو هم من ادادم نه برادرم .الان که خودم لاگین کردم درستش کردم )
توکل بخدا
http://DeepLearning.ir
اولین و تنها مرجع یادگیری عمیق ایران
هرکس از ظن خود شد یار من
از درون من نجست اسرار من
نه نیستم تو لیست دستورات X86 هم نگاه کردم نبود.
احتمالا استادتون برا راحتی کار اونو تو مثال ها اورده که درک دانشجوها بهتر بشه . یا اینکه اسمبلی ماشین دیگه ای داشته تدریس میکرده ! که بعیده .
دوستانی که احتمالا درس اسمبلی دارن به این لیست هم نگاه کنن خوبه تا با دستوراتی که Tishab عزیز زد بیشتر آشنا بشن(اگه نیستن) و همینطور با سایر دستوراتی که کار شما رو چندین برابر راحت تر میکنه در کد نویسی اسمبلی .
x86 instruction listings - Wikipedia, the free encyclopedia
ادیت:
دستور Length مربوط به Inline Assembly هست که در داخل بلاک _asm تو برنامه های سی و سی++ استفاده میشه ( مختص Visual C++ ) . دستورات Masm رو قبول میکنه . منتها برعکسش بعید میدونم (باید تست بشه مطمئن نیستم )
http://homepages.thm.de/~hg13025/vor.../msvc_asm.html
توکل بخدا
http://DeepLearning.ir
اولین و تنها مرجع یادگیری عمیق ایران
هرکس از ظن خود شد یار من
از درون من نجست اسرار من
علاقه مندی ها (Bookmarks)