Q&A

  • 어셈블리의 값을 델파이에 불려올수 있나요?
아래의 eax의 값이 변할때마다 메세지 창을 띄울수 있나요?



procedure TForm1.Button1Click(Sender: TObject);

begin

asm mov eax,ebx end;

ShowMessage(eax);

end;



end

2  COMMENTS
  • Profile
    도지성 2001.02.02 19:56


    변할 때마다 메시지를 띄운다는게..

    어떤 뜻인지는 몰라도..



    아래의 소스에서 의도 하는 방법으로

    EAX 를 출력하려면 다음과 같이 하면 됩니다.



    procedure TForm1.Button1Click(Sender: TObject);

    var

    eax : DWORD;

    begin

    asm

    mov eax, ebx

    mov &eax, eax // 이줄을 추가

    end;

    ShowMessage( Format( 'EAX = 0x%u', [eax] ));

    end;



    이렇게 하면 eax 의 레지스터의 값이

    델파이 변수인 eax 로 들어 옵니다.





    배움이 wrote:

    > 아래의 eax의 값이 변할때마다 메세지 창을 띄울수 있나요?

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > begin

    > asm mov eax,ebx end;

    > ShowMessage(eax);

    > end;

    >

    > end

  • Profile
    서록 2001.02.02 19:38
    조금만 바꿔보시죠.

    바로 참조가 아닌 변수에 담아 사용하기로요.

    procedure TForm1.Button1Click(Sender: TObject);

    var

    asmeax: Integer;

    begin

    asm

    mov asmeax, ebx

    end;

    showmessage(Inttostr(asmeax));

    end;





    배움이 wrote:

    > 아래의 eax의 값이 변할때마다 메세지 창을 띄울수 있나요?

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > begin

    > asm mov eax,ebx end;

    > ShowMessage(eax);

    > end;

    >

    > end