AVRStudio i bity

Jan 22, 2005 7 Replies

Czy da sie w asemblerze zadeklarowac jakis bit w rejestrze roboczym? Np. w rejestrze r20, zeby mozna zadeklarowac bit 3 pod nazwa "test" , bo cos nie widze takiej mozliwosci, ale moze sie myle? Pozdrawiam Wojtek



  1. Co ma do tego AVRStudio? Asembler to asembler.
  2. Nie ma łatwo. Musisz nadać swoją nazwę rejestrowi (dyrektywa .def) i oddzielnie swoją nazwę numerowi bitu (od 0 do 7, dyrektywa .equ). Wtedy bez problemu można już robić operacje typu "sbi myreg.mybit".

Czy moglbys napisac jak zadeklarowac bit? Deklaruje tak .def rejestr1 =r25 Teraz chcialbym bitowi 5 w tym rejestrze nadac nazwe bit_test Jak to zrobic? Probowalem z dyrektywa .equ ale cos to nie dziala Tak mi teraz przyszlo na mysl czy dla dostepnych instrukcji dla 90s2313 da sie to zrobic- takie bezposrednie odwolanie do konkretnego bitu w rejestrze Pozdrawiam Wojtek

Wojtek snipped-for-privacy@friko6.onet.pl> napisał(a):

Witam . Kolega Adam (zapewne niechcący) pomylił "sbi" z "sbr" i kropkę z przecinkiem:) def mR0 = r16 equ mB0 = 0x01 .. sbr mR0,mB0 cbr mR0,mB0 .. Tak zadziała.

Pozdrawiam Piotrek

Piotrek Sz. snipped-for-privacy@WYTNIJ.gazeta.pl> napisał(a): ..

Coć mi zjadło kropki przed def i equ.

Piotrek

Wojtek snipped-for-privacy@friko6.onet.pl> napisał(a): ..

W/w procek nie obsługuje instr. sbr,cbr ale od czego masz makra ? def register = r25 def test_bit = 0x05 .. macro setbit ori @0,(1<<@1) endm macro clrbit andi @0,~(1<<@1) endm .. setbit register,test_bit clrbit register,test_bit .. Assembler AVRASM ,robi to zresztą automatycznie,czyli dla proca 2313 za sbr podkłada instr. ORI i dla cbr ANDI.

Pozdrawiam Piotrek

Jassne, ostatnio na AVRy głównie męczę C. :)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required