PDA

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



saeed_d
شنبه 20 تیر 1383, 22:31 عصر
سلام خدمت همه دوستان
اگه ممکنه روش و قالب کلی برنامه نویسی اسمبلی در دلفی را توضیح دهید.
متشکرم :wink:

hotice
یک شنبه 21 تیر 1383, 00:20 صبح
با عرض سلام
اسمبلی که در دلفی استفاده میشود Asm32 است و با اسمبلی داس کمی فرق دارد(از لحاظ متغیر ها و حافظه ها)

Begin
Asm

End;
End;
این هم قالب کلی بین asm و end دستورات اسمبلی مینویسیم.

procedure outToPort(portAddr : smallint ; value : smallint);
var
byteValue : Byte;
begin
byteValue := Byte(value);
asm
push dx
mov dx,portAddr
mov al, byteValue
out dx,al
pop dx
end;
end;

function inFromPort(portAddr : smallint) : smallint;
var
byteValue : byte;
begin
asm
push dx
mov dx, portAddr
in al,dx
mov byteValue,al
pop dx
end;
inFromPort := smallint(byteValue) and $00FF;
end;
این هم تو اینترنت برات پیداکردم.
موفق باشی. :)

said ali
یک شنبه 21 تیر 1383, 10:39 صبح
با سلام
در این مورد تجربه کمی دارم و تقاضا دارم اساتید راهنمایی کنند ولی اگر اشتباه نکنم توضیح دستورات فوق به صورت زیر است:
push : که موجب میشه مقدار فعلی یک ثبات(registry ) یه جایی ثبت بشه که با فراخانی دستور pop دوباره همون مقدار رو بگیره و این جوری اطلاعات گم نمیشه.
pop: که توضیحش داده شد.
mov: که مقدار یه متغیر را به درون یک ثبات میفرستد و معکوس.
ثبات al : که کارایی خاصی دارد و اطلاعات ورودی خروجی یه گذری از این ثبات همیشه دارند مثلا به محض فشردن کلیدی از کیبورد کد اسکس آن وارد این ثبات میشود.
in و out : که همانجور که پیداست برای ارتباط با پورتها میباشد.
البته این مقدار بسیار بسیار بسیار جزیی در مورد اسمبلی است. اساتید یاری کنند خیلی بهتر میشود. :wink:

nasr
دوشنبه 22 تیر 1383, 21:09 عصر
دوستانی که با اسمبلی کار کردند یه کمی در مورد اون توضیح بدهند ممنون می شم :flower: