Einzelnen Beitrag anzeigen

Amicello

Registriert seit: 12. Sep 2016
11 Beiträge
 
#1

Inline Assembler: CALL

  Alt 12. Sep 2016, 17:33
Hallo,

seit einigen Tagen hat mich Delphi als Programmiersprache begeistert, ganz einfach durch den Inline Assembler.
Leider scheitert es an scheinbar trivialen Dingen:
z.B. bei soetwas:

push eax
call 006F0B4F

Hier meldet der Compiler beim Call: "error in numeric constant"

call $006F0B4F
Compiler meldet: "invalid combination of opcode and operand"

call 0x006F0B4F
Compiler meldet: "invalid combination of opcode and operand"

call 006F0B4Fh
Compiler meldet: "invalid combination of opcode and operand"


Wie macht man es denn in Delphi nun richtig?
Ein Freund der schon länger mit der Sprache arbeitet, macht es so mit einem Umweg:

mov ecx,$006F0B4F
Call ecx

Das funktioniert - kann aber nicht der Weisheit letzter schluss sein.
Hier muss es doch eine korrekte Schreibweise für absolute Addresssen geben.
Kann hier jemand weiterhelfen?

Geändert von Amicello (12. Sep 2016 um 17:36 Uhr)
  Mit Zitat antworten Zitat