Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Asm i dostęp do bitów zmiennej bajtowej

henryk251
-
-
Posty:1
Rejestracja:17 mar 2007, o 17:42
Lokalizacja:ns
Asm i dostęp do bitów zmiennej bajtowej

Postautor: henryk251 » 17 mar 2007, o 17:46

Witam

Proszę o pomoc - fragment programu poniżej, zasada banalna, jednak nie dziala - dlaczego?
Kompiluje się bez problemów, jednak nie zmienia stanu bitu. To samo napisane w bascomie działa bez problemów. Gdzie tkwi problem?
Wersja bascoma 2.0.11.0.

Dim Sw_table As Byte

Do
clr {sw_table}.1
setb {sw_table}.1
Loop

Pozdrawiam
Henryk

szymel
-
-
Posty:212
Rejestracja:16 sty 2005, o 16:42
Lokalizacja:Włocławek

Re: Asm i dostęp do bitów zmiennej bajtowej

Postautor: szymel » 17 mar 2007, o 20:10

... Gdzie tkwi problem?...
W odmiennym adresowaniu bajtu oraz bitu.
Zakładając , że Twoja zmienna typu Byte zajmuje komórkę o adresie &H21 , to instrukcja ...

Kod: Zaznacz cały

sbit {zmienna}
... ustawi bit nr. &h21(33 decymalnie) w przestrzeni adresowanej bitowo , czyli bit nr. 1 w komórce o adresie &H24.Jedyną możliwość jaką widzę , znać adres zmiennej , a adresy jej bitów obliczyć "ręcznie" , bo Bascom-owy kompilator assemblera tego nie obliczy.Jest konieczne , by Bascom umieścił tę zmienną pod adresem nie mniejszym niź &H20(32dec) i nie wyższym niź &H2F(47dec) :(
Obliczyć adres bitu w takiej zmiennej , można np.
(adres_zmiennej - 32) * 8 + numer_bitu.

Piotrek

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości