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

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