Bascom Funktion in Assembler umwandeln

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • 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-Quellcode

      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
      Alles anzeigen
      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-Quellcode

      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

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

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