با ثبت نام در سایت از مزایای اعضا بهره مند شوید!

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

+1 امتیاز
144 بازدید
سوال شده آذر 11, 1394 در برنامه‌نویسی توسط سعيد (387 امتیاز)
سلام خدمت دوستان گل

خواستم بدونم من اگه از دستورات اسمبلی در c  استفاده کنم قابلیت حمل برنامه ای که نوشتم پایین میاد ؟

مثلا می خوام یک برنامه  c که دارای یک منو هست بنویسم. می خوام اطراف این منو ی کادر بکشم و روی گزینه های منو بتونم با کلید های صفحه کلید گردش کنم و با اینتر بتونم انتخاب انجام بدم  که باید با اسمبلی این کارو انجام بدم.حالا من اگه این کارا رو انجام بدم ایا قابلیت حمل برنامه ام پایین میاد یا تاثیری نداره ؟

دوستان لطفا توضیحی کامل یا اگه لینکی دارید که توضیحی در این مورد داشته باشه ممنون میشم بذارید.

در ضمن خودم زیاد توی اینترنت گشتم ولی چیزی پیدا نکردم

ممنون از دوستان

1 پاسخ

0 امتیاز
پاسخ داده شده بهمن 4, 1394 توسط lpsrl (278 امتیاز)

درود عزیز

میدونیم ک زبان ماشین (معماری پردازنده ها ) متناسب با خودش هست

مثلا برای پردازنده های اینتل زبان ماشین خودشون رو دارن / گرچه این تفاوت ها عمده نیست اما برهرحال هست

خود زبان سی قابل حمل هست تا حدودی

بسته به کاری ک می کنی

مثل سی استانداد قابل حمل تر است تا سی غیر استاندارد یا کتاب خانه های شخصی

یا نوع سینتکسی ک استفاده میکنی مثلا NULL قابل حمل تر است تا 0 برای اشاره گرها و ...

مثل سرچ کن تفاوت زبان های پردازنده ها

نقل :

يک کامپيوتر نمی تواند مستقيما زبان اسمبلی را تفسير کند و تنها قادر به اجرای کدهای زبان ماشين است. اسمبلر برنامه ای است که فايل متنی حاوی دستورات اسمبلی را خوانده و نمادهای اسمبلی را به کدهای زبان ماشين تبديل می کند. البته کامپايلرها هم برنامه هائی هستند که عمل مشابه را برای زبان های سطح بالا انجام می دهند، اما اسمبلر به مراتب از کامپايلر ساده تر است، زيرا هرعبارت زبان اسمبلی تنها يک دستورالعمل ماشين را نشان می دهد. عبارات زبان سطح بالا پيچيده تر هستند و ممکن است به دستورالعمل های ماشين بيشتری نياز داشته باشند.

يک تفاوت مهم ديگر بين اسمبلی و زبان های سطح بالا اين است که هر نوع CPU زبان ماشين و زبان اسمبلی مخصوص به خود را دارد. انتقال برنامه های اسمبلی روی معماری های مختلف کامپيوتر به راحتی برنامه های سطح بالا نيست.

http://www.hpkclasses.ir/Courses/Assembly/asm0100.html

سرور مجازی لینوکس

2,113 سوال

3,268 پاسخ

3,425 دیدگاه

8,841 کاربر

...