Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void io_write(__reg("r0") short, __reg("r1") short) =
- "\tmov\tA, r0\n"
- "\tmov\tX, A\n"
- "\tmov\tA, r1\n"
- "\tiowr\tA, [X]\n"
- "1:\n"
- "\tcc\tior\n"
- "\tb.nz\t1b\n"
- "\tnop\n";
- static void
- clear_screen(void)
- {
- short io_ptr = 0x8000;
- int n = 16384;
- do {
- io_write(io_ptr, 0);
- io_ptr++;
- } while (--n);
- }
- .text
- l1:
- mov A, X
- std A, [Y--]
- mov A, r8
- std A, [Y--]
- mov A, r9
- std A, [Y--]
- imm $128
- mov A, $0
- mov r8, A
- imm $64
- mov A, $0
- mov r9, A
- l8:
- mov A, r8
- mov r0, A
- mov A, $0
- mov r1, A
- mov A, r0
- mov X, A
- mov A, r1
- iowr A, [X]
- 1:
- cc ior
- b.nz 1b
- nop
- inc r8, r8
- dec r9, r9
- imm $hi(l8)
- ba.nz $lo(l8)
- nop
- ldd A, [Y++, $1]
- mov r9, A
- ldd A, [Y++, $1]
- mov r8, A
- ldd A, [Y++, $1]
- mov X, A
- bax
- mov A, $0
- .text
- _entry:
- mov A, X
- std A, [Y--]
- imm $(hi(l1))
- bal $(lo(l1))
- nop
- ldd A, [Y++, $1]
- mov X, A
- bax
- mov A, $0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement