Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- #include libText.txt
- #include libDraw.txt
- #global main
- main:
- call initializeDraw
- mov fp, sp
- addi sp, sp, 8
- movi r1, 128
- movi r2, 8
- initLoop:
- subi r2, r2, 1
- wrr r1, fp, r2
- bne r2, r0, initLoop
- mainLoop:
- call clearScreen
- movi r1, 127
- movi r2, 127
- rd r3, fp, 0
- call drawCircle
- ;draw a square
- rd r1, fp, 0
- rd r2, fp, 1
- rd r3, fp, 2
- rd r4, fp, 3
- call drawLine
- rd r1, fp, 2
- rd r2, fp, 3
- rd r3, fp, 4
- rd r4, fp, 5
- call drawLine
- rd r1, fp, 4
- rd r2, fp, 5
- rd r3, fp, 6
- rd r4, fp, 7
- call drawLine
- rd r1, fp, 6
- rd r2, fp, 7
- rd r3, fp, 0
- rd r4, fp, 1
- call drawLine
- ;draw inner square
- rd r1, fp, 0
- rd r2, fp, 1
- rd r3, fp, 2
- rd r4, fp, 3
- add r1, r1, r3
- sri r1, r1, 1
- add r2, r2, r4
- sri r2, r2, 1
- rd r3, fp, 2
- rd r4, fp, 3
- rd r5, fp, 4
- rd r6, fp, 5
- add r3, r3, r5
- sri r3, r3, 1
- add r4, r4, r6
- sri r4, r4, 1
- call drawLine
- rd r1, fp, 2
- rd r2, fp, 3
- rd r3, fp, 4
- rd r4, fp, 5
- add r1, r1, r3
- sri r1, r1, 1
- add r2, r2, r4
- sri r2, r2, 1
- rd r3, fp, 4
- rd r4, fp, 5
- rd r5, fp, 6
- rd r6, fp, 7
- add r3, r3, r5
- sri r3, r3, 1
- add r4, r4, r6
- sri r4, r4, 1
- call drawLine
- rd r1, fp, 4
- rd r2, fp, 5
- rd r3, fp, 6
- rd r4, fp, 7
- add r1, r1, r3
- sri r1, r1, 1
- add r2, r2, r4
- sri r2, r2, 1
- rd r3, fp, 6
- rd r4, fp, 7
- rd r5, fp, 0
- rd r6, fp, 1
- add r3, r3, r5
- sri r3, r3, 1
- add r4, r4, r6
- sri r4, r4, 1
- call drawLine
- rd r1, fp, 6
- rd r2, fp, 7
- rd r3, fp, 0
- rd r4, fp, 1
- add r1, r1, r3
- sri r1, r1, 1
- add r2, r2, r4
- sri r2, r2, 1
- rd r3, fp, 0
- rd r4, fp, 1
- rd r5, fp, 2
- rd r6, fp, 3
- add r3, r3, r5
- sri r3, r3, 1
- add r4, r4, r6
- sri r4, r4, 1
- call drawLine
- rd r1, fp, 0
- addi r1, r1, 7
- andi r1, r1, 255
- wr r1, fp, 0
- rd r1, fp, 1
- addi r1, r1, 5
- andi r1, r1, 255
- wr r1, fp, 1
- rd r1, fp, 2
- addi r1, r1, 5
- andi r1, r1, 255
- wr r1, fp, 2
- rd r1, fp, 3
- subi r1, r1, 7
- andi r1, r1, 255
- wr r1, fp, 3
- rd r1, fp, 4
- subi r1, r1, 7
- andi r1, r1, 255
- wr r1, fp, 4
- rd r1, fp, 5
- subi r1, r1, 5
- andi r1, r1, 255
- wr r1, fp, 5
- rd r1, fp, 6
- subi r1, r1, 5
- andi r1, r1, 255
- wr r1, fp, 6
- rd r1, fp, 7
- addi r1, r1, 7
- andi r1, r1, 255
- wr r1, fp, 7
- rd r5, r0, GLOBAL_NUMPAD_OUT
- addi r5, r5, 1
- wr r5, r0, GLOBAL_NUMPAD_OUT
- movi r6, 15000
- delayLoop:
- subi r6, r6, 1
- bne r6, r0, delayLoop
- br mainLoop
- halt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement