Zolw2305 Napisano Czerwiec 21, 2010 Udostępnij Napisano Czerwiec 21, 2010 Witam, zaczynam programować w assemblerze i mam mały problem. Chciałbym wczytać stan trzech wejść, za pomocą instrukcji in Rd,P, gdzie Rd - rejestr przeznaczenia, P - adres portów. Stany które chciałbym wczytać znajdują się na pinach PB1, PB0 i PD6 i nie wiem jak wpisać to do instrukcji, np. in r30,... i co dalej? Da się stany na 2 różnych portach (B i D) wczytać do 1 rejestru? (uC - Attiny2313) Cytuj Link do komentarza Share on other sites More sharing options...
szimon Czerwiec 21, 2010 Udostępnij Czerwiec 21, 2010 Do rejestru wczytujesz stan portu, a nie konkretnych wyprowadzeń. Najpierw definiujesz port jako wejście: ldi r16, 0x00 out DDRB, r16 następnie sczytujesz stan wyprowadzeń portu: in r17, PINB Nie da się wczytać do jednego rejestru stanu wyprowadzeń różnych portów, w każdym razie nie ma takiej komendy. Możesz wczytać do dwóch rejestrów stan obu portów (PINB i PIND), a potem przy użyciu kilku działań logicznych umieścić np. na trzech najstarszych bitach jednego rejestru stany wyprowadzeń kolejno PB0, BP1, PD6. Cytuj Link do komentarza Share on other sites More sharing options...
Zolw2305 Czerwiec 22, 2010 Autor tematu Udostępnij Czerwiec 22, 2010 Nie da się wczytać do jednego rejestru stanu wyprowadzeń różnych portów, w każdym razie nie ma takiej komendy. Możesz wczytać do dwóch rejestrów stan obu portów (PINB i PIND), a potem przy użyciu kilku działań logicznych umieścić np. na trzech najstarszych bitach jednego rejestru stany wyprowadzeń kolejno PB0, BP1, PD6. Dzięki, o to właśnie mi chodziło. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!