Einzelnen Beitrag anzeigen

Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
482 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Write bzw. WriteLn von Assembler aufrufen

  Alt 10. Mär 2018, 19:35
Update: Okay, ich habe es jetzt hinbekommen. Der Code sieht so mit ShortString und ohne Zeigervariable aus. Man braucht den Operator OFFSET:

Delphi-Quellcode:
var
  S: ShortString;
begin
  S := 'Test';
  asm
    MOV EAX,OFFSET Output
    MOV EDX,OFFSET S
    CALL System.@Write0String
    CALL System.@WriteLn
    CALL System.@_IOTest
    //CALL System.@ReadLn
    //CALL System.@_IOTest
  end;
  Readln;
end.
Wenn ich jetzt aber den Aufruf von ReadLn auch in Assembler tätigen will, erhalte ich beim Aufruf von __IOTest immer einen Fehler. Warum, kann ich nicht Sagen, denn wenn ich mir die Debug-CPU ansehe, sieht das da genauso aus (bis auf den Redundanten Aufruf von MOV EAX..., allerdings auch mit kriege ich einen I/O-Fehler). Kannst du mir evtl. sagen was ich falsch mache?

Danke!
Dennis
  Mit Zitat antworten Zitat