[تمرين] : عمل محاكاة للدالة rgb
#22
هههه .. عذراً على عدم تركيزي ... فانا ابرمج برنامج الآن P:

PHP كود :
function MakeRGB(R,G,B : Byte):Cardinal ;
begin
  Result 
:= B * $10000;
  
asm
    MOV EAX
,0
    MOV EAX
,Result
    MOV AH
,G
    MOV AL
,R
    MOV Result
,EAX
  end
;
end;

function 
GetRValue_T(RGB : Cardinal):Byte ;
begin
  asm
    MOV EAX
,RGB
    MOV Result
,AL
  end
;
end;

function 
GetGValue_T(RGB : Cardinal):Byte ;
begin
  asm
    MOV EAX
,RGB
    MOV Result
,AH
  end
;
end;

function 
GetBValue_T(RGB : Cardinal):Byte ;
begin
  Result 
:= RGB div $10000;
end; 

حل آخر لـ MakeRGB
PHP كود :
function MakeRGB(R,G,B : Byte):Cardinal ;
begin
  asm
    MOV EAX
,0
    MOV AL
,B
    MOV ECX
,$10000
    MUL EAX
,ECX
    MOV AL
,G
    MOV CX
,$100
    MUL AX
,CX
    MOV AL
,R
    MOV Result
,EAX
  end
;
end; 

أعتقدت ان هناك طريقة لتصغير كود الاسمبلي ... فانا لم اكتب دوال اسمبلي من قبل P:
لذلك لم اعرف ان البار متراات تتوجه إلى المسجلات تلقائياً ... او بعمنى اصح لا اعرف اي المسجل يحتوب R او G أو B

شكراً على التعديل Smile
------

إقتباس :شيئ آخر أخي ALmuhhnad الدالة MakeRGB .. تعمل على 32 بت فقط !!!
ان كنت تمتلك نظام 64 بت , فجرب أن تقوم بتحويلها .
لا للاسف لا املك ... اضن ذلك يرجع لإختلاف الاوامر او سعة المسجلات في 64
الرد


الردود في هذا الموضوع
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 28-04-2013, 06:39 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 29-04-2013, 04:46 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة virtual - 29-04-2013, 11:36 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 30-04-2013, 12:00 AM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 30-04-2013, 12:30 AM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة virtual - 30-04-2013, 10:41 AM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 30-04-2013, 11:08 AM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة virtual - 30-04-2013, 01:41 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 30-04-2013, 02:20 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 30-04-2013, 02:22 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 03:09 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 03:16 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 05:30 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 05:56 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 06:01 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة ALmuhhnad - 01-05-2013, 06:19 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 06:43 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 06:46 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 09:24 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 01-05-2013, 09:46 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 02-05-2013, 12:25 AM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 02-05-2013, 02:36 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 03-05-2013, 02:01 AM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 05-05-2013, 02:12 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 05-05-2013, 02:43 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 05-05-2013, 03:38 PM
[تمرين] : عمل محاكاة للدالة rgb - بواسطة SMP3 - 06-05-2013, 05:42 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم