Länge eines arrays bestimmen
-
Ich möchte die Länge eines Arrays in GoAsm bestimmen, aber irgendwie klappt das nicht, und ich finde auch im Netz nichts. Ich hab das wie in der Literatur mit dem $ operatort versicht aber das geht nicht. Gibt es da einen bestimmten Trick, für die Ausgabeanweisung?
Mein Versuch war fiolgender:
String DB '1','2','3','4','5','6','7','8','9' StringLaenge DB $-String
Das soll angeblich die Länge von String ausrechnen.
Wenn ich mir diese auf der Konsole ausgeben lassen will, hab ich das so gemacht:
PUSH -11D CALL GetStdHandle PUSH 0,ADDR RCKEEP MOV EDX,ADDR StringLaenge PUSH 9D,EDX PUSH EAX CALL WriteFile
Das hat aber nicht geklappt, es wird einfach nix ausgegeben. Was ist denn da der Fehler bei meiner Methode??
-
also ich hab mir die goASM doku mal angeschaut und da stand drin, dass $ für die aktuelle adresse steht (ist bei anderen assemblern übrigens auch so). also müsste das auch klappen und $-string wäre jetzt 9. du musst nur noch die zahl die bei stringlaenge steht selbst ausgeben.