Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ldi r16, 25
- mov r8, r16
- call IsEightTendie
- pop r1
- call EndLoop
- .org 0x26
- IsEightTendie:
- sts 0x0100, r16
- sts 0x0101, r17 ; this might be considered safe but who knows where the stack pointer
- sts 0x0102, r1 ; could be before executing this subroutine in some other application
- pop r16
- pop r17
- push r8 ;r8 is on the stack preserving it's value
- lsr r8
- brbs 0, IsNotDivisible
- lsr r8
- brbs 0, IsNotDivisible
- lsr r8
- brbs 0, IsNotDivisible
- pop r8
- eor r1, r1 ;sets this to zero
- com r1 ; sets to 0xFF
- push r1 ; r1 is on the stack ;return FF
- push r17
- push r16
- lds r16, 0x0100
- lds r17, 0x0101
- lds r1, 0x0102
- ret
- .org 0x75
- IsNotDivisible: ;ret 0
- pop r8
- eor r1, r1
- push r1
- push r17
- push r16
- lds r16, 0x0100
- lds r17, 0x0101
- lds r1, 0x0102
- ret
- .org 0x100
- EndLoop:
- rjmp EndLoop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement