Variablen definition beim AT89S8252

Gast #150050
Lesenswert?
• ▲
▼
byte      EQU       000H
benennt die speicherzelle 0 im ram mit dem namen "byte". d.h. du
ordnest der zelle nur einen namen zu.
anstatt   MOV     000H, #5
kannst du also schreiben
          MOV     byte, #5
damit wird dein programm lesbarer.

der 8252er hat auch einen bit-adressierbaren bereich. du musst ihm also
zuerst mitteilen, wo deine bitvariable lokalisiert ist.
wo der bereich liegt weiß ich im moment nicht auswendig, du kannst aber
im datenblatt (www.atmel.com) nachsehen.
dies geschieht eben dann nicht mit EQU sondern mit BIT!!!

danach erst kannst du die variable manipulieren - das geschieht mit
SETB    is_a     (entspricht is_a = 1)
bzw.
CLR     is_a     (entspricht is_a = 0)

leo
Gast #150051
Lesenswert?
• ▲
▼
Was mich jetzt noch stört ist, dass ich bisa jetzt denn equ befehl
genommen habe um einer Variablen einen wert zuzuweisen und das hat
immer funktioniert

z.B. CR equ XXh  für z.b ein Delete Zeichen

war das jetzt nur zufall das es geklappt hat oder war des schon korrekt
so?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.