فکر کنم Quiz کسایی که ساعت اول برنامه نویسی سیستم داشتن این بود که یه رشته از ورودی بگیره و اگر داخل رشته کارکتر a و هم کارکتر s بود ، پیام پیدا شد و در غیر اینصورت پیدا نشد نشون بده.
* گروه اول ، ساعت 8
طول رشته ورودی 20 کارکتر فرض شده !
یسری نکته هم ، تو 3 تا پست پایین تر اشاره شد ، اون ها رو هم بخونید
یه نکته دیگه : فکر کنم برای ارسال mail به استاد ، subject رو باید gh q بنویسید !
تعداد Jump ها در این Source Code کاهش یافته
Source Code برای Quiz گروه دوم را هم می تونید از اینجا بگیرید !
ممنون به خاطر زحمتی که کشیدین چون هر کسی برای گروه دیگه همچین کاری انجام نمیده.
میگم برنامه رو خیلی پیجیده کردین ساده تر از این هم میشد نوشت.
ب هر حال ممنون
ممنون میشدم اسمتون رو هم می گفتید.
خواهش می کنم.

پیچیده؟
کجاش دقیقا؟
اصل برنامه فقط 2 تا scas با jump هست
بله فرمایش شما درسته ولی میشد تعداد جامپ ها رو کاهش داد.به جای ۴ تا جامپ میشد فقط از یک یا فکر کنم ۲ جامپ استفاده کرد.
از نظر درستی که درسته ولی از نظر تعداد خطوط گفتم.
ممنون میشم ، خودتون رو معرفی کنید.
1 جامپ؟

با یه جامپ که نمیشه !
ولی حق با شماست .
میشه تعداد Jump هارو کاهش داد ، 2 جا اضافه نوشته بودم. ( برای وضوح کد )
ولی باز به نظرم با 2 جامپ هم نمیشه
تو بخش نمایش خروجی هم لازمه یه Jump باشه.
خوشحال میشم ، اگه کدتون رو بهم میل کنید تا ببینم .
ali.bhz@gmail.com
با جامپ نمایش خروجی که تعداد به ۵ میرسه.
من همچین کدی رو نوشتم ولی از صحتش مطمئن نیستم.
از نظر منطقی به نظرم درسته ولی اجراش نکردم.
غریبه نیستم.
همدیگرو می شناسیم.
کد رو به ایمیلتون میفرستم اگه مشکلی داشت خوشحال میشم بهم بگین.
بله ، تو کد اول فکر کنم به 5 تا برسه.
ولی تو کد دوم فکر کنم کلا شد 3 تا.
همدیگر رو میشناسیم !؟
چه راهنمایی خوبی
خوشحال میشم ، کد رو ببینم.
برنامه رو براتون سند کردم.
بله ، ایمیل رو دریافت کردم.
کد درست بود از نظر منطقی ،
کلا هم از 3 Jump استفاده شده بود.
ایمیلتون رو چک کنید.
lea ax,not_found ; lea DOFST,not_found -> ghalat ast , nemishe az memory be memory montaghel kard
این خط که منتقل نمیکنه! آدرس آفست رو برمیگردونه!!!!
یعنی غلطه؟
میشه توضیح بدین؟
ممنون میشم
میتونید از خود dx به صورت مستقیم استفاده کنید نیازی به DOFST نیست
سید
خوب ، تو اسمبلی با دستور lea از مموری به مموری فکر کنم نمیشد ،
اگه این کد رو بنویسید ، خطا می گیره : ( به این دلیل غلط بود )
lea DOFST,not_found
اگر تو emu8086 و یا masm هم استفاده کنیم با خطای wrong parameters یا operand must be register مواجه مییشم.
خوب ، این خط و خط بعدش رو باید باهم می نوشتید :
lea ax,not_found
mov DOFST,ax
اول به آفست رشته پیام رو به داخل یه ثبات کمکی ( مثل ax ) میریزیم ، بعد از ثبات کمکی به متغیر منتقل می کنیم.
یا از دستور mov استفاده کنیم :
mov DOFST, offset not_found
ok
ممنون