Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- lis r5, 0x806D
- ori r5, r5, 0xFC80 // hid
- lhz r5, 0(r5)
- xor r14, r14, r14 // counter to check all directions
- lis r27, 0x80E6
- ori r27, r27, 0x17A8
- lis r30, 0x9080
- ori r30, r30, 0x0
- lfs f17, 0(r30) // load a float from memory to change speed
- lfs f18, 0(r27)
- andi. r9, r5, 1
- cmpwi r9, 1
- beq f_sub
- right:
- addi r14, r14, 1
- andi. r9, r5, 2
- cmpwi r9, 2
- beq f_add
- down:
- addi r14, r14, 1
- addi r27, r27, 8
- lfs f18, 0(r27)
- andi. r9, r5, 4
- cmpwi r9, 4
- beq f_add
- up:
- addi r14, r14, 1
- andi. r9, r5, 8
- cmpwi r9, 8
- bne end
- f_sub:
- fsub f18, f18, f17
- b f_write
- f_add:
- fadd f18, f18, f17
- f_write:
- stfs f18, 0(r27)
- b check_press
- end:
- blr
- check_press:
- cmpwi r14, 0
- beq right
- cmpwi r14, 1
- beq down
- cmpwi r14, 2
- beq up
- blr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement