توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال اسمبلی
barankf
15th January 2013, 07:33 PM
با سلام وخسته نباشید
من به جواب این سوال نیاز فوری دارم لطفا کمکم کنید.[dooa]
1) اگر xیک متغیر از حافظه به طول 1 بایت و yیک متغیر از حافظه به طول 1wordباشد رابطه زیر را به زبان اسمبلی شبیه سازی ککنید
Y=x ^ 3 – 3x ^2 +7
[dooa]
2)معادل دستورات زیر را به زبان اسمبلی شبیه سازی کنید
Count=100
while(sum<500) or (count>0)
{
Sum=sum+count
Count=count-1
}
3)تکه برنامه زیر چه عملی انجام می دهد
Str1 db "abcdfg"
Str2 db 6 dup(?)
Mov si,offset str1
Mov di,offset str2+5
Cld
Mov cx,6
L1:lodsb
Mov [di],al
Dec di
Loop l1
4)پس از اجرای دستورات زیر محتوای zf ,pf ,sf ,cf ,ofچیست؟
Mov cx,3b18 H
Mov dx,4c2f H
Add dx,cx
5)اگر ax=ffffباشد بعد از اجرای قطعه کد زیر محتوای axچیست؟
NEG ax
ROR ax,1
Mov cl,3
SAR ax,cl
الف)f000 ج)0000
ب)l000 د)fff0
6)زیر روالی بنویسید که اعداد 1 تا 10 را با هم جمع کند
BaAaroOoN
17th January 2013, 01:48 PM
سوالاتون ساده ست.....به کتاب مزیدی مراجعه کنید....
اما در مورد سوالات مربوط به پرچم ها....
pf:پرچم توازن(معمولا توازن زوج)ینی اگه عدد حاصل تعداد یک هاش زوج باشه pf=0,در غیر این صورتpf=1
cf:پرچم carry
zf:پرچم تشخیص صفر بودن یا نبودن
ینی اگه عدد حاثل 0 شد،zf=0,در غیر این صورتzf=1
sf:پرچم علامت.ینی اگه با ارزشترین بیت شما یک بود ینی عدد منفیه(لبته در سیستم علامتدار)پسsf=1
of:پرچمoverrflow.ینی اگه شما carryبیت آخر و یکی مونده به آخر رو باهم xorکنید و حاصل آن 1شود ینیoverrflow اتفاق افتاده وof=1
اگر حاصلxor،0 شه ینیof=0
حالا در اینجا عدد شما همون حاصل جمع3b18و4c2f هستش
البته برای کارایی که من گفتم باید عدد باینری باشه حتما
BaAaroOoN
17th January 2013, 01:51 PM
در سوال 5ابتدا axمنفی میشه
بعد....اون رو به اندازه ی 1 دفعه میچرخونیم....ین چی؟
ینی اینکه،بی ارزشترین بیت از عدد حذف میشه و به ابتدای عدد(ینی در جایگاه با ارزشترین بیت )اضافه میشه....اصطلاحا عدد رو یه بار میچرخونیم....
بعد من دستورsarرو نمیدونم چیه....ولی اگه بگین حتما راهنماییتون میکنم
BaAaroOoN
17th January 2013, 02:03 PM
برای برنامه ی2:
mov cx,100
back : mov sum,0
add sum,cx
dec cx
cmp sum,500
jc loop
loop back
BaAaroOoN
17th January 2013, 02:06 PM
در مورد سوال آخر:
mov cx,10
mov sum,0
back : add sum,cx
dec cx
loop back
BaAaroOoN
17th January 2013, 02:09 PM
برای سوال 3 که وااااااقعا ساده ست و پیشنهاد میکنم که دیگه خودتون هم یه مطالعه ای داشته باشین!!!!
فقط در همین حد بگم که در 2 خط اول داره برای str1و str2حافظه در نظر میگیره
و abcdefgرو میریزه تویstr1
matin2012
15th April 2013, 08:09 PM
سلام
من به کمک فوری نیاز دارم برا این پروژه به زبان اسمبلی
ابتدا صفحه login را ایجاد نمایید (کاملاً دلخواه و به سلیقه خودتان) یک admin با نام کاربری admin و کلمه عبور 1234 وارد می شود. در صورتی که اشتباه وارد کرده بود یک صدای بوق بشنود و دوباره به صفحه login باز گردد تا اینکه صحیح وارد کند. سپس 3 user و 3 password حداکثر 6 کاراکتری را از او دریافت نمایید.این اسامی باید حتما بصورت حروف کوچک و عدد باشند و تکراری نباشند . سپس اسامی در حافظه ذخیره شود .admin بتواند user یا pass ها را با توجه به شماره 1 یا 2 یا 3 تغییر دهد. در صورتی که هر 6 مورد را تنظیم نمود و مایل به تغییر آن نبود خارج شود.
سپس دوباره صفحه login نمایش داده شود. کاربر 1 یا 2 یا 3 وارد می شود.
در صورتی که کاربر 1 وارد شد (یعنی کاربری که نام و کلمه عبورش برابر اولین user و pass بود که admin تنظیم کرده بود) یک رشته از کاربر دریافت نماید و تعداد کلمات و جملات آنرا بدست آورد . جملات فقط با نقطه از هم جدا می شوند و بین کلمات ممکن است فاصله های بیشتر از یکی باشد) سپس تعداد جملات را در سطر 15 ستون 5 و تعداد کلمات را در سطر 20 ستون 7 بدون استفاده از وقفه و بصورت مستقیم بنویسد. (ممکن است تعداد از 9 بیشتر شود) سپس صفحه را پاک نموده و تعداد جملات و کلمات را در سطر 1 نمایش دهد و بعد هر جمله را سر سطر چاپ نماید (با وقفه 09h/ int 21h)
این کار تکرار شود تا اینکه کاربر بخواهد خارج شود سپس دوباره صفحه login نشان داده شود.
(lovelyiroonigirl@yahoo.com)
استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است
استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد
vBulletin® v4.2.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.