assembly language, strange loop -
i'm struggling understand code does
ldi r20, 80 loop: asr r20 brsh loop nop what code doing , how many clock cycles code take execute?
this seems atmel avr assembly code. in loop continues until carry bit of status register set, shifts hexadecimal 80 arithmetically right 1 position r20 takes successive values of 80, c0, e0, f0, f8, fc, fe, ff. until now, low bit has been 0, , value has been shifted carry bit of status register. on next shift, low bit of ff shifted, 1. causes loop exit.
see http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_asr.html on asr instruction.
the net effect cause little delay.
assembly
No comments:
Post a Comment