Assembler: Warteschleife von 1000 Takten

Gast #131949
ldi r16, 250   ; 1 takt

loop:
  nop          ; 250 takte ==> jeder befehl 1 takt
  dec r16      ; 250 takte ==> jeder befehl 1 takt
  brne loop    ; 499 takte ==> bei sprung 2 takte, sonst 1er

==> zusammen 1000 takte

oder du lädst mit 248 oder 249 und dann kannste noch nen müll wie ret
und so einbauen...

sollteste aber selbst nochmal durchrechnen

dave
Gast #131950
Hallo Klaus und Dave,

danke für Eure Code-Fragmente. Hatte zuerst in Codesammlungen gefragt,
weil mir das logisch vorkam. Beim herumsuchen und lesen hatte ich dann
mehrmals gelesen, dass Fragen dort wohl nicht hinein gehören. Also
hatte ich dann noch mal im Microcontroler gefragt und sehr gute
Antworten bekommen und gleich erflogreich ausprobiert.

Aber Eure Lösungen zeigen mal wieder, dass viele Wege nach Rom
führen:-)

Viele Grüsse
Karl
Gast #1023338
Hallo zusammen,

ich programmiere ein kartenspiel dafür benötige ich ein zufallsgeneator. 
wie binde ich einen zufallsgenerator mit ein?

gruß Krishan
Gast #1023425
Hi,

ich hatte mal einen Doppelwürfel mit asm programmiert.
Für die Würfelzahlen hatte ich einen Timer laufen, der im 
schnellstmöglichen Takt von 0..5 gezählt hat (bzw. 1..6). Wenn einer 
eine Taste gedrückt hat, hab ich die aktivierende Flanke der Taste 
genutzt um Würfel 1 mit dem derzeitigen Counterwert zu laden und die 
deaktivierende Flanke (Taste loslassen) holt den Counterwert für für den 
2. Würfelwert. Die Ausgabe über LEDs erfolgte erst, nach dem die Taste 
wieder losgelassen wurde. Somit lag der Zufallsfaktor bei Nutzer, bzw. 
wann man die Taste drückt und loslässt.
Hat prima funktioniert und keiner trifft mit gezieltem Drücken einen 
bestimmten Counterwert, wenn der Counter mit paar MHz rennt. Auch wenn 
es viele versucht haben :-)

Gruß
RoK

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.