ايران ويج

نسخه‌ی کامل: اسمبلی در دلفی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
خواندن و نوشتن پورت ها با دستورات اسمبلی
کد:
Procedure WritePortOut(wPort, Value: Word);
var
  bValue: Byte;
Begin
  bValue := Trunc(Value and 255);
  Asm
    MOV DX, wPort
    MOV AL, bValue
    OUT DX, AL
  End;
End;

Function ReadPortIn(wPort: Word): Word;
var
  bValue: Byte;
Begin
  Asm
    MOV DX, wPort
    IN AL, DX
    MOV bValue, AL
  End;
  ReadPortIn := bValue;
End;

جمع دو عدد با یک دیگر
کد:
Function Sum(X, Y: Integer): Integer; stdcall;//Fastcall // جمع دو عدد را حساب می کند
begin
asm
MOV EAX,X
ADD EAX,Y
MOV @Result,EAX
end;
End;

ضرب دو عدد با یک دیگر
کد:
Function LongMul(X, Y: Integer): Longint; // ضرب دو عدد را حساب می کند
asm
MOV EAX,X
IMUL Y
end;
سلام
کی می توتنه در دلفی با کد اسمبلی از تکس(edit)دو عدد بگیرد وجمع کند ودر تکس دیگر نمایش بدهد
یک باتن و سه تکس
متشکرم
سلام.
کد:
Function Assembly(A,B:Integer): Integer;
Begin
ASM
   MOV EAX,A
   MOV EBX,B
   ADD EAX,EBX
   MOV @Result,EAX
END;
End;



procedure TForm1.Button1Click(Sender: TObject);
begin
Edit3.Text:=IntToStr(Assembly(StrToInt(Edit1.Text),StrToInt(Edit2.Text)))
end;