5 svar
103 visningar
erikerik är nöjd med hjälpen!
erikerik 48
Postad: 22 aug 2018

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

Lindehaven 204
Postad: 22 aug 2018

Kan du visa hela uppgiften? Gäller detta AVR's Logical Shift Left?

erikerik 48
Postad: 22 aug 2018

Lindehaven 204
Postad: 23 aug 2018
Lindehaven skrev:

Kan du visa hela uppgiften? Gäller detta AVR's Logical Shift Left?

jek7 25
Postad: 24 aug 2018

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?

PeterÅ 1053
Postad: 2 sep 2018

Kan du publicera frågan (istället för lösningsförslaget)?

Svara Avbryt
Close