Skip to content

Instantly share code, notes, and snippets.

@libbkmz
Created March 18, 2013 12:23
Show Gist options
  • Save libbkmz/5186801 to your computer and use it in GitHub Desktop.
Save libbkmz/5186801 to your computer and use it in GitHub Desktop.
.DEF A=r31
.DEF B=r30
.DEF C=r29
.DEF D=r27
.DEF E=r25
.DEF F=r28
.DEF G=r24
.DEF I=r26
.DEF TMP1=r20
.DEF TMP2=r21
START:
// variant 7
ldi A, 22
ldi B, 142
ldi C, 62
ldi D, 48
ldi G, 0b00000100
ldi E, 2
// computing F:
// A+(B-2*C)
mov TMP1, C
ldi TMP2, 2
mul TMP1, TMP2
mov TMP1, r0
mov TMP2, B
sub TMP2, TMP1
mov TMP1, A
add TMP1, TMP2
// saving computed result to F
mov F, TMP1
// compare F with D
cp F, D
brge BIGGER
brlt LOWER
BIGGER:
ldi I, 9
rjmp NEXT_1
LOWER:
ldi I, 12
rjmp NEXT_1
NEXT_1:
mov TMP1, E
mul TMP1, I
mov TMP1, r0
// getting bit value of G
cp TMP1, G
brcs EQ
brcc NEQ
// setting result value
EQ:
ldi r20, 0b11111111
rjmp START
NEQ:
ldi r20, 0b00000000
rjmp START
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment