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.


Anmelden zum Antworten