Symbol definitions: ------------------- uart = 0xf000 uart_busy = 0x0001 timer = 0xf100 rtc = 0xf200 periph_ctl = 0xf300 irq_ctl = 0xf400 led_display = 0xf500 reset_vector = 0x0 irq_vect = 0x1 ill_inst_vect = 0x2 main = 0x3 loop = 0x13 putch = 0x16 interrupt = 0x1b illegal = 0x1e Program Listing: ---------------- ; test.asm - C16 System On Chip test program ; Copyright (C) 2003 by Cole Design and Development all rights reserved #include org 0 reset_vector: 00000000: 0000000000000011 b main irq_vect: 00000001: 0000000000011011 b interrupt ill_inst_vect: 00000002: 0000000000011110 b illegal main: 00000003: 1100000000000001 mov r0, #1 00000004: 1000111011110101 mov led_display, r0 00000005: 1100000001000011 mov r0, #'C' 00000006: 0000010000010110 bl putch 00000007: 1100000000000010 mov r0, #2 00000008: 1000111011110101 mov led_display, r0 00000009: 1100000001101111 mov r0, #'o' 0000000a: 0000010000010110 bl putch 0000000b: 1100000000000011 mov r0, #3 0000000c: 1000111011110101 mov led_display, r0 0000000d: 1100000001101100 mov r0, #'l' 0000000e: 0000010000010110 bl putch 0000000f: 1100000000000100 mov r0, #4 00000010: 1000111011110101 mov led_display, r0 00000011: 1100000001100101 mov r0, #'e' 00000012: 0000010000010110 bl putch loop: 00000013: 1100111011110010 mov r0, rtc 00000014: 1000111011110101 mov led_display, r0 00000015: 0000000000010011 b loop putch: 00000016: 1101111011110000 mov r1, uart 00000017: 0100100000000001 bit r1, uart_busy 00000018: 0000100000010110 bt putch 00000019: 1000111011110000 mov uart, r0 0000001a: 1111010000000010 mov pc, lr interrupt: 0000001b: 1100000001101001 mov r0, #'i' 0000001c: 0000010000010110 bl putch 0000001d: 0000000000011011 b interrupt illegal: 0000001e: 1100000000100001 mov r0, #'!' 0000001f: 0000010000010110 bl putch 00000020: 0000000000011110 b illegal