; PROJECT "test" data 10 constant: DROM 55, 33,3a,5b,01,4f rxbuf: DRAM 16 txbuf: DRAM 16 message: DROM 12, 99, 45, 2a, 5c, 0, 0d, 0a reset: jmp start inc R14 mov R8, R15 mov R15, #00 add R15, R14 mov R15, R8 reti nop nop nop const1: equ 01 const2: equ 02 const3: equ 03 const4: equ EF const5: equ BE org 10 f1: f2: inc R13 ret start: mov R11, message nop ; This is a comment: mov R0, #00 mov R1, const1 mov R2, const2 mov R3, const3 mov R4, const4 mov R5, const5 mov R6, #06 mov R7, #07 mov R8, #08 mov R9, #09 mov R10, #10 mov R11, #65 mov R12, #12 mov R13, #40 mov R14, #00 mov R15, #15 movx (#21), R5 movx (R14), #65 tst R0 tst R5 shr R13 shr R13 shl R13 shl R13 ror R13 ror R13 ror R13 ror R13 ror R13 ror R13 ror R13 ror R13 ror R13 ror R13 ror R13 ror R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 rol R13 ror R15 ror R15 ror R15 ror R15 halt nop mov R8, #80 mov R15, #00 shl R8 rolc R15 rol R15 rol R15 rol R15 rol R15 rol R15 rol R15 rol R15 xor R9, #08 or R6, #50 and R15, #51 cmp R0, #00 jne error jlt error jgt error jne error jeq ok10 jmp error ok10: jle ok11 jmp error ok11: jge ok12 jmp error ok12: cmp R1, #00 jeq error jlt error jgt ok20 ok20: jne ok21 ok21: jge ok22 jmp error ok22: cmp R11 #64 jeq error cmp R11 #65 jle ok30 jmp error ok30: jge ok31 jmp error ok31: jgt error jlt error cmp R11 #66 jle ok40 jmp error ok40: jgt error jge error jlt label2 jmp error label2: movx (const4), R10 linit: mov R2, #10 mov R1, #01 loop: sub R2, R1 jnz loop jmp sub sub: mov R15, #20 push R15 mov R8, #01 call f1 call f2 call stub mov R7, const4 pop R15 mov R15, R7 jmp linit nop nop nop stub: mov R0, #00 L2: movx (R0), R7; add R0, #02 sub R15, #01; Subtract jnz L2 ; exit, if zero movx R5, (#09) movx R7, (R0) ret error: nop jmp error