basm

    3

    2답변

    나는 32 비트 델파이 BASM 코드를 64 비트 FPC (Win64를 대상 OS)에 포팅하고 다음 명령은 64 비트 FPC에 컴파일되지 않는 이유를 궁금해하고있다 : {$IFDEF FPC} {$ASMMODE INTEL} {$ENDIF} procedure DoesNotCompile; asm LEA ECX,[ECX + ESI + $

    5

    2답변

    내가하고 싶은 것은 어셈블리를 사용하여 클래스 인스턴스를 만들고 그 중 하나를 호출 한 다음 인스턴스를 해제하는 것입니다. 나는 매우 중요한 무엇인가를 놓치고 있고 아마도 매우 간단하다는 것을 알고있다. 그러나 나는 무엇을 모른다. program Project2; {$APPTYPE CONSOLE} uses SysUtils; type

    9

    2답변

    "Using Assembler in Delphi"에 따르면, eax은 Self을 포함 할 것이다. 그러나 표시된대로 eax의 내용은 0입니다. 나는 무엇이 잘못되었는지 궁금하다. procedure TForm1.FormCreate(Sender: TObject); var X, Y: Pointer; begin asm mov X, e

    3

    2답변

    다음 함수는 Delphi 2006에서 작동하지만 Delphi XE2에서는 RET을 처리 할 때 액세스 위반 오류 또는 권한있는 명령어 오류가 발생합니다. function Q_TrimChar(const S: string; Ch: Char): string; asm PUSH ESI MOV ESI,ECX TEST EAX,EAX

    0

    1답변

    필자가 이해하지 못하는 Delphi XE3의 64 비트 인라인 어셈블러를 사용하여이 문제에 부딪혔습니다. 내가 이것을 시도, 그것은 작동 32 비트 및 64 비트 function test(a, b: integer): integer; assembler; register; asm mov eax, a add eax, edx end; 그러

    5

    1답변

    Delphi XE 또는 XE2에서 매우 빠른 Intel POPCNT 명령어를 사용하여 16/32/64 비트 워드 내에 1 비트 수를 구현하려면 어떻게해야합니까? 이 지침에 직접 액세스 할 수있는 라이브러리 루틴이 있습니까? 누군가가 그것의 사용을 보여주는 데모 asm 섹션을 작성해 주실 수 있습니까? 그리고 마지막으로, 64 비트 델파이 (asm을 사용할

    4

    2답변

    Win32, Win64 및 OSX 32에 대해 잘 컴파일되고 작동하는 일부 Delphi/어셈블리 코드가 있습니다. 그러나 Linux에서 작동해야하므로 그것의 FPC 버전 (지금까지 Win32/64, Linux32/64)을 컴파일하는 것을 보았습니다. jmp [email protected] 이것은을 가지고 나타납니다 같은 같은 System 단위 기능을 전

    3

    1답변

    내가 성취하려는 것을 더 잘 설명하려면 먼저 작동하는 것으로부터 시작하겠습니다. 지금은 를 호출 할 수 있습니다 procedure SaySomething(const AValue: string); begin ShowMessage(AValue); end; :이 우리가 호출 절차가 procedure CallSaySomething(AProc: Po

    4

    1답변

    IDA에서 일부 Delphi 어셈블리를 사용하고 있습니다. 그리고 나는 이해할 수없는 많은 시스템 호출을 알아 차렸고, 그들에 대한 문서를 찾을 수 없었습니다. 예 : 알 수없는 함수 LStrClr (void *)에 대한 호출이 많이 있음을 발견했습니다. 가장 좋은 사이트는이 사이트입니다. http://www.delphibasics.co.uk/ByLette

    3

    1답변

    어떻게이 것이 순수 델파이로 바뀌겠습니까? GraphicEx가 필요한 구성 요소를 컴파일 할 수 없어 JPG 단위에서 인라인 어셈블리가 64 비트 용으로 지원되지 않는 오류가 발생합니다. function __ftol: Integer; var f: double; begin asm lea eax, f // BC++ passe