.cseg ldi r16, 0x01 ldi r17, 0x01 add r16,r17 cpi r16,0xFF brge greater jmp less greater:inc r1 jmp done less: jmp done done: jmp done
I'm writing some assembly code in AVR studio 4, and I'm not sure how the branch works. When I compare r16 (which should have the value 2) with the value 255 in hex, the branch brge (greater than or equal to) jumps to the "greater" label, which then increments r1 to indicate that the value was greater than 255. This doesn't make sense as 2 is not greater than 255. What am I doing wrong?