پرسش و پاسخ در برنامه نویسی اسمبلی

nazaninfatemeh

عضو جدید
با سلام،
برنامه ی چی؟ EMU8086 که توی هر ویندوزی نصب می شه و MASM هم که اصلاً نیاز به نصب نداره! قراره با چی کار کنید؟

سلام مرسی که جواب دادین
همون دومیه
برنامم رو مینویسم فردا میزارم تا ببینید هی ارور میده اعصابمو ریخته به هم
ترو خدا کمکم کنید دیگه این هفته ای دست خالی نرم:(
 

nazaninfatemeh

عضو جدید
salam
ine barnamam
toro khoda bgin che margeshe
[IMG]http://1.sceo.hostei.com/images/7e1cd7dca89a.jpg[/IMG]
 

پیوست ها

  • 111.jpg
    111.jpg
    39.8 کیلوبایت · بازدیدها: 0

sayyad84

متخصص زبان Assembly
کاربر ممتاز
salam
ine barnamam
toro khoda bgin che margeshe
[IMG]http://1.sceo.hostei.com/images/7e1cd7dca89a.jpg[/IMG]
مطمئنید همینه؟ دستورات این یکی، یه کمی فرق داره! اگه بهتون صرفاً گفتن که باید با MASM کار کنید، احتمالاً اشتباه دانلود کردید! تاپیک آموزش رو ببینید اون جا MASM رو به همراه یه کمی توضیحات گذاشتم!
 

nazaninfatemeh

عضو جدید
مطمئنید همینه؟ دستورات این یکی، یه کمی فرق داره! اگه بهتون صرفاً گفتن که باید با MASM کار کنید، احتمالاً اشتباه دانلود کردید! تاپیک آموزش رو ببینید اون جا MASM رو به همراه یه کمی توضیحات گذاشتم!

اتفاقا یکی از همکلاسیامم میگفت دستوراتش این شکلی نیست ولی چن خجالت میکشیدم ازش بپرسم چون پسر بود نمیدونم باید چیکار کنم استاده گفته این هفته دیگه قبول نمیکنم کسی بگه مشکل داشتم :(
یکی نیست بهش بگه آخه زنیکه چی درس دادی که میخوای:mad:
آیکن برنامه که بهمون داده نصب کردم این شکلیه:
untitled11.JPG
:wallbash::wallbash::wallbash::wallbash::wallbash:
 

پیوست ها

  • untitled.JPG
    untitled.JPG
    2.4 کیلوبایت · بازدیدها: 0

nazaninfatemeh

عضو جدید
توضیحات:

توضیحات:

نمیدونم چرا این عکس پایینیم باهاش لود شد
بهش توجه نکینید کامپیوترم یکم دیوونس!:D
 

nazaninfatemeh

عضو جدید
این آموزشه هیچیش مث مال ما نیس که
استادمون اشتباه یادمون میده
اه خسته شدم دیگه ازش مسخره است
 

ba1373

عضو جدید
سلام
ببخشید میخواستم اینا رو برام حل کنین البته اگه میشه یه توضیحی هم بدین
(ACB,2D) در مبنای 16 هست تبدیل بشه به مبنای 8
(763,245)در مبنای 8 هست تبدیل بشه به مبنای 16
خیلی ممنون میشم
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
اتفاقا یکی از همکلاسیامم میگفت دستوراتش این شکلی نیست ولی چن خجالت میکشیدم ازش بپرسم چون پسر بود نمیدونم باید چیکار کنم استاده گفته این هفته دیگه قبول نمیکنم کسی بگه مشکل داشتم :(
یکی نیست بهش بگه آخه زنیکه چی درس دادی که میخوای:mad:
آیکن برنامه که بهمون داده نصب کردم این شکلیه:
مشاهده پیوست 139112
:wallbash::wallbash::wallbash::wallbash::wallbash:
همون طور که گفتم این یکی کمی فرق داره و من تا حالا باهاش کار نکردم، پس نمی تونم کمک زیادی بهتون بکنم!
 

razieh.gh

عضو جدید
سلام دوستان . يه سوالي دارم .
توي زبان اسمبلي تو محيط emulator وقتي با استفاده از وقفه 0ah يه رشته دريافت مي كنيم اگه بخوايم موقع دريافت رشته به كاربر ستاره نشون داده بشه بايد چكار كنيم ؟ يعني همون دريافت رمز . خواهشا زود جواب بديد عجله دارم
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
سلام دوستان . يه سوالي دارم .
توي زبان اسمبلي تو محيط emulator وقتي با استفاده از وقفه 0ah يه رشته دريافت مي كنيم اگه بخوايم موقع دريافت رشته به كاربر ستاره نشون داده بشه بايد چكار كنيم ؟ يعني همون دريافت رمز . خواهشا زود جواب بديد عجله دارم
با سلام،
فکر می کنم ساده ترین راه، دریافت رشته به صورت کاراکتر به کاراکتر و بدون نمایش کاراکترهاست اما بعد از دریافت هر کاراکتر باید یه ستاره چاپ بشه!!
 

sareh 111

عضو جدید
اسمبلی

اسمبلی

روشی که اعداد را به صورت محاسباتی و ریاضی در زبان اسمبلی دراوریم؟
 

nazaninfatemeh

عضو جدید
سلام دوستان من مشکل بزرگی دارم اونم اینه که متاسفانه حرفای استادمو نمیفهمم نه که من نفهمما حاضرم قسم بخورم خودشم نمیفهمه چی میگه
اسمبلی 32 بیتی یادمون میده من بلد نیستم عددارو به 32 بیت تبدیل کنم میشه بهم یاد بدین
مثلا عدد 1 رئ می خواد به 32 بیتی تبدیل کنه مگه اعداد از 0 تا 31 نیستن؟ پس
باید این شکلی باشه :
0010 0000 0000 0000 0000 0000 0000 0000
ولی اون می نویسه:
0001 0000 0000 0000 0000 0000 0000 0000
چیکار کنم 1 شنبه میترم دارم
:cry::cry::cry::cry:
کمکم کنید لطفا
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
سلام دوستان من مشکل بزرگی دارم اونم اینه که متاسفانه حرفای استادمو نمیفهمم نه که من نفهمما حاضرم قسم بخورم خودشم نمیفهمه چی میگه
اسمبلی 32 بیتی یادمون میده من بلد نیستم عددارو به 32 بیت تبدیل کنم میشه بهم یاد بدین
مثلا عدد 1 رئ می خواد به 32 بیتی تبدیل کنه مگه اعداد از 0 تا 31 نیستن؟ پس
باید این شکلی باشه :
0010 0000 0000 0000 0000 0000 0000 0000
ولی اون می نویسه:
0001 0000 0000 0000 0000 0000 0000 0000
چیکار کنم 1 شنبه میترم دارم
:cry::cry::cry::cry:
کمکم کنید لطفا
با سلام،
همون طور که توی دوره ی راهنمایی و بخش تبدیل مبناها خونده بودیم، برای تبدیل از یک مبنا به مبنای ده باید از راست به چپ عدد، ارقام رو در مبنا به توان شماره ی رقم ضرب کنیم و این نتایج رو با هم جمع کنیم! مثلاً اگه 243 در مبنای 5 داریم این عدد در مبنای ده برابر با:
(3 * 5 ^ 0) + (4 * 5 ^ 1) + (2 * 5 ^ 2) = 73
این نکته در مورد اعداد دودویی هم صدق می کنه، بنابراین اونی که استادتون گفته درسته! می تونید حساب کنید!
اما برای تبدیل عدد دهدهی به مبنای دیگه باید اون عدد رو به صورت متوالی بر مبنا تقسیم کنیم خارج قسمت تقسیم آخر رو به همراه باقیمانده ی تقسیم های قبلی بنویسیم تا عدد بدست بیاد! مثلاً برای تبدیل عدد 73 به مبنای 5 به این شکل عمل می کنیم:
73 / 5 = 14 (3)
14 / 5 = 2 (4)
باقیمانده کوچکتر از 5 شد پس تقسیم تمومه! خارج قسمت آخری و باقیمانده ها رو از آخر به اول می نویسیم:
243
در تبدیل دودویی اگه تعداد بیت هامون بیشتر از تعداد ارقام بدست اومده بود، ارقام باقیمونده از سمت چپ رو صفر می ذاریم تا بیت هامون همه مقدار داشته باشن! (البته با توجه به شاهکار بودن ادیتور سایت، معادلات ریاضی بالا رو از راست به چپ بخونید!!!)
 

nazaninfatemeh

عضو جدید
با سلام،
همون طور که توی دوره ی راهنمایی و بخش تبدیل مبناها خونده بودیم، برای تبدیل از یک مبنا به مبنای ده باید از راست به چپ عدد، ارقام رو در مبنا به توان شماره ی رقم ضرب کنیم و این نتایج رو با هم جمع کنیم! مثلاً اگه 243 در مبنای 5 داریم این عدد در مبنای ده برابر با:
(3 * 5 ^ 0) + (4 * 5 ^ 1) + (2 * 5 ^ 2) = 73
این نکته در مورد اعداد دودویی هم صدق می کنه، بنابراین اونی که استادتون گفته درسته! می تونید حساب کنید!
اما برای تبدیل عدد دهدهی به مبنای دیگه باید اون عدد رو به صورت متوالی بر مبنا تقسیم کنیم خارج قسمت تقسیم آخر رو به همراه باقیمانده ی تقسیم های قبلی بنویسیم تا عدد بدست بیاد! مثلاً برای تبدیل عدد 73 به مبنای 5 به این شکل عمل می کنیم:
73 / 5 = 14 (3)
14 / 5 = 2 (4)
باقیمانده کوچکتر از 5 شد پس تقسیم تمومه! خارج قسمت آخری و باقیمانده ها رو از آخر به اول می نویسیم:
243
در تبدیل دودویی اگه تعداد بیت هامون بیشتر از تعداد ارقام بدست اومده بود، ارقام باقیمونده از سمت چپ رو صفر می ذاریم تا بیت هامون همه مقدار داشته باشن! (البته با توجه به شاهکار بودن ادیتور سایت، معادلات ریاضی بالا رو از راست به چپ بخونید!!!)

ممنونم از کمکت
ولی امیدوارم منو ببخشی
متاسفانه بازم نمیفهممش
من چطوری اینارو حساب کنم
ی روش راحت ترو ذهنی داره چون خودش و تمام بچه ها تا عددرو می بینن به 32 بیتی تبدیلش میکنن
:cry: :cry::cry::cry:
 

elyas_sh82e

عضو جدید
سلام
استادتون درست می فرمایند
شما اینجوری یاد بگیرین.....
از سمت راست اولین بیت 1 دومی 2 سومی 4 چهارمی 8 پنجمی 16 ششمی 32 ..... 64 ..... 128 ........256 ........512 ......1024 ........
اگه میگه 2 که تو مبنای ده هست تو مبنای دو بنویس باید ببینی کدوم یکی از بیتها اُکی میشه یعنی وجود داره یعنی بیت دوم پس اون بیت 1 میشه و بقیه 0 یعنی 2 که تو مبنای دهِ تو مبنای دو با 32 بیت میشه
0010 0000 0000 0000 0000 0000 0000 0000
8421 ..........................................................

حالا اگه گفتن 13 تو مبا ده ر برب مبنای دو ،13 ازمجموعِ 8و4و1 تشکیل میشه که باید یک بشن و بقیه بیتها 0 یعنی
1101 0000 0000 0000 0000 0000 0000 0000
8421 ........................................................
 

david777

عضو جدید
سلام به دوستان گرامی

من وقتی برنامه ام را اجرا می کنم این پیغام را می دهد
PROGRAM HAS RETURNED CONTROL
TO THE OPERATING SYSTEM
میشه لطفا بفرمایید مشکلش چیه؟
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
ممنونم از کمکت
ولی امیدوارم منو ببخشی
متاسفانه بازم نمیفهممش
من چطوری اینارو حساب کنم
ی روش راحت ترو ذهنی داره چون خودش و تمام بچه ها تا عددرو می بینن به 32 بیتی تبدیلش میکنن
:cry: :cry::cry::cry:


آها! حالا فهمیدم مشکلت کجاست.
نیگا این یک که شما میگی، شماره بیت مورد نظر هست. یعنی دومین بیت، شماره اش یک است. ولی این بدان معنی نیست که عدد یک رو بخای بذاری به جای این بیت شماره 1 که بشه مدل 32 بیتی عدد یک در مبنای ده.

ببینم اصلا اینارو ول کن. شما تا عدد 7، بلدی به دودویی تبدیل کنی؟
یعنی عدد یک در مبنای دو چند میشه؟
عدد دو در مبنای دو چند میشه؟
همینطور تا 7؟
 

nazaninfatemeh

عضو جدید
آها! حالا فهمیدم مشکلت کجاست.
نیگا این یک که شما میگی، شماره بیت مورد نظر هست. یعنی دومین بیت، شماره اش یک است. ولی این بدان معنی نیست که عدد یک رو بخای بذاری به جای این بیت شماره 1 که بشه مدل 32 بیتی عدد یک در مبنای ده.

ببینم اصلا اینارو ول کن. شما تا عدد 7، بلدی به دودویی تبدیل کنی؟
یعنی عدد یک در مبنای دو چند میشه؟
عدد دو در مبنای دو چند میشه؟
همینطور تا 7؟

ممنون و متشکر بابت کمکتون اوکی شدم
آره قبلیارو که کاردانی خونده بودم و میفهمم ولی این یکی رو نمیدونم چی شده بود قاط زده بودم
بازم ممنونم بابت همه چی
 

nazaninfatemeh

عضو جدید
سلام
استادتون درست می فرمایند
شما اینجوری یاد بگیرین.....
از سمت راست اولین بیت 1 دومی 2 سومی 4 چهارمی 8 پنجمی 16 ششمی 32 ..... 64 ..... 128 ........256 ........512 ......1024 ........
اگه میگه 2 که تو مبنای ده هست تو مبنای دو بنویس باید ببینی کدوم یکی از بیتها اُکی میشه یعنی وجود داره یعنی بیت دوم پس اون بیت 1 میشه و بقیه 0 یعنی 2 که تو مبنای دهِ تو مبنای دو با 32 بیت میشه
0010 0000 0000 0000 0000 0000 0000 0000
8421 ..........................................................

حالا اگه گفتن 13 تو مبا ده ر برب مبنای دو ،13 ازمجموعِ 8و4و1 تشکیل میشه که باید یک بشن و بقیه بیتها 0 یعنی
1101 0000 0000 0000 0000 0000 0000 0000
8421 ........................................................

واقعا ازتون ممنونم خدا هرچی دوست داری یاد بگیری یادتون بده!
وونونم مشکلم حلید بابت توضیحتون ممنون
این همون جوابی بود که من دنبالش بودم
واقعا ممنونتونم
 

razieh.gh

عضو جدید
سلام دوستان
براي مقيم كردن يه برنامه تو حافظه يا همون TSR از چه محيطي بايد استفاده كرد ؟
از محيط emulator 8086 ميشه استفاده كرد ؟
آخه من نوشتم به وقفه 31h ايراد ميگيره
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
سلام دوستان
براي مقيم كردن يه برنامه تو حافظه يا همون TSR از چه محيطي بايد استفاده كرد ؟
از محيط emulator 8086 ميشه استفاده كرد ؟
آخه من نوشتم به وقفه 31h ايراد ميگيره
با سلام،
EMU تنها یه شبیه سازه پس این کار رو نمی تونه انجام بده! برنامه تون رو با MASM32 اسمبل و اجرا کنید!
 

sajadrahimi72

عضو جدید
سلام وستان،میخوام عدد به توان 0.5 (یک دوم) رو بدست بیارم البته فقط با 4 عمل گر اصلی>اما دلیل این کار:قراره ریشه دوم یک عدد رو با 4 عملگر اصلی(*/+-)بدست بیارم(اونم در دیباگ)تو رو خدا کمکم کنید
منتظرم
 

mehdi_fayzi

عضو جدید
سلام دوست عزیز
میخوام تو win 7 با اسمبلی کد بنویسم چکار کنم ؟ چه برنامه هایی را باید بگیرم ؟ و از کجا؟
ممنون میشم بهم کمک کنید
 

salar_kian

عضو جدید
فرمت کردن دیسک

فرمت کردن دیسک

سلام
کسی از دوستان هست در مورداینکه چطوری بتونم با تابع 05 وقفه 13 یک درایو روفرمت کنم توضیحی بده یا اگه هم هست کد هاش رو برام بنویسه من این کد ها رو نوشتم اما اجرا میشه و خطا نمیده و کاری هم نمیکنه!
کد:
.model small 
.stack 128
.code
        main proc
                mov ah,19h
        int 21h
        mov ah,05
        mov cx,10
        mov dh,1
        mov dl,80h
        int 13h
                mov ah,4ch
                int 21h
        main endp
end main
با تابع 19 وقفه 21 درایو جاری رو بدست آوردم
و بقیه هم .........
هست یاری کننده ای که یاری کند مرا
؟!
 

sky_cs

عضو جدید
سلام دوستان
برای اولین بار می خوام اسمبلی رو رو لپ تابم نصب کنم.
ویندوز لپ تابم سون هست. ممکنه برای روند نصب راهنمائیم کنید؟
کدوم ورژن اسمبلی رو نصب کنم؟
 

fariba savari

عضو جدید
سلام.برنامه ی اسمبلی رو تو masm یا emulator می شه نوشت. من توصیه می کنم تو emulator بنویسید.
 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
سلام دوستان
برای اولین بار می خوام اسمبلی رو رو لپ تابم نصب کنم.
ویندوز لپ تابم سون هست. ممکنه برای روند نصب راهنمائیم کنید؟
کدوم ورژن اسمبلی رو نصب کنم؟
با سلام،
در ویندوز ویستا به بعد، فقط می تونید برنامه اسمبلی رو شبیه سازی کنید که این کار در EMU8086 امکان پذیره!
 

sky_cs

عضو جدید
سلام.
من میخوام از نرم افزار debugger استفاده کنم. ویندوز 7، 64 بیت دارم .
چطوری می تونم این نرم افزار رو نصب کنم و برنامه های اسمبلی رو بنویسم.
ممنون
:gol::gol::gol:..........................................................................................
 

Similar threads

بالا