; CC1B Ver 0.5A beta, Copyright (c) B Knudsen Data ; C compiler for the Ubicom SX family ; ************ 24. Jun 2002 11:40 ************* device SX28 PCL EQU $02 Carry EQU 0 Zero_ EQU 2 i EQU $08 t EQU $09 p EQU $0B si EQU $0C strID EQU $08 ci EQU $0D ; FILE sx\demo-rom.c ;// DATA STORED IN PROGRAM MEMORY ; ;#pragma chip SX28 // select device ; ; ;// THE 'const' TYPE MODIFIER IS RECOMMENDED FOR ALL ROM DATA ;const int16 tx[10] = { 1, 2, 1000, -34, -30000, 2, 100, 23, 0, 0}; ; ;const char str[] = "String 1"; ; ;const struct { ; const char *str; ;} txtp[] = { ; "A table of pointer to strings", ; "Monday", "Tuesday", ; "MyString", ; "MyString", // equal strings and substrings are merged to save space ; "String", // merged with substring ;}; ; ; ;// NOTE: const data that are not read are NOT stored! ;const char notAccessed[] = "This data is removed because it is not read"; ; ;void sub(uns8 i) ;{ _const1 MOV ci,W MOV W,#101 MOV W,ci-W SNB 3.Carry RETW 0 MOV W,ci ADD PCL,W RETW 1 RETW 0 RETW 2 RETW 0 RETW 232 RETW 3 RETW 222 RETW 255 RETW 208 RETW 138 RETW 2 RETW 0 RETW 100 RETW 0 RETW 23 RETW 0 RETW 0 RETW 0 RETW 0 RETW 0 RETW 83 RETW 116 RETW 114 RETW 105 RETW 110 RETW 103 RETW 32 RETW 49 RETW 0 RETW 35 RETW 65 RETW 72 RETW 80 RETW 80 RETW 82 RETW 65 RETW 32 RETW 116 RETW 97 RETW 98 RETW 108 RETW 101 RETW 32 RETW 111 RETW 102 RETW 32 RETW 112 RETW 111 RETW 105 RETW 110 RETW 116 RETW 101 RETW 114 RETW 32 RETW 116 RETW 111 RETW 32 RETW 115 RETW 116 RETW 114 RETW 105 RETW 110 RETW 103 RETW 115 RETW 0 RETW 77 RETW 111 RETW 110 RETW 100 RETW 97 RETW 121 RETW 0 RETW 84 RETW 117 RETW 101 RETW 115 RETW 100 RETW 97 RETW 121 RETW 0 RETW 77 RETW 121 RETW 83 RETW 116 RETW 114 RETW 105 RETW 110 RETW 103 RETW 0 RETW 72 RETW 101 RETW 108 RETW 108 RETW 111 RETW 32 RETW 119 RETW 111 RETW 114 RETW 108 RETW 100 RETW 0 sub MOV i,W ; // reading the 'const' table ; int16 t = tx[i]; CLRB 3.Carry MOV W,<