Assembly
Har nog missuppfattat hur man skall tänka när man gör en LSL vid simpla assembly uppgifter. Skulle behöva lite hjälp med hur man skall tänka när man utför en sådan.
deklarationerna är short a,b,c och int vi[18]
vi[c]=(a+b) and 0x0F
svaret till denna uppgift blir en LSL med #2.
kan någon förklara varför det blir det och hur jag ska tänka när jag gör liknande uppgifter i fortsättningen
Kan du visa hela uppgiften? Gäller detta AVR's Logical Shift Left?
Lindehaven skrev:Kan du visa hela uppgiften? Gäller detta AVR's Logical Shift Left?
Jag är lite osäker på vad frågan egentligen gäller, men att göra left-shift är ett snabbt sätt att multiplicera med två, och LSL #2 blir således en multiplikation med fyra (*2*2). Man skulle alltså lika gärna (teoretiskt iallfall) kunna ha haft instruktionen MUL R2,R2,#4
Blev du klokare på det?
Kan du publicera frågan (istället för lösningsförslaget)?