Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .global main
- main:
- stmfd sp!, {lr}
- bl clrscr
- mov r1, #10
- mov r2, #10
- mov r3, #75
- mov r4, #85
- mov r11, #2400
- bl lineNoClip
- ldr r4, .KEY_ESC
- bl key_pause
- ldmfd sp!, {pc}
- lineNoClip:
- stmfd sp!, {lr}
- mov r7, #1
- subs r5, r3, r1
- rsbmi r5, r5, #0
- rsbmi r7, r7, #0
- mov r8, #1
- subs r6, r4, r2
- rsbpl r6, r6, #0
- rsbmi r8, r8, #0
- add r9, r5, r6
- lineloop:
- bl setPixelNoClip
- cmp r1, r3
- cmpeq r2, r4
- beq endlineloop
- add r10, r9, r9
- cmp r10, r6
- addge r9, r9, r6
- addge r1, r1, r7
- cmp r10, r5
- addle r9, r9, r5
- addle r2, r2, r8
- b lineloop
- endlineloop:
- ldmfd sp!, {pc}
- key_pause:
- stmfd sp!, {lr}
- pauseloop:
- mov r0, r4
- bl isKeyPressed
- cmp r0, #0
- beq pauseloop
- ldmfd sp!, {lr}
- clrscr:
- stmfd sp!, {lr}
- mov r0, #0xC0000000
- ldr r0, [r0, #0x10]
- mov r1, #0
- mov r2, #0
- mov r11, #0
- clrscrloop:
- bl setPixelNoClip
- add r1, r1, #1
- cmp r1, #320
- blt clrscrloop
- mov r1, #0
- add r2, r2, #1
- cmp r2, #240
- blt clrscrloop
- ldmfd sp!, {pc}
- setPixel:
- cmp r1, #0
- bxlt lr
- cmp r1, #320
- bxge lr
- cmp r2, #0
- bxlt lr
- cmp r2, #240
- bxge lr
- setPixelNoClip:
- stmfd sp!, {r0}
- add r0, r0, r1, lsl #1
- add r0, r0, r2, lsl #9
- add r0, r0, r2, lsl #7
- strh r11, [r0]
- ldmfd sp!, {r0}
- bx lr
- .LK:
- .align 2
- .KEY_ESC:
- .word .LANCHOR0
- .section .rodata
- .align 2
- .set .LANCHOR0,. + 0
- .type KEY_NSPIRE_ESC, %object
- .size KEY_NSPIRE_ESC, 20
- KEY_NSPIRE_ESC:
- .word 28
- .word 128
- .word 28
- .word 128
- .byte 0
- .space 3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement