![]() |
|
استفسار عن بعض الاكواد الخاصه بدلفي - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : استفسار عن بعض الاكواد الخاصه بدلفي (/showthread.php?tid=2956) |
استفسار عن بعض الاكواد الخاصه بدلفي - ELARAPY - 29-03-2011 السلام عليكم ورحمة الله وبركاته نرجوا توضيح بعض المعلومات حول هذه الاكواد حيث اني وجدتها في الموضوع http://www.delphi4arab.net/forum/showthread.php?tid=800 الاكواد المراد الاستفسار عنها كود : {
In Borland Pascal and Delphi 1, there is a predefined pseudo variable Port.
In the 32bit versions of Delphi you need 2 lines of assembler code..
}
function InPort(PortAddr:word): byte;
{$IFDEF WIN32}
assembler; stdcall;
asm
mov dx,PortAddr
in al,dx
end;
{$else}
begin
Result := Port[PortAddr];
end;
{$ENDIF}كود : {$ifndef ver80} // Because of 32 bit register use
function GetVendorString: string;
var
aVendor: array[0..2] of DWord;
iI, iJ : Integer;
begin
asm
push ebx
xor eax, eax
dw $A20F // CPUID instruction
mov DWord ptr aVendor, ebx
mov DWord ptr aVendor[+4], edx
mov DWord ptr aVendor[+8], ecx
pop ebx
end;
for iI := 0 to 2 do
for iJ := 0 to 3 do
Result := Result + Chr((aVendor[iI] and ($000000FF shl (iJ * 8))) shr (iJ * 8));
end;
{$endif}استفسار عن بعض الاكواد الخاصه بدلفي - محمد عبد العزيز - 29-03-2011 لتلقى اجابة شافية اسال سؤال محدد - الكود الاول فهي اكواد تجميع Assembly للقراءة من منفذ Port هي قديمة ولا تعمل بالانظمة الحديثة الكود الثاني نفس الشيئ تجميع لاستعمال CPUID لمعرفة معالج الجهاز CPU |