PDA

View Full Version : سوال : میزان کار اسمبلی با دلفی؟



hp1361
جمعه 30 فروردین 1387, 18:57 عصر
سلام

یکی از دوستام که مخابرات می خونه می خواد زبان برنامه نویسی یاد بگیره

ازم سوال کرد با دلفی چه کارای از نوع اسمبلی یا کلا کار با سخت افزار و میتونه انجام بده .

اون مسره که سی پلاس پلاس رو باید یاد بگیره . اما گویا خیلی براش سخته

کارایی مثل کنترل روبات از طریق وب رو میخاد مثلا انجام بده

ممنون میشم راهنمایی بکنین

مهران موسوی
جمعه 30 فروردین 1387, 23:53 عصر
دوست عزیز برای مدیریت رباط ها از طریق پورت LPT به راحتی میشه از DLL هایی همچون WinIO.dll استفاده کرد ... ( فکر کنم خود ویندوز هم یک DLL برای اینکار داشته باشه ( شاید هم اشتباه میکنم) )

البته این کار رو هم با Delphi و هم با C++ میشه انجام داد .... با C++ دستمون توی اینجور کارا بازتر هستش چون میشه از PortTalk هم استفاده کرد ... ولی در کل اگه یک DLL یا یک کامپوننت برای ارسال بایت به پورت LPT مخصوص دلفی پیدا کنی به راحتی میشه با اون روباط رو مدیریت کنی ... ( در ضمن باید بگم نیاز خاصی توی این کار به اسمبلی نیست ... چون تغریبا تمامی کارهایی که اسمبلی میکنه C به خوبی انجام میده ... ولی باید توجه داشت که سرعت اسمبلی به طبع بالاتر و برای برنامه های مقیم در حافظه مناسبتر هستش )

nouri2015
شنبه 31 فروردین 1387, 13:57 عصر
من برنامه کنترل رباط را با اسمبلی در دلفی از طریق پورت lpt نوشتم

hp1361
یک شنبه 01 اردیبهشت 1387, 00:03 صبح
من برنامه کنترل رباط را با اسمبلی در دلفی از طریق پورت lpt نوشتم

سلام

ممنون میشم اگه بیشتر توضیح بدی چطور این کارو کردی.

اگر کاربر بخواد این کار رو از راه دور و از طریق نت انجام بده چیکار باید کنه ؟

B-Vedadian
یک شنبه 01 اردیبهشت 1387, 10:49 صبح
سلام،

من خودم مخابراتی هستم.
نکته مهم: فراگرفتن ++c برای کارهای سطح پایین سخت افزاری واجب عینیه! برای کار با DSPها و سایر کنترلرها هم واجب عینیه.

دلفی و #C و زبانهای از این دست رو برای نوشتن رابط کاربر بیشتر استفاده می کنند و برای کاربردهای سیستمی و سخت افزار مناسب نیستند.

Arman_1367
یک شنبه 01 اردیبهشت 1387, 10:52 صبح
برای استفاده از زبان ماشین تو دلفی کافیه به روش زیر عمل کنید :

asm

دستورات

end;


مثال کاملتر برای یک تابع معمولی

function sin(x:integer):double;
asm
fld x
fsin
fwait
end;

همین

مهران موسوی
یک شنبه 01 اردیبهشت 1387, 15:24 عصر
با سلام ...

دوست عزیز شما برای مدیریت برنامه ی خودتون از روی اینترنت یا شبکه نیاز به یادگیری Indy دارید ... این ابزار طیف عزیم و قدرتمندی از کامپوننت ها را برای برنامه های شبکه در اختیار شما قرار میده ... با استفاده از این ابزار بدون شک میتونید عملیات مورد نظرتون رو انجام بدین ....

اما در رابطه با اسمبلی در دلفی .... دفعه ی اول هم بهتون گفتم برای انجام مدیریت رباط از راه LPT مستقیما نیازی به اسمبلی نیست ... من خودم شخصا محدودیت خاصی توی برنامه نویسی ندارم ... این رو هم قبول دارم که انجام این کار با C++ خیلی ساده تر هست ولی من یقین دارم که با دلفی هم میشه این کار رو انجام داد ... ( البته فکر نکنید من طرفدار دلفی هستم و این حرف رو میزنم .... من با VC++ و ... هم کار میکنم )

در مورد اسمبلی در دلفی هم دوست خودم اقا ارمان شکل کلی استفاده رو بهت گفت ....

من برای از بین رفتن ابهامات یک تابع با اسمبلی نوشتم که عملیات تفریق رو شبیه سازی میکنه .... این فقط یک مثال برای از بین رفتن ابهامات شما در رباطه با اسمبلی و دلفی هستش ...


function Sub(x:integer;y:integer):integer;
var
a:integer;
begin
asm
mov ecx,x;
sub ecx,y;
mov a,ecx;
end;
Sub:=a;
end;

نحوه ی فراخوانی تابع


procedure TForm1.Button1Click(Sender: TObject);
begin
/// ASM Demo in Delphi 32 ( MSoft - Team )
ShowMessage(IntToStr(Sub(10,3)));
end;

یا حق ...

nouri2015
یک شنبه 01 اردیبهشت 1387, 16:10 عصر
کتاب مزیدی اطلاعات کامل راجع به پورتها دارد شما کافیه برای خواندن و نوشتن داده روی پورت از دستور اسمبلی در دلفی استفاده بکنید

mr13668248
شنبه 23 آبان 1394, 13:50 عصر
این مسئله قبلا بررسی شده

vahidenglish
چهارشنبه 28 تیر 1396, 14:51 عصر
سلام به همگی .
می خواهم مطلبی در مورد برنامه نویسی شیی گرا به زبان اسمبلی تحت دلفی 6 بگویم . اما گویا این تاپیک خیلی قدیمی است و امکان دارد مدیر محترم سایت پست مرا بدلیل انقضای تاریخ حذف کند و به من هشدار دهد . اصلا دوست ندارم چنین اتفاقی بیفتد . چون هدف من آموزش است . اگر این پست حذف می شود همین حالا بگویید .

vahidenglish
چهارشنبه 28 تیر 1396, 15:53 عصر
سلام .
من سالها قبل متوجه شدم که دیباگر دلفی 6 دستورات اسمبلی معادل با هر دستور دلفی را علنا به کاربر نشان می دهد .
کنجکاو شدم و تصمیم گرفتم تحت حالتهای مختلف دستورات اسمبلی معادل با دستورات دلفی را کشف کنم .
پس از مدتی توانستم بجای هر دستور زبان پاسکال دلفی 6 دستورات معادلشان به زبان اسمبلی را بنویسم .
نتیجه ی ازمایشات خیلی مهیج بود . من از دلفی 6 بعنوان یک ویژوال اسمبلی قدرتمند شی گرای هوشمند اتوماتیک برای تولید برنامه های زبان اسمبلی استفاده می کردم . متاسفانه شرکت بورلند این خاصیت جالب را در دلفی 7 و 8 از بین برد . الان هم از هیج جای اینترنت نمی توان دلفی 6 را دانلود کرد . نمی دانم چرا شرکتهای نرم افزاری از زبان اسمبلی متنفرند . واقعا اسمبلی مظلومترین زبان برنامه نویسی جهان است .
شاید این پست ربطی به عنوان تاپیک نداشته باشد ولی امیدوارم مدیران محترم سایت انرا حذف نکنند .

typeman9
شنبه 12 اسفند 1396, 11:32 صبح
سلام
نمی دونم چرا همه سعی می کنند زبان اسمبلی را بکوبند و تحقیر کنند. اسمبلی یک زبان برنامه نویسی همه منظوره و انعطاف پذیره . حقیقتا اسمبلی بسیار قویتر و کاملتر از زبانهای پاسکال و سی و سی پلاس پلاسه . همه ی زبانهای سطح بالای سیستمی توسط اسمبلی اختراع شدند. هنوز هم اسمبلی کاربردهای فروانی داره . من مخالف زبانهای سطح بالا نیستم ولی اسمبلی در هیچ زمینه ای شما رو محدود نمیکنه و شما دستتون کاملا بازه .
در مورد کاربرد اسمبلی در دلفی میشه راحت با دیباگر دلفی 6 هر دستور پاسکال را به همراه دستورات معادلش در اسمبلی مشاهده کرد و یادداشت کرد و بعدا بجای پاسکال از دستورات اسمبلی که توی دیباگر دیدیم استفاده کنیم .
هیچ نیازی به زبانهای سی و سی پلاس پلاس نداریم . اسمبلی هزاران مرتبه از سی و سی پلاس پلاس هوشمندتر و قویتر و کاملتره .
این رو من که محقق زبان اسمبلی هستم و نمونه کارهای برنامه نویسان خارجی رو دیدم میگم .
به سایت اسمبلر FASM مراجعه کنید تا قدرت اسمبلی رو از نزدیک ببینید .

https://flatassembler.net

این اسمبلر و همچنین اسمبلر معروف masm32 کتابخانه های فراوان و استاندارد دارند و میتونند خیلی راحت جایگزین زبان c و ++c بشوند .
با وجود اسمبلر قابل حمل Fasm ما هیچ نیازی به زبان c نداریم .
دوری کردن از زبان اسمبلی کاملا به ضرر خودتونه وگرنه برای من و زبان اسمبلی هیچ فرقی نمیکنه که شما اسمبلی رو بکار گیرید یا بندازید توی سطل آشغال . هرکس تو دنیا علیه زبان اسمبلی گارد بگیره و به خیال خودش اسمبلی رو تحقیر کنه و براش نقطه ضعف بتراشه عملا خودش رو تحقیر کرده و گرنه اسمبلی خدای زبانهای برنامه نویسیه و ککش هم نمیگزه و ذره ای از ارزشهاش کم نمیشه .

GeneralLeang
پنج شنبه 10 مهر 1399, 08:59 صبح
سلام .
من سالها قبل متوجه شدم که دیباگر دلفی 6 دستورات اسمبلی معادل با هر دستور دلفی را علنا به کاربر نشان می دهد .
کنجکاو شدم و تصمیم گرفتم تحت حالتهای مختلف دستورات اسمبلی معادل با دستورات دلفی را کشف کنم .
پس از مدتی توانستم بجای هر دستور زبان پاسکال دلفی 6 دستورات معادلشان به زبان اسمبلی را بنویسم .
نتیجه ی ازمایشات خیلی مهیج بود . من از دلفی 6 بعنوان یک ویژوال اسمبلی قدرتمند شی گرای هوشمند اتوماتیک برای تولید برنامه های زبان اسمبلی استفاده می کردم . متاسفانه شرکت بورلند این خاصیت جالب را در دلفی 7 و 8 از بین برد . الان هم از هیج جای اینترنت نمی توان دلفی 6 را دانلود کرد . نمی دانم چرا شرکتهای نرم افزاری از زبان اسمبلی متنفرند . واقعا اسمبلی مظلومترین زبان برنامه نویسی جهان است .
شاید این پست ربطی به عنوان تاپیک نداشته باشد ولی امیدوارم مدیران محترم سایت انرا حذف نکنند .

سلام من دلفی 6 دارم کجاش باید برم؟؟؟؟