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
AVRStudio i bity
Jan 22, 2005
7 Replies
- Co ma do tego AVRStudio? Asembler to asembler.
- 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
Wielkie dzieki Wojtek
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