-
-
Erfahrener Benutzer
Roboter Genie
Hi!
If, else, for, do usw. sind Hochsprachenbefehle! Dafür gibt es kein Pendant in Assembler! Die entsprechenden Funktionen musst Du Dir aus einzelnen Befehlen zusammenbauen.
Bsp.: If x=0 then code
- kopiere x in r16: ldi r16, x
- vergleiche mit 0: cpi r16, 0
- springe nach"Gleich" wenn gleich: breq Gleich
- sonst mache was anderes: anderer Code
Gleich ist dabei ein Label.
Da Du sowas nicht zu wissen scheinst, empfehle ich dringend ein Buch oder ähnliches. In diesem Forum kann Dir das Programmieren an sich keiner erklären. Das ist einfach zu viel.
Bit 3 in Register r16 wird mit Bit 3 von Register r17 zb so gesetzt:
Isoliere Bit 3 in r17: andi r17, 0b00001000
übertrage isoliertes Bit in r16: or r16, r17
Das hab ich jetzt schnell runtergeschrieben, Richtigkeit garantiere ich nicht.
Gruß
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen