Bascom Funktion in Assembler umwandeln

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Bascom Funktion in Assembler umwandeln

      Hallo Assembler-Entwickler,

      ich habe eine Funktion "Sekunden in Uhrzeit umwandeln" geschrieben, aber es frisst zu viel Speicher.

      Da ich weiß dass Assembler- Routinen platzsparender ist, aber ich zu blöd bin die Sprache zu verstehen, brauche ich euer Hilfe.


      BASCOM Source Code

      1. Function Timeout(_sek_ As Word) As String
      2. Local Txt As String * 8
      3. Local W_wert As Word
      4. Local Buffer As Word
      5. W_wert = _sek_
      6. If W_wert > 3599 Then
      7. Buffer = W_wert / 3600
      8. Txt = Str(buffer) + ":"
      9. Buffer = Buffer * 3600
      10. W_wert = W_wert - Buffer
      11. Else
      12. Txt = "0:"
      13. End If
      14. If W_wert > 59 Then
      15. Buffer = W_wert / 60
      16. If Buffer < 10 Then Txt = Txt + "0"
      17. Txt = Txt + Str(buffer)
      18. Txt = Txt + ":"
      19. Buffer = Buffer * 60
      20. W_wert = W_wert - Buffer
      21. Else
      22. Txt = Txt + "00:"
      23. End If
      24. If W_wert < 10 Then Txt = Txt + "0"
      25. Txt = Txt + Str(w_wert)
      26. Timeout = Txt
      27. End Function
      Display All
      Es würde mir sehr freuen das einer mir diese Bascom-Code Assembler umschreiben/umwandeln könnte.

      Mit freundlichen Grüße

      Patrick_cpp
    • Die Time()- Funktion habe schon probiert, aber beim Printen hat es nicht Ordnungsgemäß angezeigt.
      Es hat immer merkwürdige Sprünge gemacht hat. Mal Minuten, Mal Stunden.

      Diese Funktion hatte ich am Anfang:

      BASCOM Source Code

      1. Function Timeout(_sek_ As Long) As String
      2. Local Txt As String * 8
      3. Txt = Time(_sek_)
      4. Timeout = Right(Txt , 7)
      5. End Function

      Wie geschrieben ich hätte gerne Time() gerne genutzt, aber wenn es Falsche Zeit anzeigt, bringt mir das nichts :(

      Gruß
      Patrick_cpp
    • Wenn man time verwenden will, dann muss man beim dimmen der Variablen für die Sekunden, Minuten und Stunden auf die Reihenfolge aufpassen. Liegt da vielleicht der Fehler?
      In der Hilfe steht da zB. Dim Bsec As Byte , Bmin As Byte AT Bsec + 1 , Bhour As Byte AT Bmin +1
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------