Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Assembler] Zahl aus Register in String umwandeln (https://www.delphipraxis.net/101712-%5Bassembler%5D-zahl-aus-register-string-umwandeln.html)

Zacherl 17. Okt 2007 19:28


[Assembler] Zahl aus Register in String umwandeln
 
Hey,

wie kann ich mit MASM32 eine Zahl aus einem Register z.b. eax in einen string umwandeln, den ich dann beispielsweise mit WriteConsole ausgeben kann?

Gruß

Win32.API 17. Okt 2007 19:35

Re: [Assembler] Zahl aus Register in String umwandeln
 
Guck dir mal den Zusammenhang von den Zahlen und ihrem Ascii-Code an.

Mark90 17. Okt 2007 19:46

Re: [Assembler] Zahl aus Register in String umwandeln
 
hi,

bei delpih würde ich das so machen. wenn string schon im reg ist. außerdem

Delphi-Quellcode:
integer eax_reg_int;
String rsesult;

asm
  mov eax_reg_int, eax
end;

rsesult := IntToStr(eax_reg_int);
vielleicht hilft dirs

Zacherl 17. Okt 2007 19:54

Re: [Assembler] Zahl aus Register in String umwandeln
 
@Mark90: Ja IntToStr gibts leider nur in Delphi. Ich schreibe grade ein natives Assembler Programm in MASM32.
@Win32.API: Mh hast du eventuell noch einen Tipp? Denn wenn ich den ASCII Code der Zahl ermittele muss ich ja Zeichenweise vorgehen. Wie kann ich die Zahl im Register in ihre Einzelteile zerlegen?

Win32.API 17. Okt 2007 19:59

Re: [Assembler] Zahl aus Register in String umwandeln
 
MOD/DIV sind deine freunde

(iVal mod 10)
(iVal div 10)

Progman 17. Okt 2007 20:12

Re: [Assembler] Zahl aus Register in String umwandeln
 
hm, ich glaub das ist gar nicht so schwer, jeder Disassembler macht das, und zeigt Registerinhalte als Text an, nur mir fällt das jetzt auch nicht ein, ist zu lange her, dass ich ASM gemacht habe. Zacherl, durchforste doch mal Beispielcodes, die dem MASM32 beiliegen, ob da nicht was dabei ist?

Muetze1 17. Okt 2007 20:29

Re: [Assembler] Zahl aus Register in String umwandeln
 
Zitat:

Zitat von Win32.API
MOD/DIV sind deine freunde

(iVal mod 10)
(iVal div 10)

Das schöne dabei: die DIV Instruktion rechnet den Modulo Wert direkt mit aus...

Win32.API 17. Okt 2007 20:36

Re: [Assembler] Zahl aus Register in String umwandeln
 
Da hast du natuerlich recht, hatte es gerade nur theroretisch durchdacht und nicht auf asm uebertragen :cheers:

Progman 17. Okt 2007 20:49

Re: [Assembler] Zahl aus Register in String umwandeln
 
Diese Codeschnipsel gibt schon mal eine Zahl aus:
...
mov bytecount, rv(filesize,ADDR fname) ; use "filesize" procedure
print "Size of WINDOWS.INC = "
print str$(bytecount)," bytes",13,10 ; display the results
...

Ist das die Richtung, die du suchst?

Zacherl 17. Okt 2007 22:21

Re: [Assembler] Zahl aus Register in String umwandeln
 
Ah sowas wie das str$() Makro hatte ich gesucht :) Vielen Dank. Erspart mir das selbst implementieren in diesem Falle ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz