jump befehl (schieberegister)

Gast #1088269
Lesenswert?

hallo zusammen,

komme nicht weiter unzwar sollen 8 led lampen durch 1 sekunde erzeugt 
werden.......dann springt (jmp) es von hinten - vorne

es handelt sich um schieberegister....

ich habe es so gemacht ,aber ich bin mir nicht sicher ob es stimmt,


Zeit von 1s:

µ8 mov R8,#08
µ7 mov R7,#FFh
µ6 mov R6,#FFh
µ5 mov R5,#FFh
µ4 mov R4,#FFh
µ3 mov R3,#FFh
µ2 mov R2,#FFh
µ1 mov R1,#FFh
DJNZ R1, µ1
DJNZ R2, µ2
DJNZ R3, µ3
DJNZ R4, µ4
DJNZ R5, µ5
DJNZ R6, µ6
DJNZ R7, µ7
DJNZ R8, µ8
JMP µ; Springt zum anfang zurück
#1089108
Lesenswert?

bocajuniors wrote:
> ich habe es so gemacht ,aber ich bin mir nicht sicher ob es stimmt,

Dann simuliere es doch einfach.
Läuft es überhaupt fehlerfrei durch den Assembler?

Wenn Du Hilfe willst, dann wirf uns nicht so lustlos ein paar 
Codebrocken hin, wie dem Hund einen Knochen.

Du mußt schon beschreiben, was Du Dir dabei gedacht hast und die Zeilen 
kommentieren.

Hast Du überhaupt erstmal nen Ablaufplan gemacht?
Man fängt ja einen Hausbau auch nicht mit dem Dachboden an.


Peter
Gast #1616571
Lesenswert?

Wenn du eine Zeitschleife in Assembler brauchst 1s bei 1MHz:

; =============================
;    Warte
;     1000000 Zyklen:
; -----------------------------
; warte 999999 Zyklen:
          mov  R17, #09h
µ0  mov  R18, #BCh
µ1  mov R19, #C4h
µ2  djnz r19, µ2
    djnz r18, µ1
    djnz r17, µ0
; -----------------------------
; warte 1 Zyklus:
          nop
; =============================


bei 2 MHz musst du halt die schleife für 1s 2-mal ausführen usw....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren