PDA

View Full Version : برنامه اسمبلی در ++C



m.khodadad
جمعه 15 آذر 1392, 18:50 عصر
سلام.من میخواهم در محیط ++C به زبان اسمبلی برنامه بنویسم.میخواهم این کد اجرا بشه ولی قسمت اسمبلی اش اجرا نمیشه.
#include








<iostream>

using








namespace std;

int








main(){





int temp=1;





_asm

{

MOV AX,temp

ADD AX,20h

MOV temp,AX

}

cout<<temp;

system(



"pause");

}

abdorreza
جمعه 15 آذر 1392, 19:50 عصر
سلام
این کدها رو چرا اینقدر پخش و پلا نوشتی دوست عزیز ؟!
به این صورت کدهای اسمبلی را قرار بده کار میکنه



asm{
اینجا هم کدهای اسمبلی را قرار بده
}

m.khodadad
جمعه 15 آذر 1392, 20:00 عصر
سلام
این کدها رو چرا اینقدر پخش و پلا نوشتی دوست عزیز ؟!
به این صورت کدهای اسمبلی را قرار بده کار میکنه



asm{
اینجا هم کدهای اسمبلی را قرار بده
}






ممنون از جوابتون.این کد رو نوشتم ولی قسمت asmاجرا نمیشه!
http://8pic.ir/images/82449630774725828288.jpg

aminsaeedi
جمعه 15 آذر 1392, 21:49 عصر
میشه توضیح بفرمایید این کار چه خاصیتی داره ؟؟

abdorreza
جمعه 15 آذر 1392, 21:51 عصر
میشه توضیح بفرمایید این کار چه خاصیتی داره ؟؟

کدوم کار ؟!

aminsaeedi
جمعه 15 آذر 1392, 22:11 عصر
همین که کد اسمبلی داخل ++C نوشته بشه

abdorreza
جمعه 15 آذر 1392, 23:00 عصر
خوب این یکی از مزایای C++ هست
برای همینه که C++ یکی از بهترین زبان ها برای برنامه نویسی و کنترل سخت افزاره

aminsaeedi
جمعه 15 آذر 1392, 23:37 عصر
یعنی منظورتون اینه که با اسمبلی بهتر و یا راحت تر میشه با سخت افزار ارتباط برقرار کرد که از این طریق به این مهم دست پیدا می کنیم

میشه منبعی بگید تا بیشتر اطلاعات بگیرم در این زمینه

abdorreza
جمعه 15 آذر 1392, 23:49 عصر
بله درسته. دسترسی و کنترل سخت افزار با اسمبلی شدنی تر و قوی تر و راحت تر است و هر کاری بخواید میتونید انجام بدید
اگر منبعی پیدا کردم حتما قرار میدم

abdorreza
جمعه 15 آذر 1392, 23:50 عصر
یکیش تو همین تالار
http://barnamenevis.org/showthread.php?75596-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%A8%D8%A7-%D8%B3%D8%AE%D8%AA-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1

abdorreza
جمعه 15 آذر 1392, 23:52 عصر
که البته با خود c++ هم توابعی برای کار با سخت افزار در اختیار برنامه نویس قرار میده. ولی در جاهایی که بعضی از کارها نیاز به برنامه نویسی مستقیم اسمبلی هست میتونید از اسمبلی استفاده کنید.

m.khodadad
شنبه 16 آذر 1392, 05:45 صبح
خواهشا یکی کمک کنه.قسمت asm اش اجرا نمیشه !
runtime error میده.

http://8pic.ir/images/90664381409271700546.jpg

abdorreza
شنبه 16 آذر 1392, 06:36 صبح
دوست عزیز جلوی دستورات اسمبلی سمیکالن (;) قرار بده. ببین حل میشه؟

m.khodadad
شنبه 16 آذر 1392, 12:17 عصر
دوست عزیز جلوی دستورات اسمبلی سمیکالن (;) قرار بده. ببین حل میشه؟

تا جایی که من میدونم جلوی دستورات اسمبلی ; نمی گذارند. ولی شکر خدا با این تغییرات برنامه ام به درستی اجرا شد! :لبخندساده:


113599

aminsaeedi
شنبه 16 آذر 1392, 13:13 عصر
یعنی با اضافه کردن e به اول ax حل شد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

m.khodadad
شنبه 16 آذر 1392, 17:22 عصر
یعنی با اضافه کردن e به اول ax حل شد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟


بله.درضمن باید prototype تابع رو هم بنویسیم.

ali chegini
شنبه 16 آذر 1392, 23:58 عصر
نکته : برای دوستانی که از gcc استفاده میکنند:
برای نوشتن اسمبلی باید از روش دیگه ای استفاده کنند به نام :
using inline assembly whit gcc
سرچ کنید می تونید pdf رو گیر بیارید.