URL
https://opencores.org/ocsvn/atlas_core/atlas_core/trunk
Subversion Repositories atlas_core
Compare Revisions
- This comparison shows the changes necessary to convert path
/atlas_core
- from Rev 33 to Rev 34
- ↔ Reverse comparison
Rev 33 → Rev 34
/trunk/asm/atlas_asm.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/asm/src/main.cpp
887,7 → 887,19
if ((input_string[0] == '0') and (input_string[1] == 'X')){ |
for(i=0; i<31; i++) |
input_string[i] = input_string[i+2]; |
imm = 16*hexc_to_int(input_string[0]) + hexc_to_int(input_string[1]); |
imm = -1; |
if (input_string[1] == '\0'){ // one hex char |
imm = 1*hexc_to_int(input_string[0]); |
} |
else if (input_string[2] == '\0'){ // two hex chars |
imm = 16*hexc_to_int(input_string[0]) + 1*hexc_to_int(input_string[1]); |
} |
else if (input_string[3] == '\0'){ // three hex chars |
imm = 256*hexc_to_int(input_string[0]) + 16*hexc_to_int(input_string[1]) + 1*hexc_to_int(input_string[2]); |
} |
else { // four hex chars |
imm = 4096*hexc_to_int(input_string[0]) + 256*hexc_to_int(input_string[1]) + 16*hexc_to_int(input_string[2]) + 1*hexc_to_int(input_string[3]); |
} |
goto skip_analysis; |
} |
|
1786,9 → 1798,9
else if (strcmp(arg[0], "POP") == 0) // pop from negative growing stack |
opcode = (1<<14) | (0<<13) | (1<<12) | (1<<11) | (0<<10) | (conv_reg(arg[1], line)<<7) | (6<<4) | (1<<3) | (2<<0); |
|
// Direct memory initialization - WORD |
// Direct memory initialization |
// --------------------------------------------------------------------------------------------------------- |
else if (strcmp(arg[0], ".DW") == 0) // memory init |
else if (strcmp(arg[0], ".DW") == 0) // memory init (word) |
opcode = conv_imm(arg[1], (int)(pow(2,16)-1), line); |
|
// Conditional move instructions |
1904,7 → 1916,7
int p_size = 0; |
int i = 0; |
|
printf("ATLAS 2k Assembler, Version 2014.05.03\n"); |
printf("ATLAS 2k Assembler, Version 2014.05.11\n"); |
printf("by Stephan Nolting (stnolting@gmail.com), Hanover, Germany\n"); |
printf("www.opencores.org/project,atlas_core\n\n"); |
|
/trunk/rtl/BOOT_MEM.vhd
3,7 → 3,7
-- # **************************************************** # |
-- # 2kB ROM initialized with Atlas-2k bootloader. # |
-- # **************************************************** # |
-- # Last modified: 04.05.2014 # |
-- # Last modified: 15.05.2014 # |
-- # **************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################## |
53,7 → 53,7
000007 => x"ec8a", -- MCR |
000008 => x"cc19", -- LDIH |
000009 => x"ed0f", -- MCR |
000010 => x"c528", -- LDIL |
000010 => x"c520", -- LDIL |
000011 => x"c907", -- LDIH |
000012 => x"be73", -- BL |
000013 => x"bc00", -- B |
91,15 → 91,15
000045 => x"ec22", -- MRC |
000046 => x"d406", -- SBR |
000047 => x"ed0a", -- MCR |
000048 => x"c53c", -- LDIL |
000048 => x"c534", -- LDIL |
000049 => x"c905", -- LDIH |
000050 => x"be4d", -- BL |
000051 => x"c132", -- LDIL |
000051 => x"c12a", -- LDIL |
000052 => x"c906", -- LDIH |
000053 => x"be4a", -- BL |
000054 => x"ee11", -- MRC |
000055 => x"be4c", -- BL |
000056 => x"c142", -- LDIL |
000056 => x"c13a", -- LDIL |
000057 => x"c906", -- LDIH |
000058 => x"be45", -- BL |
000059 => x"ee97", -- MRC |
114,13 → 114,13
000068 => x"c330", -- LDIL |
000069 => x"0b60", -- ADD |
000070 => x"bc0f", -- B |
000071 => x"c55a", -- LDIL |
000071 => x"c552", -- LDIL |
000072 => x"c906", -- LDIH |
000073 => x"be36", -- BL |
000074 => x"c14c", -- LDIL |
000074 => x"c144", -- LDIL |
000075 => x"c907", -- LDIH |
000076 => x"be33", -- BL |
000077 => x"c512", -- LDIL |
000077 => x"c50a", -- LDIL |
000078 => x"c907", -- LDIH |
000079 => x"be30", -- BL |
000080 => x"be32", -- BL |
143,7 → 143,7
000097 => x"c0b4", -- LDIL |
000098 => x"181e", -- CMP |
000099 => x"8021", -- BEQ |
000100 => x"c29c", -- LDIL |
000100 => x"c296", -- LDIL |
000101 => x"ca83", -- LDIH |
000102 => x"c0f0", -- LDIL |
000103 => x"181e", -- CMP |
150,8 → 150,8
000104 => x"f705", -- RBAEQ |
000105 => x"c0e4", -- LDIL |
000106 => x"181e", -- CMP |
000107 => x"80e4", -- BEQ |
000108 => x"c2d0", -- LDIL |
000107 => x"80e1", -- BEQ |
000108 => x"c2c8", -- LDIL |
000109 => x"ca85", -- LDIH |
000110 => x"c0f7", -- LDIL |
000111 => x"181e", -- CMP |
164,52 → 164,52
000118 => x"cc80", -- LDIH |
000119 => x"ec99", -- MCR |
000120 => x"3400", -- GT |
000121 => x"c152", -- LDIL |
000121 => x"c14a", -- LDIL |
000122 => x"c906", -- LDIH |
000123 => x"be04", -- BL |
000124 => x"2800", -- CLR |
000125 => x"2100", -- STUB |
000126 => x"bca3", -- B |
000127 => x"bc98", -- B |
000128 => x"bc98", -- B |
000129 => x"bc98", -- B |
000130 => x"bc98", -- B |
000131 => x"bc9b", -- B |
000132 => x"c530", -- LDIL |
000126 => x"bca0", -- B |
000127 => x"bc95", -- B |
000128 => x"bc95", -- B |
000129 => x"bc95", -- B |
000130 => x"bc95", -- B |
000131 => x"bc98", -- B |
000132 => x"c528", -- LDIL |
000133 => x"c906", -- LDIH |
000134 => x"be91", -- BL |
000135 => x"be99", -- BL |
000134 => x"be8e", -- BL |
000135 => x"be96", -- BL |
000136 => x"edca", -- MCR |
000137 => x"be97", -- BL |
000137 => x"be94", -- BL |
000138 => x"edc9", -- MCR |
000139 => x"c03e", -- LDIL |
000139 => x"c036", -- LDIL |
000140 => x"c805", -- LDIH |
000141 => x"3404", -- GTL |
000142 => x"be8a", -- BL |
000143 => x"be90", -- BL |
000142 => x"be87", -- BL |
000143 => x"be8d", -- BL |
000144 => x"c47e", -- LDIL |
000145 => x"cc4a", -- LDIH |
000146 => x"180e", -- CMP |
000147 => x"8489", -- BNE |
000148 => x"be8b", -- BL |
000147 => x"8486", -- BNE |
000148 => x"be88", -- BL |
000149 => x"3f64", -- SFT |
000150 => x"2066", -- STUB |
000151 => x"be88", -- BL |
000151 => x"be85", -- BL |
000152 => x"20e6", -- STUB |
000153 => x"be86", -- BL |
000153 => x"be83", -- BL |
000154 => x"2166", -- STUB |
000155 => x"be84", -- BL |
000155 => x"be81", -- BL |
000156 => x"21e6", -- STUB |
000157 => x"be82", -- BL |
000157 => x"be7f", -- BL |
000158 => x"2266", -- STUB |
000159 => x"be80", -- BL |
000159 => x"be7d", -- BL |
000160 => x"22e6", -- STUB |
000161 => x"be7e", -- BL |
000161 => x"be7b", -- BL |
000162 => x"2366", -- STUB |
000163 => x"c280", -- LDIL |
000164 => x"ecda", -- MCR |
000165 => x"ec5e", -- MCR |
000166 => x"be79", -- BL |
000166 => x"be76", -- BL |
000167 => x"7f5a", -- STR |
000168 => x"ec06", -- MRC |
000169 => x"2806", -- EOR |
217,13 → 217,13
000171 => x"2400", -- LDUB |
000172 => x"1858", -- CMP |
000173 => x"85f9", -- BNE |
000174 => x"bc56", -- B |
000174 => x"bc53", -- B |
000175 => x"c100", -- LDIL |
000176 => x"be28", -- BL |
000177 => x"c47e", -- LDIL |
000178 => x"cc4a", -- LDIH |
000179 => x"180d", -- CMP |
000180 => x"8468", -- BNE |
000180 => x"8465", -- BNE |
000181 => x"c102", -- LDIL |
000182 => x"be22", -- BL |
000183 => x"2055", -- STUB |
258,810 → 258,806
000212 => x"2400", -- LDUB |
000213 => x"1848", -- CMP |
000214 => x"85f7", -- BNE |
000215 => x"bc2d", -- B |
000215 => x"bc2a", -- B |
000216 => x"0370", -- MOV |
000217 => x"be42", -- BL |
000217 => x"be3f", -- BL |
000218 => x"3eb0", -- SFT |
000219 => x"0121", -- INC |
000220 => x"be3f", -- BL |
000220 => x"be3c", -- BL |
000221 => x"26d3", -- ORR |
000222 => x"3460", -- RET |
000223 => x"c16a", -- LDIL |
000223 => x"c162", -- LDIL |
000224 => x"c906", -- LDIH |
000225 => x"be36", -- BL |
000226 => x"be38", -- BL |
000227 => x"3c80", -- SFT |
000228 => x"be36", -- BL |
000229 => x"2490", -- ORR |
000230 => x"c47e", -- LDIL |
000231 => x"cc4a", -- LDIH |
000232 => x"1818", -- CMP |
000233 => x"8433", -- BNE |
000234 => x"be27", -- BL |
000235 => x"3c94", -- SFT |
000236 => x"2011", -- STUB |
000237 => x"be24", -- BL |
000238 => x"2091", -- STUB |
000239 => x"be22", -- BL |
000240 => x"2111", -- STUB |
000241 => x"be20", -- BL |
000242 => x"2191", -- STUB |
000243 => x"be1e", -- BL |
000244 => x"2211", -- STUB |
000245 => x"be1c", -- BL |
000246 => x"2291", -- STUB |
000247 => x"be1a", -- BL |
000248 => x"2311", -- STUB |
000249 => x"2ad5", -- CLR |
000250 => x"ecda", -- MCR |
000251 => x"ec5e", -- MCR |
000252 => x"be15", -- BL |
000253 => x"7cda", -- STR |
000254 => x"ec06", -- MRC |
000255 => x"2801", -- EOR |
000256 => x"ec0e", -- MCR |
000257 => x"2400", -- LDUB |
000258 => x"1858", -- CMP |
000259 => x"85f9", -- BNE |
000260 => x"ec11", -- MRC |
000261 => x"ec8a", -- MCR |
000262 => x"c50e", -- LDIL |
000263 => x"c906", -- LDIH |
000264 => x"be0f", -- BL |
000265 => x"ec06", -- MRC |
000266 => x"2491", -- LDUB |
000267 => x"1809", -- CMP |
000268 => x"8015", -- BEQ |
000269 => x"c536", -- LDIL |
000270 => x"c907", -- LDIH |
000225 => x"be33", -- BL |
000226 => x"be2c", -- BL |
000227 => x"c47e", -- LDIL |
000228 => x"cc4a", -- LDIH |
000229 => x"1818", -- CMP |
000230 => x"8433", -- BNE |
000231 => x"be27", -- BL |
000232 => x"3c94", -- SFT |
000233 => x"2011", -- STUB |
000234 => x"be24", -- BL |
000235 => x"2091", -- STUB |
000236 => x"be22", -- BL |
000237 => x"2111", -- STUB |
000238 => x"be20", -- BL |
000239 => x"2191", -- STUB |
000240 => x"be1e", -- BL |
000241 => x"2211", -- STUB |
000242 => x"be1c", -- BL |
000243 => x"2291", -- STUB |
000244 => x"be1a", -- BL |
000245 => x"2311", -- STUB |
000246 => x"2ad5", -- CLR |
000247 => x"ecda", -- MCR |
000248 => x"ec5e", -- MCR |
000249 => x"be15", -- BL |
000250 => x"7cda", -- STR |
000251 => x"ec06", -- MRC |
000252 => x"2801", -- EOR |
000253 => x"ec0e", -- MCR |
000254 => x"2400", -- LDUB |
000255 => x"1858", -- CMP |
000256 => x"85f9", -- BNE |
000257 => x"ec11", -- MRC |
000258 => x"ec8a", -- MCR |
000259 => x"c506", -- LDIL |
000260 => x"c906", -- LDIH |
000261 => x"be0f", -- BL |
000262 => x"ec06", -- MRC |
000263 => x"2491", -- LDUB |
000264 => x"1809", -- CMP |
000265 => x"8015", -- BEQ |
000266 => x"c52e", -- LDIL |
000267 => x"c907", -- LDIH |
000268 => x"be08", -- BL |
000269 => x"bccf", -- B |
000270 => x"0370", -- MOV |
000271 => x"be08", -- BL |
000272 => x"bccf", -- B |
000273 => x"0370", -- MOV |
000274 => x"be08", -- BL |
000275 => x"3c80", -- SFT |
000276 => x"be06", -- BL |
000277 => x"2490", -- ORR |
000278 => x"3460", -- RET |
000279 => x"bccb", -- B |
000280 => x"bcd4", -- B |
000281 => x"bcd8", -- B |
000282 => x"bcdc", -- B |
000283 => x"bc71", -- B |
000284 => x"bcc0", -- B |
000285 => x"bd30", -- B |
000286 => x"bc6f", -- B |
000287 => x"bcc2", -- B |
000288 => x"bcdb", -- B |
000289 => x"c17e", -- LDIL |
000290 => x"c906", -- LDIH |
000291 => x"bebf", -- BL |
000292 => x"24aa", -- LDUBS |
000293 => x"8016", -- BEQ |
000294 => x"c0a2", -- LDIL |
000295 => x"beca", -- BL |
000296 => x"24a2", -- LDUB |
000297 => x"be20", -- BL |
000298 => x"24b3", -- LDUB |
000299 => x"be1e", -- BL |
000300 => x"24c4", -- LDUB |
000301 => x"be1c", -- BL |
000302 => x"24d5", -- LDUB |
000303 => x"be1a", -- BL |
000304 => x"24e6", -- LDUB |
000305 => x"be18", -- BL |
000306 => x"c0a2", -- LDIL |
000307 => x"bebe", -- BL |
000308 => x"beb8", -- BL |
000309 => x"c54e", -- LDIL |
000310 => x"c906", -- LDIH |
000311 => x"beab", -- BL |
000312 => x"ee06", -- MRC |
000313 => x"bee7", -- BL |
000314 => x"beb2", -- BL |
000315 => x"beb1", -- BL |
000316 => x"beb0", -- BL |
000317 => x"beaf", -- BL |
000318 => x"c080", -- LDIL |
000319 => x"ccc0", -- LDIH |
000320 => x"1c01", -- STSR |
000321 => x"2800", -- CLR |
000322 => x"ed0f", -- MCR |
000323 => x"ec88", -- MCR |
000324 => x"ec8b", -- MCR |
000325 => x"ec8c", -- MCR |
000326 => x"ec8a", -- MCR |
000327 => x"ec89", -- MCR |
000328 => x"3400", -- GT |
000329 => x"0370", -- MOV |
000330 => x"3c90", -- SFT |
000331 => x"bea6", -- BL |
000332 => x"3c90", -- SFT |
000333 => x"bea4", -- BL |
000334 => x"3460", -- RET |
000335 => x"c522", -- LDIL |
000336 => x"c906", -- LDIH |
000337 => x"be91", -- BL |
000338 => x"bea9", -- BL |
000339 => x"c13e", -- LDIL |
000340 => x"c905", -- LDIH |
000341 => x"3424", -- GTL |
000342 => x"ecca", -- MCR |
000343 => x"be95", -- BL |
000344 => x"c280", -- LDIL |
000345 => x"c00f", -- LDIL |
000346 => x"2058", -- ANDS |
000347 => x"840e", -- BNE |
000348 => x"be90", -- BL |
000349 => x"c0a4", -- LDIL |
000350 => x"be93", -- BL |
000351 => x"ee12", -- MRC |
000352 => x"bec0", -- BL |
000353 => x"c0ae", -- LDIL |
000354 => x"be8f", -- BL |
000355 => x"0250", -- MOV |
000356 => x"bebc", -- BL |
000357 => x"c0ba", -- LDIL |
000358 => x"be8b", -- BL |
000272 => x"3c80", -- SFT |
000273 => x"be06", -- BL |
000274 => x"2490", -- ORR |
000275 => x"3460", -- RET |
000276 => x"bccb", -- B |
000277 => x"bcd3", -- B |
000278 => x"bcd7", -- B |
000279 => x"bcdb", -- B |
000280 => x"bc71", -- B |
000281 => x"bcc0", -- B |
000282 => x"bd33", -- B |
000283 => x"bc6f", -- B |
000284 => x"bcc2", -- B |
000285 => x"bcda", -- B |
000286 => x"c176", -- LDIL |
000287 => x"c906", -- LDIH |
000288 => x"bebf", -- BL |
000289 => x"24aa", -- LDUBS |
000290 => x"8010", -- BEQ |
000291 => x"c0a2", -- LDIL |
000292 => x"bec9", -- BL |
000293 => x"24a2", -- LDUB |
000294 => x"be20", -- BL |
000295 => x"24b3", -- LDUB |
000296 => x"be1e", -- BL |
000297 => x"24c4", -- LDUB |
000298 => x"be1c", -- BL |
000299 => x"24d5", -- LDUB |
000300 => x"be1a", -- BL |
000301 => x"24e6", -- LDUB |
000302 => x"be18", -- BL |
000303 => x"c0a2", -- LDIL |
000304 => x"bebd", -- BL |
000305 => x"beb7", -- BL |
000306 => x"c546", -- LDIL |
000307 => x"c906", -- LDIH |
000308 => x"beab", -- BL |
000309 => x"ee06", -- MRC |
000310 => x"bee6", -- BL |
000311 => x"beb1", -- BL |
000312 => x"beb0", -- BL |
000313 => x"beaf", -- BL |
000314 => x"beae", -- BL |
000315 => x"c080", -- LDIL |
000316 => x"ccc0", -- LDIH |
000317 => x"1c01", -- STSR |
000318 => x"2800", -- CLR |
000319 => x"ed0f", -- MCR |
000320 => x"ec88", -- MCR |
000321 => x"ec8b", -- MCR |
000322 => x"ec8c", -- MCR |
000323 => x"ec8a", -- MCR |
000324 => x"ec89", -- MCR |
000325 => x"3400", -- GT |
000326 => x"0370", -- MOV |
000327 => x"3c90", -- SFT |
000328 => x"bea5", -- BL |
000329 => x"3c90", -- SFT |
000330 => x"bea3", -- BL |
000331 => x"3460", -- RET |
000332 => x"c51a", -- LDIL |
000333 => x"c906", -- LDIH |
000334 => x"be91", -- BL |
000335 => x"bea8", -- BL |
000336 => x"c136", -- LDIL |
000337 => x"c905", -- LDIH |
000338 => x"3424", -- GTL |
000339 => x"ecca", -- MCR |
000340 => x"be94", -- BL |
000341 => x"c280", -- LDIL |
000342 => x"c00f", -- LDIL |
000343 => x"2058", -- ANDS |
000344 => x"840e", -- BNE |
000345 => x"be8f", -- BL |
000346 => x"c0a4", -- LDIL |
000347 => x"be92", -- BL |
000348 => x"ee12", -- MRC |
000349 => x"bebf", -- BL |
000350 => x"c0ae", -- LDIL |
000351 => x"be8e", -- BL |
000352 => x"0250", -- MOV |
000353 => x"bebb", -- BL |
000354 => x"c0ba", -- LDIL |
000355 => x"be8a", -- BL |
000356 => x"c0a0", -- LDIL |
000357 => x"be88", -- BL |
000358 => x"7a5a", -- LDR |
000359 => x"c0a0", -- LDIL |
000360 => x"be89", -- BL |
000361 => x"7a5a", -- LDR |
000362 => x"c0a0", -- LDIL |
000363 => x"be86", -- BL |
000364 => x"beb4", -- BL |
000365 => x"c00f", -- LDIL |
000366 => x"2058", -- ANDS |
000367 => x"8414", -- BNE |
000368 => x"c0a0", -- LDIL |
000369 => x"be80", -- BL |
000370 => x"be7f", -- BL |
000371 => x"c010", -- LDIL |
000372 => x"1250", -- SUB |
000373 => x"c470", -- LDIL |
000374 => x"2240", -- AND |
000375 => x"c12e", -- LDIL |
000376 => x"78c9", -- LDR |
000377 => x"3c90", -- SFT |
000378 => x"c880", -- LDIH |
000379 => x"c020", -- LDIL |
000380 => x"1818", -- CMP |
000381 => x"f8c2", -- MVHI |
000382 => x"be73", -- BL |
000383 => x"c08f", -- LDIL |
000384 => x"2014", -- AND |
000385 => x"3409", -- TEQ |
000386 => x"85f6", -- BNE |
000387 => x"ec20", -- MRC |
000388 => x"dc0f", -- STB |
000389 => x"b804", -- BTS |
000390 => x"c5fe", -- LDIL |
000391 => x"343d", -- TEQ |
000392 => x"85d1", -- BNE |
000393 => x"be6d", -- BL |
000394 => x"2800", -- CLR |
000395 => x"3400", -- GT |
000396 => x"bc54", -- B |
000397 => x"bc93", -- B |
000398 => x"c001", -- LDIL |
000399 => x"ed0c", -- MCR |
000400 => x"c050", -- LDIL |
000401 => x"c83f", -- LDIH |
000402 => x"ed0a", -- MCR |
000403 => x"c000", -- LDIL |
000404 => x"c801", -- LDIH |
000405 => x"bea9", -- BL |
000406 => x"c15c", -- LDIL |
000360 => x"be85", -- BL |
000361 => x"beb3", -- BL |
000362 => x"c00f", -- LDIL |
000363 => x"2058", -- ANDS |
000364 => x"8414", -- BNE |
000365 => x"c0a0", -- LDIL |
000366 => x"be7f", -- BL |
000367 => x"be7e", -- BL |
000368 => x"c010", -- LDIL |
000369 => x"1250", -- SUB |
000370 => x"c470", -- LDIL |
000371 => x"2240", -- AND |
000372 => x"c12e", -- LDIL |
000373 => x"78c9", -- LDR |
000374 => x"3c90", -- SFT |
000375 => x"c880", -- LDIH |
000376 => x"c020", -- LDIL |
000377 => x"1818", -- CMP |
000378 => x"f8c2", -- MVHI |
000379 => x"be72", -- BL |
000380 => x"c08f", -- LDIL |
000381 => x"2014", -- AND |
000382 => x"3409", -- TEQ |
000383 => x"85f6", -- BNE |
000384 => x"ec20", -- MRC |
000385 => x"dc0f", -- STB |
000386 => x"b804", -- BTS |
000387 => x"c5fe", -- LDIL |
000388 => x"343d", -- TEQ |
000389 => x"85d1", -- BNE |
000390 => x"be6c", -- BL |
000391 => x"2800", -- CLR |
000392 => x"3400", -- GT |
000393 => x"bc54", -- B |
000394 => x"bc92", -- B |
000395 => x"c001", -- LDIL |
000396 => x"ed0c", -- MCR |
000397 => x"c050", -- LDIL |
000398 => x"c83f", -- LDIH |
000399 => x"ed0a", -- MCR |
000400 => x"c000", -- LDIL |
000401 => x"c801", -- LDIH |
000402 => x"bea8", -- BL |
000403 => x"c154", -- LDIL |
000404 => x"c906", -- LDIH |
000405 => x"be4a", -- BL |
000406 => x"c162", -- LDIL |
000407 => x"c906", -- LDIH |
000408 => x"be4a", -- BL |
000409 => x"c16a", -- LDIL |
000410 => x"c906", -- LDIH |
000411 => x"be47", -- BL |
000412 => x"be5a", -- BL |
000413 => x"3c80", -- SFT |
000414 => x"be58", -- BL |
000415 => x"2410", -- ORR |
000416 => x"c4fe", -- LDIL |
000417 => x"ccca", -- LDIH |
000418 => x"1809", -- CMP |
000419 => x"8439", -- BNE |
000420 => x"c100", -- LDIL |
000421 => x"0290", -- MOV |
000422 => x"be2f", -- BL |
000423 => x"be4f", -- BL |
000424 => x"3c80", -- SFT |
000425 => x"be4d", -- BL |
000426 => x"2690", -- ORR |
000427 => x"3ed4", -- SFT |
000428 => x"2055", -- STUB |
000429 => x"c102", -- LDIL |
000430 => x"be27", -- BL |
000431 => x"be47", -- BL |
000432 => x"3c80", -- SFT |
000433 => x"be45", -- BL |
000434 => x"2690", -- ORR |
000435 => x"20d5", -- STUB |
000436 => x"c104", -- LDIL |
000437 => x"be20", -- BL |
000438 => x"c106", -- LDIL |
000439 => x"be3f", -- BL |
000440 => x"0180", -- MOV |
000441 => x"be8b", -- BL |
000442 => x"0121", -- INC |
000443 => x"c010", -- LDIL |
000444 => x"1828", -- CMP |
000445 => x"85fa", -- BNE |
000446 => x"2ad5", -- CLR |
000447 => x"be37", -- BL |
000448 => x"0180", -- MOV |
000449 => x"be83", -- BL |
000450 => x"0121", -- INC |
000451 => x"2400", -- LDUB |
000452 => x"02d1", -- INC |
000453 => x"1858", -- CMP |
000454 => x"85f9", -- BNE |
000455 => x"c001", -- LDIL |
000456 => x"ed0c", -- MCR |
000457 => x"c050", -- LDIL |
000458 => x"c83f", -- LDIH |
000459 => x"ed0a", -- MCR |
000460 => x"c00c", -- LDIL |
000461 => x"c801", -- LDIH |
000462 => x"be70", -- BL |
000463 => x"c50e", -- LDIL |
000464 => x"c906", -- LDIH |
000465 => x"be11", -- BL |
000466 => x"c68e", -- LDIL |
000467 => x"ca80", -- LDIH |
000468 => x"3450", -- GT |
000469 => x"0370", -- MOV |
000470 => x"3dd0", -- SFT |
000471 => x"be6d", -- BL |
000472 => x"0121", -- INC |
000473 => x"01d0", -- MOV |
000474 => x"be6a", -- BL |
000475 => x"3460", -- RET |
000476 => x"c51a", -- LDIL |
000477 => x"c907", -- LDIH |
000478 => x"be04", -- BL |
000479 => x"bcba", -- B |
000480 => x"bc94", -- B |
000481 => x"bca5", -- B |
000482 => x"01f0", -- MOV |
000483 => x"7829", -- LDR |
000484 => x"c080", -- LDIL |
000485 => x"ccff", -- LDIH |
000486 => x"2081", -- AND |
000487 => x"3c98", -- SFTS |
000488 => x"8003", -- BEQ |
000489 => x"be08", -- BL |
000490 => x"bdf9", -- B |
000491 => x"3430", -- RET |
000492 => x"0170", -- MOV |
000493 => x"c08d", -- LDIL |
000494 => x"be03", -- BL |
000495 => x"c08a", -- LDIL |
000496 => x"03a0", -- MOV |
000497 => x"ec22", -- MRC |
000498 => x"dc05", -- STB |
000499 => x"b9fe", -- BTS |
000500 => x"ed18", -- MCR |
000501 => x"3470", -- RET |
000502 => x"ec20", -- MRC |
000503 => x"dc8f", -- STBI |
000504 => x"b9fe", -- BTS |
000505 => x"c800", -- LDIH |
000506 => x"3470", -- RET |
000507 => x"0170", -- MOV |
000508 => x"c200", -- LDIL |
000509 => x"c184", -- LDIL |
000510 => x"bff8", -- BL |
000511 => x"c0c6", -- LDIL |
000512 => x"1809", -- CMP |
000513 => x"9003", -- BMI |
000514 => x"c0a0", -- LDIL |
000515 => x"1001", -- SUB |
000516 => x"c0b0", -- LDIL |
000517 => x"1809", -- CMP |
000518 => x"91f8", -- BMI |
000519 => x"c0c6", -- LDIL |
000520 => x"1818", -- CMP |
000521 => x"91f5", -- BMI |
000522 => x"c0b9", -- LDIL |
000523 => x"1818", -- CMP |
000524 => x"a404", -- BLS |
000525 => x"c0c1", -- LDIL |
000526 => x"1809", -- CMP |
000527 => x"a1ef", -- BHI |
000528 => x"0080", -- MOV |
000529 => x"bfe0", -- BL |
000530 => x"c030", -- LDIL |
000531 => x"1090", -- SUB |
000532 => x"c009", -- LDIL |
000533 => x"1809", -- CMP |
000534 => x"a402", -- BLS |
000535 => x"0497", -- DEC |
000536 => x"3e42", -- SFT |
000537 => x"3e42", -- SFT |
000538 => x"3e42", -- SFT |
000539 => x"3e42", -- SFT |
000540 => x"2641", -- ORR |
000541 => x"05b9", -- DECS |
000542 => x"85e0", -- BNE |
000543 => x"3420", -- RET |
000544 => x"0370", -- MOV |
000545 => x"3d42", -- SFT |
000546 => x"3d22", -- SFT |
000547 => x"3d22", -- SFT |
000548 => x"3d22", -- SFT |
000549 => x"be0f", -- BL |
000550 => x"bfcb", -- BL |
000551 => x"3d40", -- SFT |
000552 => x"be0c", -- BL |
000553 => x"bfc8", -- BL |
000554 => x"3d45", -- SFT |
000555 => x"3d25", -- SFT |
000556 => x"3d25", -- SFT |
000557 => x"3d25", -- SFT |
000558 => x"be06", -- BL |
000559 => x"bfc2", -- BL |
000560 => x"0140", -- MOV |
000561 => x"be03", -- BL |
000562 => x"bfbf", -- BL |
000563 => x"3460", -- RET |
000564 => x"c08f", -- LDIL |
000565 => x"2121", -- AND |
000566 => x"c089", -- LDIL |
000567 => x"181a", -- CMP |
000568 => x"8803", -- BCS |
000569 => x"c0b0", -- LDIL |
000570 => x"bc02", -- B |
000571 => x"c0b7", -- LDIL |
000572 => x"0892", -- ADD |
000573 => x"3470", -- RET |
000574 => x"ed0b", -- MCR |
000575 => x"ec22", -- MRC |
000576 => x"dc03", -- STB |
000577 => x"b9fe", -- BTS |
000578 => x"ec23", -- MRC |
000579 => x"3470", -- RET |
000580 => x"00f0", -- MOV |
000581 => x"c050", -- LDIL |
000582 => x"c837", -- LDIH |
000583 => x"ed0a", -- MCR |
000584 => x"c001", -- LDIL |
000585 => x"ed0c", -- MCR |
000586 => x"c006", -- LDIL |
000587 => x"bff3", -- BL |
000588 => x"c050", -- LDIL |
000589 => x"c83f", -- LDIH |
000590 => x"ed0a", -- MCR |
000591 => x"c000", -- LDIL |
000592 => x"c805", -- LDIH |
000593 => x"bfed", -- BL |
000594 => x"dc01", -- STB |
000595 => x"b805", -- BTS |
000596 => x"c546", -- LDIL |
000597 => x"c907", -- LDIH |
000598 => x"bf8c", -- BL |
000599 => x"bc42", -- B |
000600 => x"c040", -- LDIL |
000601 => x"c83f", -- LDIH |
000602 => x"ed0a", -- MCR |
000603 => x"c001", -- LDIL |
000604 => x"ed0c", -- MCR |
000605 => x"3c20", -- SFT |
000606 => x"c802", -- LDIH |
000607 => x"bfdf", -- BL |
000608 => x"03a0", -- MOV |
000609 => x"cb80", -- LDIH |
000610 => x"3ff0", -- SFT |
000611 => x"0030", -- MOV |
000612 => x"c800", -- LDIH |
000613 => x"2407", -- ORR |
000614 => x"bfd8", -- BL |
000615 => x"2800", -- CLR |
000616 => x"ed0c", -- MCR |
000617 => x"c050", -- LDIL |
000618 => x"c83f", -- LDIH |
000619 => x"ed0a", -- MCR |
000620 => x"c001", -- LDIL |
000621 => x"ed0c", -- MCR |
000622 => x"c000", -- LDIL |
000623 => x"c805", -- LDIH |
000624 => x"bfce", -- BL |
000625 => x"dc00", -- STB |
000626 => x"b9fc", -- BTS |
000627 => x"3410", -- RET |
000628 => x"00f0", -- MOV |
000629 => x"c040", -- LDIL |
000630 => x"c83f", -- LDIH |
000631 => x"ed0a", -- MCR |
000632 => x"c001", -- LDIL |
000633 => x"ed0c", -- MCR |
000634 => x"3c20", -- SFT |
000635 => x"c803", -- LDIH |
000636 => x"bfc2", -- BL |
000637 => x"0020", -- MOV |
000638 => x"c800", -- LDIH |
000639 => x"3c00", -- SFT |
000640 => x"bfbe", -- BL |
000641 => x"29b3", -- CLR |
000642 => x"ed3c", -- MCR |
000643 => x"0180", -- MOV |
000644 => x"c980", -- LDIH |
000645 => x"3410", -- RET |
000646 => x"e5b0", -- CDP |
000647 => x"ec30", -- MRC |
000648 => x"dc06", -- STB |
000649 => x"b9fe", -- BTS |
000650 => x"c306", -- LDIL |
000651 => x"200e", -- ANDS |
000652 => x"840a", -- BNE |
000653 => x"ecb1", -- MRC |
000654 => x"ef32", -- MRC |
000655 => x"2800", -- CLR |
000656 => x"009a", -- INCS |
000657 => x"0f60", -- ADC |
000658 => x"ed99", -- MCR |
000659 => x"edea", -- MCR |
000660 => x"ef34", -- MRC |
000661 => x"3470", -- RET |
000662 => x"c558", -- LDIL |
000663 => x"c907", -- LDIH |
000664 => x"bf4a", -- BL |
000665 => x"c566", -- LDIL |
000666 => x"c907", -- LDIH |
000667 => x"bf47", -- BL |
000668 => x"bf5a", -- BL |
000669 => x"2800", -- CLR |
000670 => x"3400", -- GT |
000671 => x"0170", -- MOV |
000672 => x"bf56", -- BL |
000673 => x"c08d", -- LDIL |
000674 => x"1809", -- CMP |
000675 => x"f702", -- RBAEQ |
000676 => x"c088", -- LDIL |
000677 => x"1809", -- CMP |
000678 => x"8034", -- BEQ |
000679 => x"bdf9", -- B |
000680 => x"c530", -- LDIL |
000681 => x"c906", -- LDIH |
000682 => x"bf38", -- BL |
000683 => x"bf50", -- BL |
000684 => x"edca", -- MCR |
000685 => x"bf4e", -- BL |
000686 => x"edc9", -- MCR |
000687 => x"bff0", -- BL |
000688 => x"bf3c", -- BL |
000689 => x"c53e", -- LDIL |
000690 => x"c906", -- LDIH |
000691 => x"bf2f", -- BL |
000692 => x"bf47", -- BL |
000693 => x"02c0", -- MOV |
000694 => x"bfe9", -- BL |
000695 => x"bf35", -- BL |
000696 => x"345d", -- TEQ |
000697 => x"8021", -- BEQ |
000698 => x"06d1", -- DEC |
000699 => x"bf31", -- BL |
000700 => x"c0a4", -- LDIL |
000701 => x"bf34", -- BL |
000702 => x"ee32", -- MRC |
000703 => x"bf61", -- BL |
000704 => x"ee31", -- MRC |
000705 => x"bf5f", -- BL |
000706 => x"c0ba", -- LDIL |
000707 => x"bf2e", -- BL |
000708 => x"c0a0", -- LDIL |
000709 => x"bf2c", -- BL |
000710 => x"bfc0", -- BL |
000711 => x"0260", -- MOV |
000712 => x"bf58", -- BL |
000713 => x"c320", -- LDIL |
000714 => x"c1ae", -- LDIL |
000715 => x"00e0", -- MOV |
000716 => x"bf25", -- BL |
000717 => x"3cc0", -- SFT |
000718 => x"c880", -- LDIH |
000719 => x"181e", -- CMP |
000720 => x"f8c3", -- MVHI |
000721 => x"bf20", -- BL |
000722 => x"00c0", -- MOV |
000723 => x"c880", -- LDIH |
000724 => x"181e", -- CMP |
000725 => x"f8c3", -- MVHI |
000726 => x"bf1b", -- BL |
000727 => x"eca0", -- MRC |
000728 => x"dc9f", -- STBI |
000729 => x"b9df", -- BTS |
000730 => x"bf12", -- BL |
000731 => x"c69a", -- LDIL |
000732 => x"ca80", -- LDIH |
000733 => x"3450", -- GT |
000734 => x"0d0a", -- .DW |
000735 => x"0d0a", -- .DW |
000736 => x"4174", -- .DW |
000737 => x"6c61", -- .DW |
000738 => x"732d", -- .DW |
000739 => x"324b", -- .DW |
000740 => x"2042", -- .DW |
000741 => x"6f6f", -- .DW |
000742 => x"746c", -- .DW |
000743 => x"6f61", -- .DW |
000744 => x"6465", -- .DW |
000745 => x"7220", -- .DW |
000746 => x"2d20", -- .DW |
000747 => x"5632", -- .DW |
000748 => x"3031", -- .DW |
000749 => x"3430", -- .DW |
000750 => x"3530", -- .DW |
000751 => x"340d", -- .DW |
000752 => x"0a62", -- .DW |
000753 => x"7920", -- .DW |
000754 => x"5374", -- .DW |
000755 => x"6570", -- .DW |
000756 => x"6861", -- .DW |
000757 => x"6e20", -- .DW |
000758 => x"4e6f", -- .DW |
000759 => x"6c74", -- .DW |
000760 => x"696e", -- .DW |
000761 => x"672c", -- .DW |
000762 => x"2073", -- .DW |
000763 => x"746e", -- .DW |
000764 => x"6f6c", -- .DW |
000765 => x"7469", -- .DW |
000766 => x"6e67", -- .DW |
000767 => x"4067", -- .DW |
000768 => x"6d61", -- .DW |
000769 => x"696c", -- .DW |
000770 => x"2e63", -- .DW |
000771 => x"6f6d", -- .DW |
000772 => x"0d0a", -- .DW |
000773 => x"7777", -- .DW |
000774 => x"772e", -- .DW |
000775 => x"6f70", -- .DW |
000776 => x"656e", -- .DW |
000777 => x"636f", -- .DW |
000778 => x"7265", -- .DW |
000779 => x"732e", -- .DW |
000780 => x"6f72", -- .DW |
000781 => x"672f", -- .DW |
000782 => x"7072", -- .DW |
000783 => x"6f6a", -- .DW |
000784 => x"6563", -- .DW |
000785 => x"742c", -- .DW |
000786 => x"6174", -- .DW |
000787 => x"6c61", -- .DW |
000788 => x"735f", -- .DW |
000789 => x"636f", -- .DW |
000790 => x"7265", -- .DW |
000791 => x"0d0a", -- .DW |
000792 => x"0000", -- .DW |
000793 => x"0d0a", -- .DW |
000794 => x"426f", -- .DW |
000795 => x"6f74", -- .DW |
000796 => x"2070", -- .DW |
000797 => x"6167", -- .DW |
000798 => x"653a", -- .DW |
000799 => x"2030", -- .DW |
000800 => x"7800", -- .DW |
000801 => x"0d0a", -- .DW |
000802 => x"436c", -- .DW |
000803 => x"6f63", -- .DW |
000804 => x"6b28", -- .DW |
000805 => x"487a", -- .DW |
000806 => x"293a", -- .DW |
000807 => x"2030", -- .DW |
000808 => x"7800", -- .DW |
000809 => x"426f", -- .DW |
000810 => x"6f74", -- .DW |
000811 => x"696e", -- .DW |
000812 => x"670d", -- .DW |
000813 => x"0a00", -- .DW |
000814 => x"4275", -- .DW |
000815 => x"726e", -- .DW |
000816 => x"2045", -- .DW |
000817 => x"4550", -- .DW |
000818 => x"524f", -- .DW |
000819 => x"4d0d", -- .DW |
000820 => x"0a00", -- .DW |
000821 => x"4177", -- .DW |
000822 => x"6169", -- .DW |
000823 => x"7469", -- .DW |
000824 => x"6e67", -- .DW |
000825 => x"2064", -- .DW |
000826 => x"6174", -- .DW |
000827 => x"612e", -- .DW |
000828 => x"2e2e", -- .DW |
000829 => x"0d0a", -- .DW |
000830 => x"0000", -- .DW |
000831 => x"5374", -- .DW |
000832 => x"6172", -- .DW |
000833 => x"7469", -- .DW |
000834 => x"6e67", -- .DW |
000835 => x"2069", -- .DW |
000836 => x"6d61", -- .DW |
000837 => x"6765", -- .DW |
000838 => x"2000", -- .DW |
000839 => x"446f", -- .DW |
000840 => x"776e", -- .DW |
000841 => x"6c6f", -- .DW |
000842 => x"6164", -- .DW |
000843 => x"2063", -- .DW |
000844 => x"6f6d", -- .DW |
000845 => x"706c", -- .DW |
000846 => x"6574", -- .DW |
000847 => x"650d", -- .DW |
000848 => x"0a00", -- .DW |
000849 => x"5061", -- .DW |
000850 => x"6765", -- .DW |
000851 => x"2028", -- .DW |
000852 => x"3468", -- .DW |
000853 => x"293a", -- .DW |
000854 => x"2024", -- .DW |
000855 => x"0000", -- .DW |
000856 => x"4164", -- .DW |
000857 => x"6472", -- .DW |
000858 => x"2028", -- .DW |
000859 => x"3868", -- .DW |
000860 => x"293a", -- .DW |
000861 => x"2024", -- .DW |
000862 => x"0000", -- .DW |
000863 => x"2377", -- .DW |
000864 => x"6f72", -- .DW |
000865 => x"6473", -- .DW |
000866 => x"2028", -- .DW |
000867 => x"3468", -- .DW |
000868 => x"293a", -- .DW |
000869 => x"2024", -- .DW |
000870 => x"0000", -- .DW |
000871 => x"4368", -- .DW |
000872 => x"6563", -- .DW |
000873 => x"6b73", -- .DW |
000874 => x"756d", -- .DW |
000875 => x"3a20", -- .DW |
000876 => x"2400", -- .DW |
000877 => x"0d0a", -- .DW |
000878 => x"636d", -- .DW |
000879 => x"642f", -- .DW |
000880 => x"626f", -- .DW |
000881 => x"6f74", -- .DW |
000882 => x"2d73", -- .DW |
000883 => x"7769", -- .DW |
000884 => x"7463", -- .DW |
000885 => x"683a", -- .DW |
000886 => x"0d0a", -- .DW |
000887 => x"2030", -- .DW |
000888 => x"2f27", -- .DW |
000889 => x"3030", -- .DW |
000890 => x"273a", -- .DW |
000891 => x"2028", -- .DW |
000892 => x"5265", -- .DW |
000893 => x"2d29", -- .DW |
000894 => x"5374", -- .DW |
000895 => x"6172", -- .DW |
000896 => x"7420", -- .DW |
000897 => x"636f", -- .DW |
000898 => x"6e73", -- .DW |
000899 => x"6f6c", -- .DW |
000900 => x"650d", -- .DW |
000901 => x"0a20", -- .DW |
000902 => x"312f", -- .DW |
000903 => x"2730", -- .DW |
000904 => x"3127", -- .DW |
000905 => x"3a20", -- .DW |
000906 => x"426f", -- .DW |
000907 => x"6f74", -- .DW |
000908 => x"2055", -- .DW |
000909 => x"4152", -- .DW |
000910 => x"540d", -- .DW |
000911 => x"0a20", -- .DW |
000912 => x"322f", -- .DW |
000913 => x"2731", -- .DW |
000914 => x"3027", -- .DW |
000915 => x"3a20", -- .DW |
000916 => x"426f", -- .DW |
000917 => x"6f74", -- .DW |
000918 => x"2045", -- .DW |
000919 => x"4550", -- .DW |
000920 => x"524f", -- .DW |
000921 => x"4d0d", -- .DW |
000922 => x"0a20", -- .DW |
000923 => x"332f", -- .DW |
000924 => x"2731", -- .DW |
000925 => x"3127", -- .DW |
000926 => x"3a20", -- .DW |
000927 => x"426f", -- .DW |
000928 => x"6f74", -- .DW |
000929 => x"206d", -- .DW |
000930 => x"656d", -- .DW |
000931 => x"6f72", -- .DW |
000932 => x"790d", -- .DW |
000933 => x"0a00", -- .DW |
000934 => x"2034", -- .DW |
000935 => x"3a20", -- .DW |
000936 => x"426f", -- .DW |
000937 => x"6f74", -- .DW |
000938 => x"2057", -- .DW |
000939 => x"420d", -- .DW |
000940 => x"0a20", -- .DW |
000941 => x"703a", -- .DW |
000942 => x"2042", -- .DW |
000943 => x"7572", -- .DW |
000944 => x"6e20", -- .DW |
000945 => x"4545", -- .DW |
000946 => x"5052", -- .DW |
000947 => x"4f4d", -- .DW |
000948 => x"0d0a", -- .DW |
000949 => x"2064", -- .DW |
000950 => x"3a20", -- .DW |
000951 => x"5241", -- .DW |
000952 => x"4d20", -- .DW |
000953 => x"6475", -- .DW |
000954 => x"6d70", -- .DW |
000955 => x"0d0a", -- .DW |
000956 => x"2072", -- .DW |
000957 => x"3a20", -- .DW |
000958 => x"5265", -- .DW |
000959 => x"7365", -- .DW |
000960 => x"740d", -- .DW |
000961 => x"0a20", -- .DW |
000962 => x"773a", -- .DW |
000963 => x"2057", -- .DW |
000964 => x"4220", -- .DW |
000965 => x"6475", -- .DW |
000966 => x"6d70", -- .DW |
000967 => x"0d0a", -- .DW |
000408 => x"be47", -- BL |
000409 => x"be59", -- BL |
000410 => x"3c80", -- SFT |
000411 => x"be57", -- BL |
000412 => x"2410", -- ORR |
000413 => x"c4fe", -- LDIL |
000414 => x"ccca", -- LDIH |
000415 => x"1809", -- CMP |
000416 => x"8439", -- BNE |
000417 => x"c100", -- LDIL |
000418 => x"0290", -- MOV |
000419 => x"be2f", -- BL |
000420 => x"be4e", -- BL |
000421 => x"3c80", -- SFT |
000422 => x"be4c", -- BL |
000423 => x"2690", -- ORR |
000424 => x"3ed4", -- SFT |
000425 => x"2055", -- STUB |
000426 => x"c102", -- LDIL |
000427 => x"be27", -- BL |
000428 => x"be46", -- BL |
000429 => x"3c80", -- SFT |
000430 => x"be44", -- BL |
000431 => x"2690", -- ORR |
000432 => x"20d5", -- STUB |
000433 => x"c104", -- LDIL |
000434 => x"be20", -- BL |
000435 => x"c106", -- LDIL |
000436 => x"be3e", -- BL |
000437 => x"0180", -- MOV |
000438 => x"be8a", -- BL |
000439 => x"0121", -- INC |
000440 => x"c010", -- LDIL |
000441 => x"1828", -- CMP |
000442 => x"85fa", -- BNE |
000443 => x"2ad5", -- CLR |
000444 => x"be36", -- BL |
000445 => x"0180", -- MOV |
000446 => x"be82", -- BL |
000447 => x"0121", -- INC |
000448 => x"2400", -- LDUB |
000449 => x"02d1", -- INC |
000450 => x"1858", -- CMP |
000451 => x"85f9", -- BNE |
000452 => x"c001", -- LDIL |
000453 => x"ed0c", -- MCR |
000454 => x"c050", -- LDIL |
000455 => x"c83f", -- LDIH |
000456 => x"ed0a", -- MCR |
000457 => x"c00c", -- LDIL |
000458 => x"c801", -- LDIH |
000459 => x"be6f", -- BL |
000460 => x"c506", -- LDIL |
000461 => x"c906", -- LDIH |
000462 => x"be11", -- BL |
000463 => x"c68e", -- LDIL |
000464 => x"ca80", -- LDIH |
000465 => x"3450", -- GT |
000466 => x"0370", -- MOV |
000467 => x"3dd0", -- SFT |
000468 => x"be6c", -- BL |
000469 => x"0121", -- INC |
000470 => x"01d0", -- MOV |
000471 => x"be69", -- BL |
000472 => x"3460", -- RET |
000473 => x"c512", -- LDIL |
000474 => x"c907", -- LDIH |
000475 => x"be04", -- BL |
000476 => x"bcb9", -- B |
000477 => x"bc93", -- B |
000478 => x"bca4", -- B |
000479 => x"01f0", -- MOV |
000480 => x"78a9", -- LDR |
000481 => x"3c90", -- SFT |
000482 => x"c880", -- LDIH |
000483 => x"3419", -- TEQ |
000484 => x"8003", -- BEQ |
000485 => x"be08", -- BL |
000486 => x"bdfa", -- B |
000487 => x"3430", -- RET |
000488 => x"0170", -- MOV |
000489 => x"c08d", -- LDIL |
000490 => x"be03", -- BL |
000491 => x"c08a", -- LDIL |
000492 => x"03a0", -- MOV |
000493 => x"ec22", -- MRC |
000494 => x"dc05", -- STB |
000495 => x"b9fe", -- BTS |
000496 => x"ed18", -- MCR |
000497 => x"3470", -- RET |
000498 => x"ec20", -- MRC |
000499 => x"dc8f", -- STBI |
000500 => x"b9fe", -- BTS |
000501 => x"c800", -- LDIH |
000502 => x"3470", -- RET |
000503 => x"0170", -- MOV |
000504 => x"c200", -- LDIL |
000505 => x"c184", -- LDIL |
000506 => x"bff8", -- BL |
000507 => x"c0c7", -- LDIL |
000508 => x"1809", -- CMP |
000509 => x"9003", -- BMI |
000510 => x"c0a0", -- LDIL |
000511 => x"1001", -- SUB |
000512 => x"c0b0", -- LDIL |
000513 => x"1809", -- CMP |
000514 => x"91f8", -- BMI |
000515 => x"c0c6", -- LDIL |
000516 => x"1818", -- CMP |
000517 => x"91f5", -- BMI |
000518 => x"c0b9", -- LDIL |
000519 => x"1818", -- CMP |
000520 => x"a404", -- BLS |
000521 => x"c0c1", -- LDIL |
000522 => x"1809", -- CMP |
000523 => x"a1ef", -- BHI |
000524 => x"0080", -- MOV |
000525 => x"bfe0", -- BL |
000526 => x"c030", -- LDIL |
000527 => x"1090", -- SUB |
000528 => x"c009", -- LDIL |
000529 => x"1809", -- CMP |
000530 => x"a402", -- BLS |
000531 => x"0497", -- DEC |
000532 => x"3e42", -- SFT |
000533 => x"3e42", -- SFT |
000534 => x"3e42", -- SFT |
000535 => x"3e42", -- SFT |
000536 => x"2641", -- ORR |
000537 => x"05b9", -- DECS |
000538 => x"85e0", -- BNE |
000539 => x"3420", -- RET |
000540 => x"0370", -- MOV |
000541 => x"3d42", -- SFT |
000542 => x"3d22", -- SFT |
000543 => x"3d22", -- SFT |
000544 => x"3d22", -- SFT |
000545 => x"be0f", -- BL |
000546 => x"bfcb", -- BL |
000547 => x"3d40", -- SFT |
000548 => x"be0c", -- BL |
000549 => x"bfc8", -- BL |
000550 => x"3d45", -- SFT |
000551 => x"3d25", -- SFT |
000552 => x"3d25", -- SFT |
000553 => x"3d25", -- SFT |
000554 => x"be06", -- BL |
000555 => x"bfc2", -- BL |
000556 => x"0140", -- MOV |
000557 => x"be03", -- BL |
000558 => x"bfbf", -- BL |
000559 => x"3460", -- RET |
000560 => x"c08f", -- LDIL |
000561 => x"2121", -- AND |
000562 => x"c089", -- LDIL |
000563 => x"181a", -- CMP |
000564 => x"8803", -- BCS |
000565 => x"c0b0", -- LDIL |
000566 => x"bc02", -- B |
000567 => x"c0b7", -- LDIL |
000568 => x"0892", -- ADD |
000569 => x"3470", -- RET |
000570 => x"ed0b", -- MCR |
000571 => x"ec22", -- MRC |
000572 => x"dc03", -- STB |
000573 => x"b9fe", -- BTS |
000574 => x"ec23", -- MRC |
000575 => x"3470", -- RET |
000576 => x"00f0", -- MOV |
000577 => x"c050", -- LDIL |
000578 => x"c837", -- LDIH |
000579 => x"ed0a", -- MCR |
000580 => x"c001", -- LDIL |
000581 => x"ed0c", -- MCR |
000582 => x"c006", -- LDIL |
000583 => x"bff3", -- BL |
000584 => x"c050", -- LDIL |
000585 => x"c83f", -- LDIH |
000586 => x"ed0a", -- MCR |
000587 => x"c000", -- LDIL |
000588 => x"c805", -- LDIH |
000589 => x"bfed", -- BL |
000590 => x"dc01", -- STB |
000591 => x"b805", -- BTS |
000592 => x"c53e", -- LDIL |
000593 => x"c907", -- LDIH |
000594 => x"bf8d", -- BL |
000595 => x"bc42", -- B |
000596 => x"c040", -- LDIL |
000597 => x"c83f", -- LDIH |
000598 => x"ed0a", -- MCR |
000599 => x"c001", -- LDIL |
000600 => x"ed0c", -- MCR |
000601 => x"3c20", -- SFT |
000602 => x"c802", -- LDIH |
000603 => x"bfdf", -- BL |
000604 => x"03a0", -- MOV |
000605 => x"cb80", -- LDIH |
000606 => x"3ff0", -- SFT |
000607 => x"0030", -- MOV |
000608 => x"c800", -- LDIH |
000609 => x"2407", -- ORR |
000610 => x"bfd8", -- BL |
000611 => x"2800", -- CLR |
000612 => x"ed0c", -- MCR |
000613 => x"c050", -- LDIL |
000614 => x"c83f", -- LDIH |
000615 => x"ed0a", -- MCR |
000616 => x"c001", -- LDIL |
000617 => x"ed0c", -- MCR |
000618 => x"c000", -- LDIL |
000619 => x"c805", -- LDIH |
000620 => x"bfce", -- BL |
000621 => x"dc00", -- STB |
000622 => x"b9fc", -- BTS |
000623 => x"3410", -- RET |
000624 => x"00f0", -- MOV |
000625 => x"c040", -- LDIL |
000626 => x"c83f", -- LDIH |
000627 => x"ed0a", -- MCR |
000628 => x"c001", -- LDIL |
000629 => x"ed0c", -- MCR |
000630 => x"3c20", -- SFT |
000631 => x"c803", -- LDIH |
000632 => x"bfc2", -- BL |
000633 => x"0020", -- MOV |
000634 => x"c800", -- LDIH |
000635 => x"3c00", -- SFT |
000636 => x"bfbe", -- BL |
000637 => x"29b3", -- CLR |
000638 => x"ed3c", -- MCR |
000639 => x"0180", -- MOV |
000640 => x"c980", -- LDIH |
000641 => x"3410", -- RET |
000642 => x"e5b0", -- CDP |
000643 => x"ec30", -- MRC |
000644 => x"dc06", -- STB |
000645 => x"b9fe", -- BTS |
000646 => x"c306", -- LDIL |
000647 => x"200e", -- ANDS |
000648 => x"840a", -- BNE |
000649 => x"ecb1", -- MRC |
000650 => x"ef32", -- MRC |
000651 => x"2800", -- CLR |
000652 => x"009a", -- INCS |
000653 => x"0f60", -- ADC |
000654 => x"ed99", -- MCR |
000655 => x"edea", -- MCR |
000656 => x"ef34", -- MRC |
000657 => x"3470", -- RET |
000658 => x"c550", -- LDIL |
000659 => x"c907", -- LDIH |
000660 => x"bf4b", -- BL |
000661 => x"c55e", -- LDIL |
000662 => x"c907", -- LDIH |
000663 => x"bf48", -- BL |
000664 => x"bf5a", -- BL |
000665 => x"2800", -- CLR |
000666 => x"3400", -- GT |
000667 => x"0170", -- MOV |
000668 => x"bf56", -- BL |
000669 => x"c08d", -- LDIL |
000670 => x"1809", -- CMP |
000671 => x"f702", -- RBAEQ |
000672 => x"c088", -- LDIL |
000673 => x"1809", -- CMP |
000674 => x"8034", -- BEQ |
000675 => x"bdf9", -- B |
000676 => x"c528", -- LDIL |
000677 => x"c906", -- LDIH |
000678 => x"bf39", -- BL |
000679 => x"bf50", -- BL |
000680 => x"edca", -- MCR |
000681 => x"bf4e", -- BL |
000682 => x"edc9", -- MCR |
000683 => x"bff0", -- BL |
000684 => x"bf3c", -- BL |
000685 => x"c536", -- LDIL |
000686 => x"c906", -- LDIH |
000687 => x"bf30", -- BL |
000688 => x"bf47", -- BL |
000689 => x"02c0", -- MOV |
000690 => x"bfe9", -- BL |
000691 => x"bf35", -- BL |
000692 => x"345d", -- TEQ |
000693 => x"8021", -- BEQ |
000694 => x"06d1", -- DEC |
000695 => x"bf31", -- BL |
000696 => x"c0a4", -- LDIL |
000697 => x"bf34", -- BL |
000698 => x"ee32", -- MRC |
000699 => x"bf61", -- BL |
000700 => x"ee31", -- MRC |
000701 => x"bf5f", -- BL |
000702 => x"c0ba", -- LDIL |
000703 => x"bf2e", -- BL |
000704 => x"c0a0", -- LDIL |
000705 => x"bf2c", -- BL |
000706 => x"bfc0", -- BL |
000707 => x"0260", -- MOV |
000708 => x"bf58", -- BL |
000709 => x"c320", -- LDIL |
000710 => x"c1ae", -- LDIL |
000711 => x"00e0", -- MOV |
000712 => x"bf25", -- BL |
000713 => x"3cc0", -- SFT |
000714 => x"c880", -- LDIH |
000715 => x"181e", -- CMP |
000716 => x"f8c3", -- MVHI |
000717 => x"bf20", -- BL |
000718 => x"00c0", -- MOV |
000719 => x"c880", -- LDIH |
000720 => x"181e", -- CMP |
000721 => x"f8c3", -- MVHI |
000722 => x"bf1b", -- BL |
000723 => x"eca0", -- MRC |
000724 => x"dc9f", -- STBI |
000725 => x"b9df", -- BTS |
000726 => x"bf12", -- BL |
000727 => x"c69a", -- LDIL |
000728 => x"ca80", -- LDIH |
000729 => x"3450", -- GT |
000730 => x"0d0a", -- .DW |
000731 => x"0d0a", -- .DW |
000732 => x"4174", -- .DW |
000733 => x"6c61", -- .DW |
000734 => x"732d", -- .DW |
000735 => x"324b", -- .DW |
000736 => x"2042", -- .DW |
000737 => x"6f6f", -- .DW |
000738 => x"746c", -- .DW |
000739 => x"6f61", -- .DW |
000740 => x"6465", -- .DW |
000741 => x"7220", -- .DW |
000742 => x"2d20", -- .DW |
000743 => x"5632", -- .DW |
000744 => x"3031", -- .DW |
000745 => x"3430", -- .DW |
000746 => x"3531", -- .DW |
000747 => x"360d", -- .DW |
000748 => x"0a62", -- .DW |
000749 => x"7920", -- .DW |
000750 => x"5374", -- .DW |
000751 => x"6570", -- .DW |
000752 => x"6861", -- .DW |
000753 => x"6e20", -- .DW |
000754 => x"4e6f", -- .DW |
000755 => x"6c74", -- .DW |
000756 => x"696e", -- .DW |
000757 => x"672c", -- .DW |
000758 => x"2073", -- .DW |
000759 => x"746e", -- .DW |
000760 => x"6f6c", -- .DW |
000761 => x"7469", -- .DW |
000762 => x"6e67", -- .DW |
000763 => x"4067", -- .DW |
000764 => x"6d61", -- .DW |
000765 => x"696c", -- .DW |
000766 => x"2e63", -- .DW |
000767 => x"6f6d", -- .DW |
000768 => x"0d0a", -- .DW |
000769 => x"7777", -- .DW |
000770 => x"772e", -- .DW |
000771 => x"6f70", -- .DW |
000772 => x"656e", -- .DW |
000773 => x"636f", -- .DW |
000774 => x"7265", -- .DW |
000775 => x"732e", -- .DW |
000776 => x"6f72", -- .DW |
000777 => x"672f", -- .DW |
000778 => x"7072", -- .DW |
000779 => x"6f6a", -- .DW |
000780 => x"6563", -- .DW |
000781 => x"742c", -- .DW |
000782 => x"6174", -- .DW |
000783 => x"6c61", -- .DW |
000784 => x"735f", -- .DW |
000785 => x"636f", -- .DW |
000786 => x"7265", -- .DW |
000787 => x"0d0a", -- .DW |
000788 => x"0000", -- .DW |
000789 => x"0d0a", -- .DW |
000790 => x"426f", -- .DW |
000791 => x"6f74", -- .DW |
000792 => x"2070", -- .DW |
000793 => x"6167", -- .DW |
000794 => x"653a", -- .DW |
000795 => x"2030", -- .DW |
000796 => x"7800", -- .DW |
000797 => x"0d0a", -- .DW |
000798 => x"436c", -- .DW |
000799 => x"6f63", -- .DW |
000800 => x"6b28", -- .DW |
000801 => x"487a", -- .DW |
000802 => x"293a", -- .DW |
000803 => x"2030", -- .DW |
000804 => x"7800", -- .DW |
000805 => x"426f", -- .DW |
000806 => x"6f74", -- .DW |
000807 => x"696e", -- .DW |
000808 => x"670d", -- .DW |
000809 => x"0a00", -- .DW |
000810 => x"4275", -- .DW |
000811 => x"726e", -- .DW |
000812 => x"2045", -- .DW |
000813 => x"4550", -- .DW |
000814 => x"524f", -- .DW |
000815 => x"4d0d", -- .DW |
000816 => x"0a00", -- .DW |
000817 => x"4177", -- .DW |
000818 => x"6169", -- .DW |
000819 => x"7469", -- .DW |
000820 => x"6e67", -- .DW |
000821 => x"2069", -- .DW |
000822 => x"6d61", -- .DW |
000823 => x"6765", -- .DW |
000824 => x"2e2e", -- .DW |
000825 => x"2e0d", -- .DW |
000826 => x"0a00", -- .DW |
000827 => x"5374", -- .DW |
000828 => x"6172", -- .DW |
000829 => x"7469", -- .DW |
000830 => x"6e67", -- .DW |
000831 => x"2069", -- .DW |
000832 => x"6d61", -- .DW |
000833 => x"6765", -- .DW |
000834 => x"2000", -- .DW |
000835 => x"446f", -- .DW |
000836 => x"776e", -- .DW |
000837 => x"6c6f", -- .DW |
000838 => x"6164", -- .DW |
000839 => x"2063", -- .DW |
000840 => x"6f6d", -- .DW |
000841 => x"706c", -- .DW |
000842 => x"6574", -- .DW |
000843 => x"650d", -- .DW |
000844 => x"0a00", -- .DW |
000845 => x"5061", -- .DW |
000846 => x"6765", -- .DW |
000847 => x"2028", -- .DW |
000848 => x"3468", -- .DW |
000849 => x"293a", -- .DW |
000850 => x"2024", -- .DW |
000851 => x"0000", -- .DW |
000852 => x"4164", -- .DW |
000853 => x"6472", -- .DW |
000854 => x"2028", -- .DW |
000855 => x"3868", -- .DW |
000856 => x"293a", -- .DW |
000857 => x"2024", -- .DW |
000858 => x"0000", -- .DW |
000859 => x"2377", -- .DW |
000860 => x"6f72", -- .DW |
000861 => x"6473", -- .DW |
000862 => x"2028", -- .DW |
000863 => x"3468", -- .DW |
000864 => x"293a", -- .DW |
000865 => x"2024", -- .DW |
000866 => x"0000", -- .DW |
000867 => x"4368", -- .DW |
000868 => x"6563", -- .DW |
000869 => x"6b73", -- .DW |
000870 => x"756d", -- .DW |
000871 => x"3a20", -- .DW |
000872 => x"2400", -- .DW |
000873 => x"0d0a", -- .DW |
000874 => x"636d", -- .DW |
000875 => x"642f", -- .DW |
000876 => x"626f", -- .DW |
000877 => x"6f74", -- .DW |
000878 => x"2d73", -- .DW |
000879 => x"7769", -- .DW |
000880 => x"7463", -- .DW |
000881 => x"683a", -- .DW |
000882 => x"0d0a", -- .DW |
000883 => x"2030", -- .DW |
000884 => x"2f27", -- .DW |
000885 => x"3030", -- .DW |
000886 => x"273a", -- .DW |
000887 => x"2028", -- .DW |
000888 => x"5265", -- .DW |
000889 => x"2d29", -- .DW |
000890 => x"5374", -- .DW |
000891 => x"6172", -- .DW |
000892 => x"7420", -- .DW |
000893 => x"636f", -- .DW |
000894 => x"6e73", -- .DW |
000895 => x"6f6c", -- .DW |
000896 => x"650d", -- .DW |
000897 => x"0a20", -- .DW |
000898 => x"312f", -- .DW |
000899 => x"2730", -- .DW |
000900 => x"3127", -- .DW |
000901 => x"3a20", -- .DW |
000902 => x"426f", -- .DW |
000903 => x"6f74", -- .DW |
000904 => x"2055", -- .DW |
000905 => x"4152", -- .DW |
000906 => x"540d", -- .DW |
000907 => x"0a20", -- .DW |
000908 => x"322f", -- .DW |
000909 => x"2731", -- .DW |
000910 => x"3027", -- .DW |
000911 => x"3a20", -- .DW |
000912 => x"426f", -- .DW |
000913 => x"6f74", -- .DW |
000914 => x"2045", -- .DW |
000915 => x"4550", -- .DW |
000916 => x"524f", -- .DW |
000917 => x"4d0d", -- .DW |
000918 => x"0a20", -- .DW |
000919 => x"332f", -- .DW |
000920 => x"2731", -- .DW |
000921 => x"3127", -- .DW |
000922 => x"3a20", -- .DW |
000923 => x"426f", -- .DW |
000924 => x"6f74", -- .DW |
000925 => x"206d", -- .DW |
000926 => x"656d", -- .DW |
000927 => x"6f72", -- .DW |
000928 => x"790d", -- .DW |
000929 => x"0a00", -- .DW |
000930 => x"2034", -- .DW |
000931 => x"3a20", -- .DW |
000932 => x"426f", -- .DW |
000933 => x"6f74", -- .DW |
000934 => x"2057", -- .DW |
000935 => x"420d", -- .DW |
000936 => x"0a20", -- .DW |
000937 => x"703a", -- .DW |
000938 => x"2042", -- .DW |
000939 => x"7572", -- .DW |
000940 => x"6e20", -- .DW |
000941 => x"4545", -- .DW |
000942 => x"5052", -- .DW |
000943 => x"4f4d", -- .DW |
000944 => x"0d0a", -- .DW |
000945 => x"2064", -- .DW |
000946 => x"3a20", -- .DW |
000947 => x"5241", -- .DW |
000948 => x"4d20", -- .DW |
000949 => x"6475", -- .DW |
000950 => x"6d70", -- .DW |
000951 => x"0d0a", -- .DW |
000952 => x"2072", -- .DW |
000953 => x"3a20", -- .DW |
000954 => x"5265", -- .DW |
000955 => x"7365", -- .DW |
000956 => x"740d", -- .DW |
000957 => x"0a20", -- .DW |
000958 => x"773a", -- .DW |
000959 => x"2057", -- .DW |
000960 => x"4220", -- .DW |
000961 => x"6475", -- .DW |
000962 => x"6d70", -- .DW |
000963 => x"0d0a", -- .DW |
000964 => x"0000", -- .DW |
000965 => x"636d", -- .DW |
000966 => x"643a", -- .DW |
000967 => x"3e20", -- .DW |
000968 => x"0000", -- .DW |
000969 => x"636d", -- .DW |
000970 => x"643a", -- .DW |
000971 => x"3e20", -- .DW |
000972 => x"0000", -- .DW |
000973 => x"494d", -- .DW |
000974 => x"4147", -- .DW |
000975 => x"4520", -- .DW |
000976 => x"4552", -- .DW |
000977 => x"5221", -- .DW |
000978 => x"0d0a", -- .DW |
000979 => x"0000", -- .DW |
000980 => x"0d0a", -- .DW |
000981 => x"4952", -- .DW |
000982 => x"5120", -- .DW |
000983 => x"4552", -- .DW |
000984 => x"5221", -- .DW |
000985 => x"0d0a", -- .DW |
000986 => x"0000", -- .DW |
000987 => x"4348", -- .DW |
000988 => x"4543", -- .DW |
000989 => x"4b53", -- .DW |
000990 => x"554d", -- .DW |
000991 => x"2045", -- .DW |
000992 => x"5252", -- .DW |
000993 => x"210d", -- .DW |
000994 => x"0a00", -- .DW |
000995 => x"5350", -- .DW |
000996 => x"492f", -- .DW |
000997 => x"4545", -- .DW |
000998 => x"5052", -- .DW |
000999 => x"4f4d", -- .DW |
001000 => x"2045", -- .DW |
001001 => x"5252", -- .DW |
001002 => x"210d", -- .DW |
001003 => x"0a00", -- .DW |
001004 => x"5742", -- .DW |
001005 => x"2042", -- .DW |
001006 => x"5553", -- .DW |
001007 => x"2045", -- .DW |
001008 => x"5252", -- .DW |
001009 => x"210d", -- .DW |
001010 => x"0a00", -- .DW |
001011 => x"5072", -- .DW |
001012 => x"6573", -- .DW |
001013 => x"7320", -- .DW |
001014 => x"616e", -- .DW |
001015 => x"7920", -- .DW |
001016 => x"6b65", -- .DW |
001017 => x"790d", -- .DW |
001018 => x"0a00", -- .DW |
000969 => x"494d", -- .DW |
000970 => x"4147", -- .DW |
000971 => x"4520", -- .DW |
000972 => x"4552", -- .DW |
000973 => x"5221", -- .DW |
000974 => x"0d0a", -- .DW |
000975 => x"0000", -- .DW |
000976 => x"0d0a", -- .DW |
000977 => x"4952", -- .DW |
000978 => x"5120", -- .DW |
000979 => x"4552", -- .DW |
000980 => x"5221", -- .DW |
000981 => x"0d0a", -- .DW |
000982 => x"0000", -- .DW |
000983 => x"4348", -- .DW |
000984 => x"4543", -- .DW |
000985 => x"4b53", -- .DW |
000986 => x"554d", -- .DW |
000987 => x"2045", -- .DW |
000988 => x"5252", -- .DW |
000989 => x"210d", -- .DW |
000990 => x"0a00", -- .DW |
000991 => x"5350", -- .DW |
000992 => x"492f", -- .DW |
000993 => x"4545", -- .DW |
000994 => x"5052", -- .DW |
000995 => x"4f4d", -- .DW |
000996 => x"2045", -- .DW |
000997 => x"5252", -- .DW |
000998 => x"210d", -- .DW |
000999 => x"0a00", -- .DW |
001000 => x"5742", -- .DW |
001001 => x"2042", -- .DW |
001002 => x"5553", -- .DW |
001003 => x"2045", -- .DW |
001004 => x"5252", -- .DW |
001005 => x"210d", -- .DW |
001006 => x"0a00", -- .DW |
001007 => x"5072", -- .DW |
001008 => x"6573", -- .DW |
001009 => x"7320", -- .DW |
001010 => x"616e", -- .DW |
001011 => x"7920", -- .DW |
001012 => x"6b65", -- .DW |
001013 => x"790d", -- .DW |
001014 => x"0a00", -- .DW |
others => x"0000" -- NOP |
); |
------------------------------------------------------ |
/trunk/rtl/ATLAS_pkg.vhd
4,7 → 4,7
-- # All architecture configurations, options, signal # |
-- # definitions and components are listed here. # |
-- # **************************************************** # |
-- # Last modified: 30.04.2014 # |
-- # Last modified: 08.05.2014 # |
-- # **************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################## |
17,7 → 17,7
|
-- Architecture Configuration for Application --------------------------------------------- |
-- ------------------------------------------------------------------------------------------- |
constant big_endian_c : boolean := false; -- use little/big endian memory system |
constant big_endian_c : boolean := true; -- use little/big endian memory system |
constant build_mul_c : boolean := true; -- build a dedicated MUL unit |
constant build_mul32_c : boolean := true; -- build 32-bit multiplier |
constant word_mode_en_c : boolean := false; -- use word-addressed memory system instead of byte-addressed |
/trunk/rtl/COM_0_CORE.vhd
6,7 → 6,7
-- # -> Parallel IO (16 in, 16 out) # |
-- # -> System IO (8 in, 8 out) # |
-- # ***************************************************** # |
-- # Last modified: 12.04.2014 # |
-- # Last modified: 11.05.2014 # |
-- # ***************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################### |
144,6 → 144,7
signal PIO_IN_DATA : std_logic_vector(15 downto 0); |
signal PIO_SYNC : std_logic_vector(15 downto 0); |
signal SYS_IO_I_FF : std_logic_vector(07 downto 0); |
signal SYS_IO_O_FF : std_logic_vector(07 downto 0); |
|
begin |
|
160,7 → 161,7
PIO_IN_DATA <= (others => '0'); |
PIO_OUT_DATA <= (others => '0'); |
PIO_SYNC <= (others => '0'); |
SYS_IO_O <= (others => '0'); |
SYS_IO_O_FF <= (others => '0'); |
SYS_IO_I_FF <= (others => '0'); |
elsif (ICE_I = '1') then -- interface enable |
if (W_EN_I = '1') then -- register update |
170,7 → 171,7
when spi_data_reg_c => SPI_TX_REG <= DAT_I; |
when spi_cs_reg_c => SPI_CS_REG <= DAT_I(07 downto 00); |
when pio_out_reg_c => PIO_OUT_DATA <= DAT_I; |
when sys_io_reg_c => SYS_IO_O <= DAT_I(15 downto 08); |
when sys_io_reg_c => SYS_IO_O_FF <= DAT_I(15 downto 08); |
when others => NULL; |
end case; |
end if; |
181,8 → 182,9
end if; |
end process W_ACC; |
|
-- PIO Output -- |
-- Output -- |
PIO_OUT_O <= PIO_OUT_DATA; |
SYS_IO_O <= SYS_IO_O_FF; |
|
-- PIO Input pin change IRQ -- |
PIO_IRQ_O <= '0' when (PIO_SYNC = PIO_IN_DATA) else '1'; |
191,7 → 193,7
|
-- Read Access ----------------------------------------------------------------------------------------- |
-- -------------------------------------------------------------------------------------------------------- |
R_ACC: process(ADR_I, UART_TX_BSY_FLAG, UART_RX_READY, UART_RX_REG, UART_PRSC_REG, COM_CONFIG_REG, |
R_ACC: process(ADR_I, UART_TX_BSY_FLAG, UART_RX_READY, UART_RX_REG, UART_PRSC_REG, COM_CONFIG_REG, SYS_IO_O_FF, |
SPI_BUSY_FLAG, SPI_CS_REG, SPI_RX_REG, PIO_OUT_DATA, PIO_IN_DATA, SYS_IO_I_FF, UART_DCOR_FLAG) |
begin |
case (ADR_I) is |
207,7 → 209,7
when spi_cs_reg_c => DAT_O <= x"00" & SPI_CS_REG; |
when pio_in_reg_c => DAT_O <= PIO_IN_DATA; |
when pio_out_reg_c => DAT_O <= PIO_OUT_DATA; |
when sys_io_reg_c => DAT_O <= x"00" & SYS_IO_I_FF; |
when sys_io_reg_c => DAT_O <= SYS_IO_O_FF & SYS_IO_I_FF; |
when others => DAT_O <= x"0000"; |
end case; |
end process R_ACC; |
/trunk/rtl/SYS_1_CORE.vhd
4,7 → 4,7
-- # -> Memory Management Unit # |
-- # -> Clock Information # |
-- # ***************************************************** # |
-- # Last modified: 22.03.2014 # |
-- # Last modified: 07.05.2014 # |
-- # ***************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################### |
57,9 → 57,12
constant mmu_sys_d_page_c : std_logic_vector(02 downto 0) := "010"; -- R/W: system mode D page |
constant mmu_usr_i_page_c : std_logic_vector(02 downto 0) := "011"; -- R/W: user mode I page |
constant mmu_usr_d_page_c : std_logic_vector(02 downto 0) := "100"; -- R/W: user mode D page |
constant mmu_i_page_link_c : std_logic_vector(02 downto 0) := "101"; -- R: i page link |
constant mmu_d_page_link_c : std_logic_vector(02 downto 0) := "110"; -- R: d page link |
constant mmu_i_page_link_c : std_logic_vector(02 downto 0) := "101"; -- R: linked i page |
constant mmu_d_page_link_c : std_logic_vector(02 downto 0) := "110"; -- R: linked d page |
constant mmu_sys_info_c : std_logic_vector(02 downto 0) := "111"; -- R: system info |
-- Sys info register (uses auto-pointer): |
-- 1st read access: clock speed LOW |
-- 2nd read access: clock speed HIGH |
|
-- Registers -- |
signal MMU_IRQ_BASE : std_logic_vector(15 downto 0); |
/trunk/rtl/WB_UNIT.vhd
3,7 → 3,7
-- # **************************************************** # |
-- # Data write back selector for register file input. # |
-- # **************************************************** # |
-- # Last modified: 09.03.2013 # |
-- # Last modified: 08.05.2013 # |
-- # **************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################## |
85,7 → 85,7
variable dat_end_v : std_logic_vector(data_width_c-1 downto 0); |
begin |
-- Endianness converter -- |
if (big_endian_c = true) then |
if (big_endian_c = false) then |
dat_end_v := MEM_WB_DAT_I(data_width_c/2-1 downto 0) & MEM_WB_DAT_I(data_width_c-1 downto data_width_c/2); |
else |
dat_end_v := MEM_WB_DAT_I; |
/trunk/rtl/ATLAS_2K_BASE_TOP.vhd
11,7 → 11,7
-- # declared in this section (in Hz). # |
-- # # |
-- # ***************************************************** # |
-- # Last modified: 09.04.2014 # |
-- # Last modified: 16.05.2014 # |
-- # ***************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################### |
50,7 → 50,7
PIO_OUT_O : out std_logic_vector(15 downto 0); -- parallel output |
PIO_IN_I : in std_logic_vector(15 downto 0); -- parallel input |
|
-- System IO -- |
-- System IO (bootloader, NOS, ...) -- |
SYS_OUT_O : out std_logic_vector(07 downto 0); -- system output |
SYS_IN_I : in std_logic_vector(07 downto 0); -- system input |
|
149,7 → 149,7
|
-- *** USER CONFIGURATION *** |
-- *********************************************************************************************** |
constant clk_speed_c : std_logic_vector(31 downto 0) := x"02FAF080"; -- clock speed in Hz |
constant clk_speed_c : std_logic_vector(31 downto 0) := x"02FAF080"; -- clock speed in Hz (here =50MHz) |
constant num_pages_c : natural := 4; -- number of pages (must be a power of 2) |
constant page_size_c : natural := 4096; -- page size in bytes (must be a power of 2) |
-- *********************************************************************************************** |
/trunk/rtl/MEM_ACC.vhd
5,7 → 5,7
-- # data memory interface. Furthermore, internal data # |
-- # switching networks are located here. # |
-- # **************************************************** # |
-- # Last modified: 29.04.2014 # |
-- # Last modified: 08.05.2014 # |
-- # **************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################## |
137,7 → 137,7
MEM_ADR_O <= mem_adr_v; -- memory address output |
|
-- Endianness converter -- |
if (big_endian_c = true) then |
if (big_endian_c = false) then |
dat_end_v := DATA_BP_INT(data_width_c/2-1 downto 0) & DATA_BP_INT(data_width_c-1 downto data_width_c/2); |
else |
dat_end_v := DATA_BP_INT; |
/trunk/rtl/OP_DEC.vhd
3,7 → 3,7
-- # **************************************************** # |
-- # OpCode (instruction) decoding unit. # |
-- # **************************************************** # |
-- # Last modified: 30.04.2014 # |
-- # Last modified: 08.05.2014 # |
-- # **************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################## |
64,7 → 64,7
instr_tmp_v := instr_sel_v(31 downto 16); |
end if; |
end if; |
if (big_endian_c = true) then -- endian converter |
if (big_endian_c = false) then -- endian converter |
INSTR_INT <= instr_tmp_v(7 downto 0) & instr_tmp_v(15 downto 8); |
else |
INSTR_INT <= instr_tmp_v; |
/trunk/rtl/INT_RAM.vhd
3,7 → 3,7
-- # **************************************************** # |
-- # Core-compatible example RAM component. # |
-- # **************************************************** # |
-- # Last modified: 02.03.2014 # |
-- # Last modified: 16.05.2014 # |
-- # **************************************************** # |
-- # by Stephan Nolting 4788, Hanover, Germany # |
-- ######################################################## |
55,12 → 55,12
|
begin |
|
-- Memory Access and Handshake ------------------------------------------------------------------------- |
-- Data Memory Access ---------------------------------------------------------------------------------- |
-- -------------------------------------------------------------------------------------------------------- |
MEM_FILE_ACCESS: process(CLK_I) |
MEM_FILE_D_ACCESS: process(CLK_I) |
begin |
if rising_edge(CLK_I) then |
-- Data Read(/Write) -- |
-- Data Read/Write -- |
if (D_EN_I = '1') then -- valid access |
if (D_RW_I = '1') then -- write data access |
if (word_mode_en_c = true) then |
69,12 → 69,21
MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c downto 1)))) <= D_DAT_I; |
end if; |
end if; |
if (word_mode_en_c = true) then |
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c-1 downto 0)))); |
else |
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c downto 1)))); |
end if; |
end if; |
if (word_mode_en_c = true) then |
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c-1 downto 0)))); |
else |
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c downto 1)))); |
end if; |
end if; |
end process MEM_FILE_D_ACCESS; |
|
|
-- Instruction Memory Access --------------------------------------------------------------------------- |
-- -------------------------------------------------------------------------------------------------------- |
MEM_FILE_I_ACCESS: process(CLK_I) |
begin |
if rising_edge(CLK_I) then |
-- Instruction Read -- |
if (I_EN_I = '1') then |
if (word_mode_en_c = true) then |
84,7 → 93,7
end if; |
end if; |
end if; |
end process MEM_FILE_ACCESS; |
end process MEM_FILE_I_ACCESS; |
|
|
|
/trunk/doc/Atlas 2k Processor Documentary.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/software/bootloader/atlas2k_bootloader.asm
448,10 → 448,7
bl uart_print_ |
|
; check signature (2 byte) |
bl uart_receivebyte_ ; get high-byte |
sft r1, r0, #swp ; swap bytes |
bl uart_receivebyte_ ; get low-byte |
orr r1, r1, r0 ; construct word |
bl uart_get_word ; get a word from console |
ldil r0, #0xFE |
ldih r0, #0xCA |
cmp r1, r0 ; signature test |
576,6 → 573,7
bl uart_sendbyte |
bl uart_linebreak |
|
start_image_no_text: |
; print checksum |
ldil r2, low[string_checksum] |
ldih r2, high[string_checksum] |
585,7 → 583,6
bl uart_linebreak |
|
; start the image |
start_image_no_text: |
bl uart_linebreak |
bl uart_linebreak |
bl uart_linebreak |
867,13 → 864,12
uart_print: |
; -------------------------------------------------------------------------------------------------------- |
mov r3, lr |
|
|
uart_print_loop: |
ldr r0, r2, +#1, post, ! ; get one string byte |
ldil r1, #0x00 ; upper byte mask |
ldih r1, #0xFF |
and r1, r0, r1 |
sfts r1, r1, #swp ; swap bytes and test if zero |
ldr r1, r2, +#1, post, ! ; get one string byte |
sft r1, r1, #swp ; swap high and low byte |
ldih r1, #0x00 ; clear high byte |
teq r1, r1 ; test if string end |
beq uart_print_loop_end |
bl uart_sendbyte |
b uart_print_loop |
941,7 → 937,7
bl uart_receivebyte ; get one char |
|
; convert to higher case |
ldil r1, #'F' |
ldil r1, #'G' ; = 'F' +1 |
cmp r0, r1 |
bmi #+3 ; skip decrement |
ldil r1, #32 ; -> to lower case |
1351,13 → 1347,13
; ***************************************************************************************************************** |
; ROM: Text strings |
; ***************************************************************************************************************** |
string_intro0: .stringz "\n\nAtlas-2K Bootloader - V20140504\nby Stephan Nolting, stnolting@gmail.com\nwww.opencores.org/project,atlas_core\n" |
string_intro0: .stringz "\n\nAtlas-2K Bootloader - V20140516\nby Stephan Nolting, stnolting@gmail.com\nwww.opencores.org/project,atlas_core\n" |
string_intro3: .stringz "\nBoot page: 0x" |
string_intro4: .stringz "\nClock(Hz): 0x" |
|
string_booting: .stringz "Booting\n" |
string_prog_eep: .stringz "Burn EEPROM\n" |
string_boot_wimd: .stringz "Awaiting data...\n" |
string_boot_wimd: .stringz "Awaiting image...\n" |
string_start_im: .stringz "Starting image " |
string_done: .stringz "Download complete\n" |
string_edpage: .stringz "Page (4h): $" |
/trunk/software/examples/fft/sincos_lut.asm
0,0 → 1,128
.dw #16384 |
.dw #0 |
.dw #16364 |
.dw #803 |
.dw #16305 |
.dw #1605 |
.dw #16206 |
.dw #2404 |
.dw #16069 |
.dw #3196 |
.dw #15892 |
.dw #3980 |
.dw #15678 |
.dw #4756 |
.dw #15426 |
.dw #5519 |
.dw #15136 |
.dw #6269 |
.dw #14810 |
.dw #7005 |
.dw #14449 |
.dw #7723 |
.dw #14053 |
.dw #8423 |
.dw #13622 |
.dw #9102 |
.dw #13159 |
.dw #9759 |
.dw #12665 |
.dw #10393 |
.dw #12139 |
.dw #11002 |
.dw #11585 |
.dw #11585 |
.dw #11002 |
.dw #12139 |
.dw #10393 |
.dw #12665 |
.dw #9759 |
.dw #13159 |
.dw #9102 |
.dw #13622 |
.dw #8423 |
.dw #14053 |
.dw #7723 |
.dw #14449 |
.dw #7005 |
.dw #14810 |
.dw #6269 |
.dw #15136 |
.dw #5519 |
.dw #15426 |
.dw #4756 |
.dw #15678 |
.dw #3980 |
.dw #15892 |
.dw #3196 |
.dw #16069 |
.dw #2404 |
.dw #16206 |
.dw #1605 |
.dw #16305 |
.dw #803 |
.dw #16364 |
.dw #0 |
.dw #16384 |
.dw #64733 |
.dw #16364 |
.dw #63931 |
.dw #16305 |
.dw #63132 |
.dw #16206 |
.dw #62340 |
.dw #16069 |
.dw #61556 |
.dw #15892 |
.dw #60780 |
.dw #15678 |
.dw #60017 |
.dw #15426 |
.dw #59267 |
.dw #15136 |
.dw #58531 |
.dw #14810 |
.dw #57813 |
.dw #14449 |
.dw #57113 |
.dw #14053 |
.dw #56434 |
.dw #13622 |
.dw #55777 |
.dw #13159 |
.dw #55143 |
.dw #12665 |
.dw #54534 |
.dw #12139 |
.dw #53951 |
.dw #11585 |
.dw #53397 |
.dw #11002 |
.dw #52871 |
.dw #10393 |
.dw #52377 |
.dw #9759 |
.dw #51914 |
.dw #9102 |
.dw #51483 |
.dw #8423 |
.dw #51087 |
.dw #7723 |
.dw #50726 |
.dw #7005 |
.dw #50400 |
.dw #6269 |
.dw #50110 |
.dw #5519 |
.dw #49858 |
.dw #4756 |
.dw #49644 |
.dw #3980 |
.dw #49467 |
.dw #3196 |
.dw #49330 |
.dw #2404 |
.dw #49231 |
.dw #1605 |
.dw #49172 |
.dw #803 |
/trunk/software/examples/fft/init.vhd
0,0 → 1,980
000000 => x"bc0b", -- B |
000001 => x"bc04", -- B |
000002 => x"bc03", -- B |
000003 => x"bc02", -- B |
000004 => x"bc01", -- B |
000005 => x"be73", -- BL |
000006 => x"c578", -- LDIL |
000007 => x"c906", -- LDIH |
000008 => x"be7f", -- BL |
000009 => x"be6f", -- BL |
000010 => x"bc00", -- B |
000011 => x"c724", -- LDIL |
000012 => x"cb07", -- LDIH |
000013 => x"c114", -- LDIL |
000014 => x"c907", -- LDIH |
000015 => x"be78", -- BL |
000016 => x"c47f", -- LDIL |
000017 => x"ec0b", -- MCR |
000018 => x"c002", -- LDIL |
000019 => x"ec0c", -- MCR |
000020 => x"c400", -- LDIL |
000021 => x"c800", -- LDIH |
000022 => x"c7e6", -- LDIL |
000023 => x"cb82", -- LDIH |
000024 => x"3474", -- GTL |
000025 => x"6c6a", -- PUSH |
000026 => x"c6f8", -- LDIL |
000027 => x"ca83", -- LDIH |
000028 => x"c578", -- LDIL |
000029 => x"c904", -- LDIH |
000030 => x"29b3", -- CLR |
000031 => x"785a", -- LDR |
000032 => x"c080", -- LDIL |
000033 => x"526a", -- PEEK |
000034 => x"c7c4", -- LDIL |
000035 => x"cb82", -- LDIH |
000036 => x"3474", -- GTL |
000037 => x"01b1", -- INC |
000038 => x"c400", -- LDIL |
000039 => x"c800", -- LDIH |
000040 => x"1838", -- CMP |
000041 => x"85f6", -- BNE |
000042 => x"586a", -- POP |
000043 => x"2ad5", -- CLR |
000044 => x"ec5a", -- MCR |
000045 => x"c478", -- LDIL |
000046 => x"c804", -- LDIH |
000047 => x"c480", -- LDIL |
000048 => x"c880", -- LDIH |
000049 => x"c578", -- LDIL |
000050 => x"c902", -- LDIH |
000051 => x"be5e", -- BL |
000052 => x"ee02", -- MRC |
000053 => x"be1a", -- BL |
000054 => x"be42", -- BL |
000055 => x"c6f8", -- LDIL |
000056 => x"ca84", -- LDIH |
000057 => x"c580", -- LDIL |
000058 => x"c980", -- LDIH |
000059 => x"7a5a", -- LDR |
000060 => x"be13", -- BL |
000061 => x"c0a0", -- LDIL |
000062 => x"be07", -- BL |
000063 => x"7a5a", -- LDR |
000064 => x"be0f", -- BL |
000065 => x"be37", -- BL |
000066 => x"05b9", -- DECS |
000067 => x"85f8", -- BNE |
000068 => x"bc00", -- B |
000069 => x"ec22", -- MRC |
000070 => x"dc05", -- STB |
000071 => x"b9fe", -- BTS |
000072 => x"ed18", -- MCR |
000073 => x"3470", -- RET |
000074 => x"ec20", -- MRC |
000075 => x"dc8f", -- STBI |
000076 => x"b9fe", -- BTS |
000077 => x"c800", -- LDIH |
000078 => x"3470", -- RET |
000079 => x"6c6a", -- PUSH |
000080 => x"6cea", -- PUSH |
000081 => x"6d6a", -- PUSH |
000082 => x"6dea", -- PUSH |
000083 => x"6e6a", -- PUSH |
000084 => x"6fea", -- PUSH |
000085 => x"3d42", -- SFT |
000086 => x"3d22", -- SFT |
000087 => x"3d22", -- SFT |
000088 => x"3d22", -- SFT |
000089 => x"be15", -- BL |
000090 => x"bfeb", -- BL |
000091 => x"3d40", -- SFT |
000092 => x"be12", -- BL |
000093 => x"bfe8", -- BL |
000094 => x"3d45", -- SFT |
000095 => x"3d25", -- SFT |
000096 => x"3d25", -- SFT |
000097 => x"3d25", -- SFT |
000098 => x"be0c", -- BL |
000099 => x"bfe2", -- BL |
000100 => x"0140", -- MOV |
000101 => x"be09", -- BL |
000102 => x"bfdf", -- BL |
000103 => x"5bea", -- POP |
000104 => x"5a6a", -- POP |
000105 => x"59ea", -- POP |
000106 => x"596a", -- POP |
000107 => x"58ea", -- POP |
000108 => x"586a", -- POP |
000109 => x"3470", -- RET |
000110 => x"c08f", -- LDIL |
000111 => x"2121", -- AND |
000112 => x"c089", -- LDIL |
000113 => x"181a", -- CMP |
000114 => x"8803", -- BCS |
000115 => x"c0b0", -- LDIL |
000116 => x"bc02", -- B |
000117 => x"c0b7", -- LDIL |
000118 => x"0892", -- ADD |
000119 => x"3470", -- RET |
000120 => x"6c6a", -- PUSH |
000121 => x"6cea", -- PUSH |
000122 => x"6d6a", -- PUSH |
000123 => x"6fea", -- PUSH |
000124 => x"0170", -- MOV |
000125 => x"c08d", -- LDIL |
000126 => x"bfc7", -- BL |
000127 => x"c08a", -- LDIL |
000128 => x"03a0", -- MOV |
000129 => x"bfc4", -- BL |
000130 => x"5bea", -- POP |
000131 => x"596a", -- POP |
000132 => x"58ea", -- POP |
000133 => x"586a", -- POP |
000134 => x"3470", -- RET |
000135 => x"0270", -- MOV |
000136 => x"7829", -- LDR |
000137 => x"c080", -- LDIL |
000138 => x"ccff", -- LDIH |
000139 => x"2081", -- AND |
000140 => x"3c98", -- SFTS |
000141 => x"8003", -- BEQ |
000142 => x"bfb7", -- BL |
000143 => x"bdf9", -- B |
000144 => x"3440", -- RET |
000145 => x"6eea", -- PUSH |
000146 => x"6e6a", -- PUSH |
000147 => x"6dea", -- PUSH |
000148 => x"6d6a", -- PUSH |
000149 => x"6cea", -- PUSH |
000150 => x"6c6a", -- PUSH |
000151 => x"6fea", -- PUSH |
000152 => x"c3b6", -- LDIL |
000153 => x"cb82", -- LDIH |
000154 => x"447e", -- STR |
000155 => x"44fa", -- STR |
000156 => x"457c", -- STR |
000157 => x"2800", -- CLR |
000158 => x"3c95", -- SFT |
000159 => x"3419", -- TEQ |
000160 => x"8003", -- BEQ |
000161 => x"0001", -- INC |
000162 => x"bdfc", -- B |
000163 => x"c3b6", -- LDIL |
000164 => x"cb82", -- LDIH |
000165 => x"5478", -- STR |
000166 => x"c3b6", -- LDIL |
000167 => x"cb82", -- LDIH |
000168 => x"c281", -- LDIL |
000169 => x"56fa", -- STR |
000170 => x"56fc", -- STR |
000171 => x"56fe", -- STR |
000172 => x"c3be", -- LDIL |
000173 => x"cb82", -- LDIH |
000174 => x"c280", -- LDIL |
000175 => x"56f8", -- STR |
000176 => x"c3ba", -- LDIL |
000177 => x"cb82", -- LDIH |
000178 => x"40fa", -- LDR |
000179 => x"5178", -- LDR |
000180 => x"0521", -- DEC |
000181 => x"c204", -- LDIL |
000182 => x"3e44", -- SFT |
000183 => x"0499", -- DECS |
000184 => x"85fe", -- BNE |
000185 => x"f124", -- MUL |
000186 => x"557c", -- STR |
000187 => x"c3b6", -- LDIL |
000188 => x"cb82", -- LDIH |
000189 => x"427e", -- LDR |
000190 => x"50fa", -- LDR |
000191 => x"517e", -- LDR |
000192 => x"41fc", -- LDR |
000193 => x"0521", -- DEC |
000194 => x"3d24", -- SFT |
000195 => x"3d24", -- SFT |
000196 => x"0932", -- ADD |
000197 => x"c3be", -- LDIL |
000198 => x"cb82", -- LDIH |
000199 => x"5078", -- LDR |
000200 => x"0804", -- ADD |
000201 => x"c182", -- LDIL |
000202 => x"3db4", -- SFT |
000203 => x"0499", -- DECS |
000204 => x"85fe", -- BNE |
000205 => x"0883", -- ADD |
000206 => x"c3c0", -- LDIL |
000207 => x"cb82", -- LDIH |
000208 => x"5478", -- STR |
000209 => x"54fa", -- STR |
000210 => x"557c", -- STR |
000211 => x"0180", -- MOV |
000212 => x"0210", -- MOV |
000213 => x"02a0", -- MOV |
000214 => x"6dea", -- PUSH |
000215 => x"6e6a", -- PUSH |
000216 => x"5038", -- LDR |
000217 => x"50ba", -- LDR |
000218 => x"5148", -- LDR |
000219 => x"51ca", -- LDR |
000220 => x"5258", -- LDR |
000221 => x"52da", -- LDR |
000222 => x"be45", -- BL |
000223 => x"5aea", -- POP |
000224 => x"5a6a", -- POP |
000225 => x"5558", -- STR |
000226 => x"55da", -- STR |
000227 => x"5448", -- STR |
000228 => x"54ca", -- STR |
000229 => x"c3be", -- LDIL |
000230 => x"cb82", -- LDIH |
000231 => x"5078", -- LDR |
000232 => x"c084", -- LDIL |
000233 => x"0801", -- ADD |
000234 => x"5478", -- STR |
000235 => x"c3b6", -- LDIL |
000236 => x"cb82", -- LDIH |
000237 => x"507a", -- LDR |
000238 => x"517e", -- LDR |
000239 => x"c081", -- LDIL |
000240 => x"0409", -- DECS |
000241 => x"8003", -- BEQ |
000242 => x"3c94", -- SFT |
000243 => x"bdfd", -- B |
000244 => x"181a", -- CMP |
000245 => x"0121", -- INC |
000246 => x"557e", -- STR |
000247 => x"85c4", -- BNE |
000248 => x"c101", -- LDIL |
000249 => x"557e", -- STR |
000250 => x"c3b6", -- LDIL |
000251 => x"cb82", -- LDIH |
000252 => x"407a", -- LDR |
000253 => x"50fa", -- LDR |
000254 => x"517c", -- LDR |
000255 => x"3c05", -- SFT |
000256 => x"0499", -- DECS |
000257 => x"85fe", -- BNE |
000258 => x"180a", -- CMP |
000259 => x"0121", -- INC |
000260 => x"557c", -- STR |
000261 => x"85ab", -- BNE |
000262 => x"c101", -- LDIL |
000263 => x"557c", -- STR |
000264 => x"c3b6", -- LDIL |
000265 => x"cb82", -- LDIH |
000266 => x"5078", -- LDR |
000267 => x"50fa", -- LDR |
000268 => x"1809", -- CMP |
000269 => x"0091", -- INC |
000270 => x"54fa", -- STR |
000271 => x"85a1", -- BNE |
000272 => x"5bea", -- POP |
000273 => x"586a", -- POP |
000274 => x"58ea", -- POP |
000275 => x"596a", -- POP |
000276 => x"59ea", -- POP |
000277 => x"5a6a", -- POP |
000278 => x"5aea", -- POP |
000279 => x"3470", -- RET |
000280 => x"0000", -- NOP |
000281 => x"0000", -- NOP |
000282 => x"0000", -- NOP |
000283 => x"0000", -- NOP |
000284 => x"0000", -- NOP |
000285 => x"0000", -- NOP |
000286 => x"0000", -- NOP |
000287 => x"0000", -- NOP |
000288 => x"0000", -- NOP |
000289 => x"0000", -- NOP |
000290 => x"0000", -- NOP |
000291 => x"6fea", -- PUSH |
000292 => x"6c6a", -- PUSH |
000293 => x"6cea", -- PUSH |
000294 => x"c7bc", -- LDIL |
000295 => x"cb82", -- LDIH |
000296 => x"f042", -- MUL |
000297 => x"f0ca", -- MULH |
000298 => x"3c0c", -- SFTS |
000299 => x"3c92", -- SFT |
000300 => x"3c0c", -- SFTS |
000301 => x"3c92", -- SFT |
000302 => x"54f8", -- STR |
000303 => x"f043", -- MUL |
000304 => x"f0cb", -- MULH |
000305 => x"3c0c", -- SFTS |
000306 => x"3c92", -- SFT |
000307 => x"3c0c", -- SFTS |
000308 => x"3c92", -- SFT |
000309 => x"54fa", -- STR |
000310 => x"f052", -- MUL |
000311 => x"f0da", -- MULH |
000312 => x"3c0c", -- SFTS |
000313 => x"3c92", -- SFT |
000314 => x"3c0c", -- SFTS |
000315 => x"3c92", -- SFT |
000316 => x"54fc", -- STR |
000317 => x"f053", -- MUL |
000318 => x"f0db", -- MULH |
000319 => x"3c0c", -- SFTS |
000320 => x"3c92", -- SFT |
000321 => x"3c0c", -- SFTS |
000322 => x"3c92", -- SFT |
000323 => x"54fe", -- STR |
000324 => x"58ea", -- POP |
000325 => x"586a", -- POP |
000326 => x"5178", -- LDR |
000327 => x"51fe", -- LDR |
000328 => x"090a", -- ADDS |
000329 => x"15a3", -- SBC |
000330 => x"6dea", -- PUSH |
000331 => x"517a", -- LDR |
000332 => x"51fc", -- LDR |
000333 => x"091a", -- ADDS |
000334 => x"0da3", -- ADC |
000335 => x"6dea", -- PUSH |
000336 => x"5178", -- LDR |
000337 => x"51fe", -- LDR |
000338 => x"110a", -- SUBS |
000339 => x"0da3", -- ADC |
000340 => x"6dea", -- PUSH |
000341 => x"517a", -- LDR |
000342 => x"51fc", -- LDR |
000343 => x"111a", -- SUBS |
000344 => x"15a3", -- SBC |
000345 => x"596a", -- POP |
000346 => x"58ea", -- POP |
000347 => x"586a", -- POP |
000348 => x"5bea", -- POP |
000349 => x"3470", -- RET |
000350 => x"0000", -- NOP |
000351 => x"0000", -- NOP |
000352 => x"0000", -- NOP |
000353 => x"0000", -- NOP |
000354 => x"6dea", -- PUSH |
000355 => x"6e6a", -- PUSH |
000356 => x"6eea", -- PUSH |
000357 => x"2ad5", -- CLR |
000358 => x"3dbd", -- SFTS |
000359 => x"3ed6", -- SFT |
000360 => x"0649", -- DECS |
000361 => x"85fd", -- BNE |
000362 => x"3ed4", -- SFT |
000363 => x"3ed4", -- SFT |
000364 => x"0aa5", -- ADD |
000365 => x"5458", -- STR |
000366 => x"54da", -- STR |
000367 => x"5aea", -- POP |
000368 => x"5a6a", -- POP |
000369 => x"59ea", -- POP |
000370 => x"3470", -- RET |
000371 => x"6cea", -- PUSH |
000372 => x"2891", -- CLR |
000373 => x"3c0d", -- SFTS |
000374 => x"8003", -- BEQ |
000375 => x"0091", -- INC |
000376 => x"bdfd", -- B |
000377 => x"0010", -- MOV |
000378 => x"58ea", -- POP |
000379 => x"3470", -- RET |
000380 => x"4000", -- .DW |
000381 => x"0000", -- .DW |
000382 => x"3fec", -- .DW |
000383 => x"0323", -- .DW |
000384 => x"3fb1", -- .DW |
000385 => x"0645", -- .DW |
000386 => x"3f4e", -- .DW |
000387 => x"0964", -- .DW |
000388 => x"3ec5", -- .DW |
000389 => x"0c7c", -- .DW |
000390 => x"3e14", -- .DW |
000391 => x"0f8c", -- .DW |
000392 => x"3d3e", -- .DW |
000393 => x"1294", -- .DW |
000394 => x"3c42", -- .DW |
000395 => x"158f", -- .DW |
000396 => x"3b20", -- .DW |
000397 => x"187d", -- .DW |
000398 => x"39da", -- .DW |
000399 => x"1b5d", -- .DW |
000400 => x"3871", -- .DW |
000401 => x"1e2b", -- .DW |
000402 => x"36e5", -- .DW |
000403 => x"20e7", -- .DW |
000404 => x"3536", -- .DW |
000405 => x"238e", -- .DW |
000406 => x"3367", -- .DW |
000407 => x"261f", -- .DW |
000408 => x"3179", -- .DW |
000409 => x"2899", -- .DW |
000410 => x"2f6b", -- .DW |
000411 => x"2afa", -- .DW |
000412 => x"2d41", -- .DW |
000413 => x"2d41", -- .DW |
000414 => x"2afa", -- .DW |
000415 => x"2f6b", -- .DW |
000416 => x"2899", -- .DW |
000417 => x"3179", -- .DW |
000418 => x"261f", -- .DW |
000419 => x"3367", -- .DW |
000420 => x"238e", -- .DW |
000421 => x"3536", -- .DW |
000422 => x"20e7", -- .DW |
000423 => x"36e5", -- .DW |
000424 => x"1e2b", -- .DW |
000425 => x"3871", -- .DW |
000426 => x"1b5d", -- .DW |
000427 => x"39da", -- .DW |
000428 => x"187d", -- .DW |
000429 => x"3b20", -- .DW |
000430 => x"158f", -- .DW |
000431 => x"3c42", -- .DW |
000432 => x"1294", -- .DW |
000433 => x"3d3e", -- .DW |
000434 => x"0f8c", -- .DW |
000435 => x"3e14", -- .DW |
000436 => x"0c7c", -- .DW |
000437 => x"3ec5", -- .DW |
000438 => x"0964", -- .DW |
000439 => x"3f4e", -- .DW |
000440 => x"0645", -- .DW |
000441 => x"3fb1", -- .DW |
000442 => x"0323", -- .DW |
000443 => x"3fec", -- .DW |
000444 => x"0000", -- .DW |
000445 => x"4000", -- .DW |
000446 => x"fcdd", -- .DW |
000447 => x"3fec", -- .DW |
000448 => x"f9bb", -- .DW |
000449 => x"3fb1", -- .DW |
000450 => x"f69c", -- .DW |
000451 => x"3f4e", -- .DW |
000452 => x"f384", -- .DW |
000453 => x"3ec5", -- .DW |
000454 => x"f074", -- .DW |
000455 => x"3e14", -- .DW |
000456 => x"ed6c", -- .DW |
000457 => x"3d3e", -- .DW |
000458 => x"ea71", -- .DW |
000459 => x"3c42", -- .DW |
000460 => x"e783", -- .DW |
000461 => x"3b20", -- .DW |
000462 => x"e4a3", -- .DW |
000463 => x"39da", -- .DW |
000464 => x"e1d5", -- .DW |
000465 => x"3871", -- .DW |
000466 => x"df19", -- .DW |
000467 => x"36e5", -- .DW |
000468 => x"dc72", -- .DW |
000469 => x"3536", -- .DW |
000470 => x"d9e1", -- .DW |
000471 => x"3367", -- .DW |
000472 => x"d767", -- .DW |
000473 => x"3179", -- .DW |
000474 => x"d506", -- .DW |
000475 => x"2f6b", -- .DW |
000476 => x"d2bf", -- .DW |
000477 => x"2d41", -- .DW |
000478 => x"d095", -- .DW |
000479 => x"2afa", -- .DW |
000480 => x"ce87", -- .DW |
000481 => x"2899", -- .DW |
000482 => x"cc99", -- .DW |
000483 => x"261f", -- .DW |
000484 => x"caca", -- .DW |
000485 => x"238e", -- .DW |
000486 => x"c91b", -- .DW |
000487 => x"20e7", -- .DW |
000488 => x"c78f", -- .DW |
000489 => x"1e2b", -- .DW |
000490 => x"c626", -- .DW |
000491 => x"1b5d", -- .DW |
000492 => x"c4e0", -- .DW |
000493 => x"187d", -- .DW |
000494 => x"c3be", -- .DW |
000495 => x"158f", -- .DW |
000496 => x"c2c2", -- .DW |
000497 => x"1294", -- .DW |
000498 => x"c1ec", -- .DW |
000499 => x"0f8c", -- .DW |
000500 => x"c13b", -- .DW |
000501 => x"0c7c", -- .DW |
000502 => x"c0b2", -- .DW |
000503 => x"0964", -- .DW |
000504 => x"c04f", -- .DW |
000505 => x"0645", -- .DW |
000506 => x"c014", -- .DW |
000507 => x"0323", -- .DW |
000508 => x"0400", -- .DW |
000509 => x"0000", -- .DW |
000510 => x"0000", -- .DW |
000511 => x"0000", -- .DW |
000512 => x"0400", -- .DW |
000513 => x"0000", -- .DW |
000514 => x"0000", -- .DW |
000515 => x"0000", -- .DW |
000516 => x"0400", -- .DW |
000517 => x"0000", -- .DW |
000518 => x"0000", -- .DW |
000519 => x"0000", -- .DW |
000520 => x"0400", -- .DW |
000521 => x"0000", -- .DW |
000522 => x"0000", -- .DW |
000523 => x"0000", -- .DW |
000524 => x"0400", -- .DW |
000525 => x"0000", -- .DW |
000526 => x"0000", -- .DW |
000527 => x"0000", -- .DW |
000528 => x"0400", -- .DW |
000529 => x"0000", -- .DW |
000530 => x"0000", -- .DW |
000531 => x"0000", -- .DW |
000532 => x"0400", -- .DW |
000533 => x"0000", -- .DW |
000534 => x"0000", -- .DW |
000535 => x"0000", -- .DW |
000536 => x"0400", -- .DW |
000537 => x"0000", -- .DW |
000538 => x"0000", -- .DW |
000539 => x"0000", -- .DW |
000540 => x"0400", -- .DW |
000541 => x"0000", -- .DW |
000542 => x"0000", -- .DW |
000543 => x"0000", -- .DW |
000544 => x"0400", -- .DW |
000545 => x"0000", -- .DW |
000546 => x"0000", -- .DW |
000547 => x"0000", -- .DW |
000548 => x"0400", -- .DW |
000549 => x"0000", -- .DW |
000550 => x"0000", -- .DW |
000551 => x"0000", -- .DW |
000552 => x"0400", -- .DW |
000553 => x"0000", -- .DW |
000554 => x"0000", -- .DW |
000555 => x"0000", -- .DW |
000556 => x"0400", -- .DW |
000557 => x"0000", -- .DW |
000558 => x"0000", -- .DW |
000559 => x"0000", -- .DW |
000560 => x"0400", -- .DW |
000561 => x"0000", -- .DW |
000562 => x"0000", -- .DW |
000563 => x"0000", -- .DW |
000564 => x"0400", -- .DW |
000565 => x"0000", -- .DW |
000566 => x"0000", -- .DW |
000567 => x"0000", -- .DW |
000568 => x"0400", -- .DW |
000569 => x"0000", -- .DW |
000570 => x"0000", -- .DW |
000571 => x"0000", -- .DW |
000572 => x"0400", -- .DW |
000573 => x"0000", -- .DW |
000574 => x"0000", -- .DW |
000575 => x"0000", -- .DW |
000576 => x"0400", -- .DW |
000577 => x"0000", -- .DW |
000578 => x"0000", -- .DW |
000579 => x"0000", -- .DW |
000580 => x"0400", -- .DW |
000581 => x"0000", -- .DW |
000582 => x"0000", -- .DW |
000583 => x"0000", -- .DW |
000584 => x"0400", -- .DW |
000585 => x"0000", -- .DW |
000586 => x"0000", -- .DW |
000587 => x"0000", -- .DW |
000588 => x"0400", -- .DW |
000589 => x"0000", -- .DW |
000590 => x"0000", -- .DW |
000591 => x"0000", -- .DW |
000592 => x"0400", -- .DW |
000593 => x"0000", -- .DW |
000594 => x"0000", -- .DW |
000595 => x"0000", -- .DW |
000596 => x"0400", -- .DW |
000597 => x"0000", -- .DW |
000598 => x"0000", -- .DW |
000599 => x"0000", -- .DW |
000600 => x"0400", -- .DW |
000601 => x"0000", -- .DW |
000602 => x"0000", -- .DW |
000603 => x"0000", -- .DW |
000604 => x"0400", -- .DW |
000605 => x"0000", -- .DW |
000606 => x"0000", -- .DW |
000607 => x"0000", -- .DW |
000608 => x"0400", -- .DW |
000609 => x"0000", -- .DW |
000610 => x"0000", -- .DW |
000611 => x"0000", -- .DW |
000612 => x"0400", -- .DW |
000613 => x"0000", -- .DW |
000614 => x"0000", -- .DW |
000615 => x"0000", -- .DW |
000616 => x"0400", -- .DW |
000617 => x"0000", -- .DW |
000618 => x"0000", -- .DW |
000619 => x"0000", -- .DW |
000620 => x"0400", -- .DW |
000621 => x"0000", -- .DW |
000622 => x"0000", -- .DW |
000623 => x"0000", -- .DW |
000624 => x"0400", -- .DW |
000625 => x"0000", -- .DW |
000626 => x"0000", -- .DW |
000627 => x"0000", -- .DW |
000628 => x"0400", -- .DW |
000629 => x"0000", -- .DW |
000630 => x"0000", -- .DW |
000631 => x"0000", -- .DW |
000632 => x"0400", -- .DW |
000633 => x"0000", -- .DW |
000634 => x"0000", -- .DW |
000635 => x"0000", -- .DW |
000636 => x"0000", -- NOP |
000637 => x"0000", -- NOP |
000638 => x"0000", -- NOP |
000639 => x"0000", -- NOP |
000640 => x"0000", -- NOP |
000641 => x"0000", -- NOP |
000642 => x"0000", -- NOP |
000643 => x"0000", -- NOP |
000644 => x"0000", -- NOP |
000645 => x"0000", -- NOP |
000646 => x"0000", -- NOP |
000647 => x"0000", -- NOP |
000648 => x"0000", -- NOP |
000649 => x"0000", -- NOP |
000650 => x"0000", -- NOP |
000651 => x"0000", -- NOP |
000652 => x"0000", -- NOP |
000653 => x"0000", -- NOP |
000654 => x"0000", -- NOP |
000655 => x"0000", -- NOP |
000656 => x"0000", -- NOP |
000657 => x"0000", -- NOP |
000658 => x"0000", -- NOP |
000659 => x"0000", -- NOP |
000660 => x"0000", -- NOP |
000661 => x"0000", -- NOP |
000662 => x"0000", -- NOP |
000663 => x"0000", -- NOP |
000664 => x"0000", -- NOP |
000665 => x"0000", -- NOP |
000666 => x"0000", -- NOP |
000667 => x"0000", -- NOP |
000668 => x"0000", -- NOP |
000669 => x"0000", -- NOP |
000670 => x"0000", -- NOP |
000671 => x"0000", -- NOP |
000672 => x"0000", -- NOP |
000673 => x"0000", -- NOP |
000674 => x"0000", -- NOP |
000675 => x"0000", -- NOP |
000676 => x"0000", -- NOP |
000677 => x"0000", -- NOP |
000678 => x"0000", -- NOP |
000679 => x"0000", -- NOP |
000680 => x"0000", -- NOP |
000681 => x"0000", -- NOP |
000682 => x"0000", -- NOP |
000683 => x"0000", -- NOP |
000684 => x"0000", -- NOP |
000685 => x"0000", -- NOP |
000686 => x"0000", -- NOP |
000687 => x"0000", -- NOP |
000688 => x"0000", -- NOP |
000689 => x"0000", -- NOP |
000690 => x"0000", -- NOP |
000691 => x"0000", -- NOP |
000692 => x"0000", -- NOP |
000693 => x"0000", -- NOP |
000694 => x"0000", -- NOP |
000695 => x"0000", -- NOP |
000696 => x"0000", -- NOP |
000697 => x"0000", -- NOP |
000698 => x"0000", -- NOP |
000699 => x"0000", -- NOP |
000700 => x"0000", -- NOP |
000701 => x"0000", -- NOP |
000702 => x"0000", -- NOP |
000703 => x"0000", -- NOP |
000704 => x"0000", -- NOP |
000705 => x"0000", -- NOP |
000706 => x"0000", -- NOP |
000707 => x"0000", -- NOP |
000708 => x"0000", -- NOP |
000709 => x"0000", -- NOP |
000710 => x"0000", -- NOP |
000711 => x"0000", -- NOP |
000712 => x"0000", -- NOP |
000713 => x"0000", -- NOP |
000714 => x"0000", -- NOP |
000715 => x"0000", -- NOP |
000716 => x"0000", -- NOP |
000717 => x"0000", -- NOP |
000718 => x"0000", -- NOP |
000719 => x"0000", -- NOP |
000720 => x"0000", -- NOP |
000721 => x"0000", -- NOP |
000722 => x"0000", -- NOP |
000723 => x"0000", -- NOP |
000724 => x"0000", -- NOP |
000725 => x"0000", -- NOP |
000726 => x"0000", -- NOP |
000727 => x"0000", -- NOP |
000728 => x"0000", -- NOP |
000729 => x"0000", -- NOP |
000730 => x"0000", -- NOP |
000731 => x"0000", -- NOP |
000732 => x"0000", -- NOP |
000733 => x"0000", -- NOP |
000734 => x"0000", -- NOP |
000735 => x"0000", -- NOP |
000736 => x"0000", -- NOP |
000737 => x"0000", -- NOP |
000738 => x"0000", -- NOP |
000739 => x"0000", -- NOP |
000740 => x"0000", -- NOP |
000741 => x"0000", -- NOP |
000742 => x"0000", -- NOP |
000743 => x"0000", -- NOP |
000744 => x"0000", -- NOP |
000745 => x"0000", -- NOP |
000746 => x"0000", -- NOP |
000747 => x"0000", -- NOP |
000748 => x"0000", -- NOP |
000749 => x"0000", -- NOP |
000750 => x"0000", -- NOP |
000751 => x"0000", -- NOP |
000752 => x"0000", -- NOP |
000753 => x"0000", -- NOP |
000754 => x"0000", -- NOP |
000755 => x"0000", -- NOP |
000756 => x"0000", -- NOP |
000757 => x"0000", -- NOP |
000758 => x"0000", -- NOP |
000759 => x"0000", -- NOP |
000760 => x"0000", -- NOP |
000761 => x"0000", -- NOP |
000762 => x"0000", -- NOP |
000763 => x"0000", -- NOP |
000764 => x"0000", -- NOP |
000765 => x"0000", -- NOP |
000766 => x"0000", -- NOP |
000767 => x"0000", -- NOP |
000768 => x"0000", -- NOP |
000769 => x"0000", -- NOP |
000770 => x"0000", -- NOP |
000771 => x"0000", -- NOP |
000772 => x"0000", -- NOP |
000773 => x"0000", -- NOP |
000774 => x"0000", -- NOP |
000775 => x"0000", -- NOP |
000776 => x"0000", -- NOP |
000777 => x"0000", -- NOP |
000778 => x"0000", -- NOP |
000779 => x"0000", -- NOP |
000780 => x"0000", -- NOP |
000781 => x"0000", -- NOP |
000782 => x"0000", -- NOP |
000783 => x"0000", -- NOP |
000784 => x"0000", -- NOP |
000785 => x"0000", -- NOP |
000786 => x"0000", -- NOP |
000787 => x"0000", -- NOP |
000788 => x"0000", -- NOP |
000789 => x"0000", -- NOP |
000790 => x"0000", -- NOP |
000791 => x"0000", -- NOP |
000792 => x"0000", -- NOP |
000793 => x"0000", -- NOP |
000794 => x"0000", -- NOP |
000795 => x"0000", -- NOP |
000796 => x"0000", -- NOP |
000797 => x"0000", -- NOP |
000798 => x"0000", -- NOP |
000799 => x"0000", -- NOP |
000800 => x"0000", -- NOP |
000801 => x"0000", -- NOP |
000802 => x"0000", -- NOP |
000803 => x"0000", -- NOP |
000804 => x"0000", -- NOP |
000805 => x"0000", -- NOP |
000806 => x"0000", -- NOP |
000807 => x"0000", -- NOP |
000808 => x"0000", -- NOP |
000809 => x"0000", -- NOP |
000810 => x"0000", -- NOP |
000811 => x"0000", -- NOP |
000812 => x"0000", -- NOP |
000813 => x"0000", -- NOP |
000814 => x"0000", -- NOP |
000815 => x"0000", -- NOP |
000816 => x"0000", -- NOP |
000817 => x"0000", -- NOP |
000818 => x"0000", -- NOP |
000819 => x"0000", -- NOP |
000820 => x"0000", -- NOP |
000821 => x"0000", -- NOP |
000822 => x"0000", -- NOP |
000823 => x"0000", -- NOP |
000824 => x"0000", -- NOP |
000825 => x"0000", -- NOP |
000826 => x"0000", -- NOP |
000827 => x"0000", -- NOP |
000828 => x"0000", -- NOP |
000829 => x"0000", -- NOP |
000830 => x"0000", -- NOP |
000831 => x"0000", -- NOP |
000832 => x"0000", -- NOP |
000833 => x"0000", -- NOP |
000834 => x"0000", -- NOP |
000835 => x"0000", -- NOP |
000836 => x"0000", -- NOP |
000837 => x"0000", -- NOP |
000838 => x"0000", -- NOP |
000839 => x"0000", -- NOP |
000840 => x"0000", -- NOP |
000841 => x"0000", -- NOP |
000842 => x"0000", -- NOP |
000843 => x"0000", -- NOP |
000844 => x"0000", -- NOP |
000845 => x"0000", -- NOP |
000846 => x"0000", -- NOP |
000847 => x"0000", -- NOP |
000848 => x"0000", -- NOP |
000849 => x"0000", -- NOP |
000850 => x"0000", -- NOP |
000851 => x"0000", -- NOP |
000852 => x"0000", -- NOP |
000853 => x"0000", -- NOP |
000854 => x"0000", -- NOP |
000855 => x"0000", -- NOP |
000856 => x"0000", -- NOP |
000857 => x"0000", -- NOP |
000858 => x"0000", -- NOP |
000859 => x"0000", -- NOP |
000860 => x"0000", -- NOP |
000861 => x"0000", -- NOP |
000862 => x"0000", -- NOP |
000863 => x"0000", -- NOP |
000864 => x"0000", -- NOP |
000865 => x"0000", -- NOP |
000866 => x"0000", -- NOP |
000867 => x"0000", -- NOP |
000868 => x"0000", -- NOP |
000869 => x"0000", -- NOP |
000870 => x"0000", -- NOP |
000871 => x"0000", -- NOP |
000872 => x"0000", -- NOP |
000873 => x"0000", -- NOP |
000874 => x"0000", -- NOP |
000875 => x"0000", -- NOP |
000876 => x"0000", -- NOP |
000877 => x"0000", -- NOP |
000878 => x"0000", -- NOP |
000879 => x"0000", -- NOP |
000880 => x"0000", -- NOP |
000881 => x"0000", -- NOP |
000882 => x"0000", -- NOP |
000883 => x"0000", -- NOP |
000884 => x"0000", -- NOP |
000885 => x"0000", -- NOP |
000886 => x"0000", -- NOP |
000887 => x"0000", -- NOP |
000888 => x"0000", -- NOP |
000889 => x"0000", -- NOP |
000890 => x"0000", -- NOP |
000891 => x"0000", -- NOP |
000892 => x"4578", -- .DW |
000893 => x"6365", -- .DW |
000894 => x"7074", -- .DW |
000895 => x"696f", -- .DW |
000896 => x"6e2f", -- .DW |
000897 => x"696e", -- .DW |
000898 => x"7465", -- .DW |
000899 => x"7272", -- .DW |
000900 => x"7570", -- .DW |
000901 => x"7420", -- .DW |
000902 => x"6572", -- .DW |
000903 => x"726f", -- .DW |
000904 => x"7221", -- .DW |
000905 => x"0000", -- .DW |
000906 => x"436f", -- .DW |
000907 => x"6d70", -- .DW |
000908 => x"7574", -- .DW |
000909 => x"696e", -- .DW |
000910 => x"6720", -- .DW |
000911 => x"4646", -- .DW |
000912 => x"542e", -- .DW |
000913 => x"2e2e", -- .DW |
000914 => x"2000", -- .DW |
000915 => x"0000", -- NOP |
000916 => x"0000", -- NOP |
000917 => x"0000", -- NOP |
000918 => x"0000", -- NOP |
000919 => x"0000", -- NOP |
000920 => x"0000", -- NOP |
000921 => x"0000", -- NOP |
000922 => x"0000", -- NOP |
000923 => x"0000", -- NOP |
000924 => x"0000", -- NOP |
000925 => x"0000", -- NOP |
000926 => x"0000", -- NOP |
000927 => x"0000", -- NOP |
000928 => x"0000", -- NOP |
000929 => x"0000", -- NOP |
000930 => x"0000", -- NOP |
000931 => x"0000", -- NOP |
000932 => x"0000", -- NOP |
000933 => x"0000", -- NOP |
000934 => x"0000", -- NOP |
000935 => x"0000", -- NOP |
000936 => x"0000", -- NOP |
000937 => x"0000", -- NOP |
000938 => x"0000", -- NOP |
000939 => x"0000", -- NOP |
000940 => x"0000", -- NOP |
000941 => x"0000", -- NOP |
000942 => x"0000", -- NOP |
000943 => x"0000", -- NOP |
000944 => x"0000", -- NOP |
000945 => x"0000", -- NOP |
000946 => x"0000", -- NOP |
000947 => x"0000", -- NOP |
000948 => x"0000", -- NOP |
000949 => x"0000", -- NOP |
000950 => x"0000", -- NOP |
000951 => x"0000", -- NOP |
000952 => x"0000", -- NOP |
000953 => x"0000", -- NOP |
000954 => x"0000", -- NOP |
000955 => x"0000", -- NOP |
000956 => x"0000", -- NOP |
000957 => x"0000", -- NOP |
000958 => x"0000", -- NOP |
000959 => x"0000", -- NOP |
000960 => x"0000", -- NOP |
000961 => x"0000", -- NOP |
000962 => x"0000", -- NOP |
000963 => x"0000", -- NOP |
000964 => x"0000", -- NOP |
000965 => x"0000", -- NOP |
000966 => x"0000", -- NOP |
000967 => x"0000", -- NOP |
000968 => x"0000", -- NOP |
000969 => x"0000", -- NOP |
000970 => x"0000", -- NOP |
000971 => x"0000", -- NOP |
000972 => x"0000", -- NOP |
000973 => x"0000", -- NOP |
000974 => x"0000", -- NOP |
000975 => x"0000", -- NOP |
000976 => x"0000", -- NOP |
000977 => x"0000", -- NOP |
000978 => x"0000", -- NOP |
others => x"0000" -- NOP |
/trunk/software/examples/fft/lut_gen_src/main.cpp
0,0 → 1,40
#include <stdio.h> |
#include <stdlib.h> |
#include <math.h> |
#include <string.h> |
|
int main(int argc, char *argv[]) { |
|
FILE *output; |
int k; |
int bits = 14; |
int N; |
int temp1, temp2; |
double pi = 3.1415926535897932384626433832795; |
char buf_string[32]; |
|
// open output file |
output = fopen("sincos_lut.asm", "w+"); |
if(output == NULL){ |
printf("Output file error!"); |
exit(1); |
} |
|
// get number of sample |
printf("Enter number of FFT points (power of 2): "); |
scanf("%d", &N); |
|
for(k=0; k<N/2; k++){ |
temp1 = int(cos((2*pi*k)/N)*(1<<bits)); |
temp2 = int(sin((2*pi*k)/N)*(1<<bits)); |
temp1 = temp1 & ((1<<16)-1); // truncate to 16 bit |
temp2 = temp2 & ((1<<16)-1); // truncate to 16 bit |
// printf(".dw #%d -- %04X\n", temp1, temp1); |
// printf(".dw #%d -- %04X\n", temp2, temp2); |
sprintf(buf_string, ".dw #%d\n.dw #%d\n", temp1, temp2); |
fputs(buf_string, output); |
} |
|
fclose(output); |
return 0; |
} |
/trunk/software/examples/fft/boot_init.vhd
0,0 → 1,988
000000 => x"cafe", |
000001 => x"03d3", |
000002 => x"9c97", |
000003 => x"6666", |
000004 => x"7431", |
000005 => x"3238", |
000006 => x"2e61", |
000007 => x"736d", |
000008 => x"bc0b", |
000009 => x"bc04", |
000010 => x"bc03", |
000011 => x"bc02", |
000012 => x"bc01", |
000013 => x"be73", |
000014 => x"c578", |
000015 => x"c906", |
000016 => x"be7f", |
000017 => x"be6f", |
000018 => x"bc00", |
000019 => x"c724", |
000020 => x"cb07", |
000021 => x"c114", |
000022 => x"c907", |
000023 => x"be78", |
000024 => x"c47f", |
000025 => x"ec0b", |
000026 => x"c002", |
000027 => x"ec0c", |
000028 => x"c400", |
000029 => x"c800", |
000030 => x"c7e6", |
000031 => x"cb82", |
000032 => x"3474", |
000033 => x"6c6a", |
000034 => x"c6f8", |
000035 => x"ca83", |
000036 => x"c578", |
000037 => x"c904", |
000038 => x"29b3", |
000039 => x"785a", |
000040 => x"c080", |
000041 => x"526a", |
000042 => x"c7c4", |
000043 => x"cb82", |
000044 => x"3474", |
000045 => x"01b1", |
000046 => x"c400", |
000047 => x"c800", |
000048 => x"1838", |
000049 => x"85f6", |
000050 => x"586a", |
000051 => x"2ad5", |
000052 => x"ec5a", |
000053 => x"c478", |
000054 => x"c804", |
000055 => x"c480", |
000056 => x"c880", |
000057 => x"c578", |
000058 => x"c902", |
000059 => x"be5e", |
000060 => x"ee02", |
000061 => x"be1a", |
000062 => x"be42", |
000063 => x"c6f8", |
000064 => x"ca84", |
000065 => x"c580", |
000066 => x"c980", |
000067 => x"7a5a", |
000068 => x"be13", |
000069 => x"c0a0", |
000070 => x"be07", |
000071 => x"7a5a", |
000072 => x"be0f", |
000073 => x"be37", |
000074 => x"05b9", |
000075 => x"85f8", |
000076 => x"bc00", |
000077 => x"ec22", |
000078 => x"dc05", |
000079 => x"b9fe", |
000080 => x"ed18", |
000081 => x"3470", |
000082 => x"ec20", |
000083 => x"dc8f", |
000084 => x"b9fe", |
000085 => x"c800", |
000086 => x"3470", |
000087 => x"6c6a", |
000088 => x"6cea", |
000089 => x"6d6a", |
000090 => x"6dea", |
000091 => x"6e6a", |
000092 => x"6fea", |
000093 => x"3d42", |
000094 => x"3d22", |
000095 => x"3d22", |
000096 => x"3d22", |
000097 => x"be15", |
000098 => x"bfeb", |
000099 => x"3d40", |
000100 => x"be12", |
000101 => x"bfe8", |
000102 => x"3d45", |
000103 => x"3d25", |
000104 => x"3d25", |
000105 => x"3d25", |
000106 => x"be0c", |
000107 => x"bfe2", |
000108 => x"0140", |
000109 => x"be09", |
000110 => x"bfdf", |
000111 => x"5bea", |
000112 => x"5a6a", |
000113 => x"59ea", |
000114 => x"596a", |
000115 => x"58ea", |
000116 => x"586a", |
000117 => x"3470", |
000118 => x"c08f", |
000119 => x"2121", |
000120 => x"c089", |
000121 => x"181a", |
000122 => x"8803", |
000123 => x"c0b0", |
000124 => x"bc02", |
000125 => x"c0b7", |
000126 => x"0892", |
000127 => x"3470", |
000128 => x"6c6a", |
000129 => x"6cea", |
000130 => x"6d6a", |
000131 => x"6fea", |
000132 => x"0170", |
000133 => x"c08d", |
000134 => x"bfc7", |
000135 => x"c08a", |
000136 => x"03a0", |
000137 => x"bfc4", |
000138 => x"5bea", |
000139 => x"596a", |
000140 => x"58ea", |
000141 => x"586a", |
000142 => x"3470", |
000143 => x"0270", |
000144 => x"7829", |
000145 => x"c080", |
000146 => x"ccff", |
000147 => x"2081", |
000148 => x"3c98", |
000149 => x"8003", |
000150 => x"bfb7", |
000151 => x"bdf9", |
000152 => x"3440", |
000153 => x"6eea", |
000154 => x"6e6a", |
000155 => x"6dea", |
000156 => x"6d6a", |
000157 => x"6cea", |
000158 => x"6c6a", |
000159 => x"6fea", |
000160 => x"c3b6", |
000161 => x"cb82", |
000162 => x"447e", |
000163 => x"44fa", |
000164 => x"457c", |
000165 => x"2800", |
000166 => x"3c95", |
000167 => x"3419", |
000168 => x"8003", |
000169 => x"0001", |
000170 => x"bdfc", |
000171 => x"c3b6", |
000172 => x"cb82", |
000173 => x"5478", |
000174 => x"c3b6", |
000175 => x"cb82", |
000176 => x"c281", |
000177 => x"56fa", |
000178 => x"56fc", |
000179 => x"56fe", |
000180 => x"c3be", |
000181 => x"cb82", |
000182 => x"c280", |
000183 => x"56f8", |
000184 => x"c3ba", |
000185 => x"cb82", |
000186 => x"40fa", |
000187 => x"5178", |
000188 => x"0521", |
000189 => x"c204", |
000190 => x"3e44", |
000191 => x"0499", |
000192 => x"85fe", |
000193 => x"f124", |
000194 => x"557c", |
000195 => x"c3b6", |
000196 => x"cb82", |
000197 => x"427e", |
000198 => x"50fa", |
000199 => x"517e", |
000200 => x"41fc", |
000201 => x"0521", |
000202 => x"3d24", |
000203 => x"3d24", |
000204 => x"0932", |
000205 => x"c3be", |
000206 => x"cb82", |
000207 => x"5078", |
000208 => x"0804", |
000209 => x"c182", |
000210 => x"3db4", |
000211 => x"0499", |
000212 => x"85fe", |
000213 => x"0883", |
000214 => x"c3c0", |
000215 => x"cb82", |
000216 => x"5478", |
000217 => x"54fa", |
000218 => x"557c", |
000219 => x"0180", |
000220 => x"0210", |
000221 => x"02a0", |
000222 => x"6dea", |
000223 => x"6e6a", |
000224 => x"5038", |
000225 => x"50ba", |
000226 => x"5148", |
000227 => x"51ca", |
000228 => x"5258", |
000229 => x"52da", |
000230 => x"be45", |
000231 => x"5aea", |
000232 => x"5a6a", |
000233 => x"5558", |
000234 => x"55da", |
000235 => x"5448", |
000236 => x"54ca", |
000237 => x"c3be", |
000238 => x"cb82", |
000239 => x"5078", |
000240 => x"c084", |
000241 => x"0801", |
000242 => x"5478", |
000243 => x"c3b6", |
000244 => x"cb82", |
000245 => x"507a", |
000246 => x"517e", |
000247 => x"c081", |
000248 => x"0409", |
000249 => x"8003", |
000250 => x"3c94", |
000251 => x"bdfd", |
000252 => x"181a", |
000253 => x"0121", |
000254 => x"557e", |
000255 => x"85c4", |
000256 => x"c101", |
000257 => x"557e", |
000258 => x"c3b6", |
000259 => x"cb82", |
000260 => x"407a", |
000261 => x"50fa", |
000262 => x"517c", |
000263 => x"3c05", |
000264 => x"0499", |
000265 => x"85fe", |
000266 => x"180a", |
000267 => x"0121", |
000268 => x"557c", |
000269 => x"85ab", |
000270 => x"c101", |
000271 => x"557c", |
000272 => x"c3b6", |
000273 => x"cb82", |
000274 => x"5078", |
000275 => x"50fa", |
000276 => x"1809", |
000277 => x"0091", |
000278 => x"54fa", |
000279 => x"85a1", |
000280 => x"5bea", |
000281 => x"586a", |
000282 => x"58ea", |
000283 => x"596a", |
000284 => x"59ea", |
000285 => x"5a6a", |
000286 => x"5aea", |
000287 => x"3470", |
000288 => x"0000", |
000289 => x"0000", |
000290 => x"0000", |
000291 => x"0000", |
000292 => x"0000", |
000293 => x"0000", |
000294 => x"0000", |
000295 => x"0000", |
000296 => x"0000", |
000297 => x"0000", |
000298 => x"0000", |
000299 => x"6fea", |
000300 => x"6c6a", |
000301 => x"6cea", |
000302 => x"c7bc", |
000303 => x"cb82", |
000304 => x"f042", |
000305 => x"f0ca", |
000306 => x"3c0c", |
000307 => x"3c92", |
000308 => x"3c0c", |
000309 => x"3c92", |
000310 => x"54f8", |
000311 => x"f043", |
000312 => x"f0cb", |
000313 => x"3c0c", |
000314 => x"3c92", |
000315 => x"3c0c", |
000316 => x"3c92", |
000317 => x"54fa", |
000318 => x"f052", |
000319 => x"f0da", |
000320 => x"3c0c", |
000321 => x"3c92", |
000322 => x"3c0c", |
000323 => x"3c92", |
000324 => x"54fc", |
000325 => x"f053", |
000326 => x"f0db", |
000327 => x"3c0c", |
000328 => x"3c92", |
000329 => x"3c0c", |
000330 => x"3c92", |
000331 => x"54fe", |
000332 => x"58ea", |
000333 => x"586a", |
000334 => x"5178", |
000335 => x"51fe", |
000336 => x"090a", |
000337 => x"15a3", |
000338 => x"6dea", |
000339 => x"517a", |
000340 => x"51fc", |
000341 => x"091a", |
000342 => x"0da3", |
000343 => x"6dea", |
000344 => x"5178", |
000345 => x"51fe", |
000346 => x"110a", |
000347 => x"0da3", |
000348 => x"6dea", |
000349 => x"517a", |
000350 => x"51fc", |
000351 => x"111a", |
000352 => x"15a3", |
000353 => x"596a", |
000354 => x"58ea", |
000355 => x"586a", |
000356 => x"5bea", |
000357 => x"3470", |
000358 => x"0000", |
000359 => x"0000", |
000360 => x"0000", |
000361 => x"0000", |
000362 => x"6dea", |
000363 => x"6e6a", |
000364 => x"6eea", |
000365 => x"2ad5", |
000366 => x"3dbd", |
000367 => x"3ed6", |
000368 => x"0649", |
000369 => x"85fd", |
000370 => x"3ed4", |
000371 => x"3ed4", |
000372 => x"0aa5", |
000373 => x"5458", |
000374 => x"54da", |
000375 => x"5aea", |
000376 => x"5a6a", |
000377 => x"59ea", |
000378 => x"3470", |
000379 => x"6cea", |
000380 => x"2891", |
000381 => x"3c0d", |
000382 => x"8003", |
000383 => x"0091", |
000384 => x"bdfd", |
000385 => x"0010", |
000386 => x"58ea", |
000387 => x"3470", |
000388 => x"4000", |
000389 => x"0000", |
000390 => x"3fec", |
000391 => x"0323", |
000392 => x"3fb1", |
000393 => x"0645", |
000394 => x"3f4e", |
000395 => x"0964", |
000396 => x"3ec5", |
000397 => x"0c7c", |
000398 => x"3e14", |
000399 => x"0f8c", |
000400 => x"3d3e", |
000401 => x"1294", |
000402 => x"3c42", |
000403 => x"158f", |
000404 => x"3b20", |
000405 => x"187d", |
000406 => x"39da", |
000407 => x"1b5d", |
000408 => x"3871", |
000409 => x"1e2b", |
000410 => x"36e5", |
000411 => x"20e7", |
000412 => x"3536", |
000413 => x"238e", |
000414 => x"3367", |
000415 => x"261f", |
000416 => x"3179", |
000417 => x"2899", |
000418 => x"2f6b", |
000419 => x"2afa", |
000420 => x"2d41", |
000421 => x"2d41", |
000422 => x"2afa", |
000423 => x"2f6b", |
000424 => x"2899", |
000425 => x"3179", |
000426 => x"261f", |
000427 => x"3367", |
000428 => x"238e", |
000429 => x"3536", |
000430 => x"20e7", |
000431 => x"36e5", |
000432 => x"1e2b", |
000433 => x"3871", |
000434 => x"1b5d", |
000435 => x"39da", |
000436 => x"187d", |
000437 => x"3b20", |
000438 => x"158f", |
000439 => x"3c42", |
000440 => x"1294", |
000441 => x"3d3e", |
000442 => x"0f8c", |
000443 => x"3e14", |
000444 => x"0c7c", |
000445 => x"3ec5", |
000446 => x"0964", |
000447 => x"3f4e", |
000448 => x"0645", |
000449 => x"3fb1", |
000450 => x"0323", |
000451 => x"3fec", |
000452 => x"0000", |
000453 => x"4000", |
000454 => x"fcdd", |
000455 => x"3fec", |
000456 => x"f9bb", |
000457 => x"3fb1", |
000458 => x"f69c", |
000459 => x"3f4e", |
000460 => x"f384", |
000461 => x"3ec5", |
000462 => x"f074", |
000463 => x"3e14", |
000464 => x"ed6c", |
000465 => x"3d3e", |
000466 => x"ea71", |
000467 => x"3c42", |
000468 => x"e783", |
000469 => x"3b20", |
000470 => x"e4a3", |
000471 => x"39da", |
000472 => x"e1d5", |
000473 => x"3871", |
000474 => x"df19", |
000475 => x"36e5", |
000476 => x"dc72", |
000477 => x"3536", |
000478 => x"d9e1", |
000479 => x"3367", |
000480 => x"d767", |
000481 => x"3179", |
000482 => x"d506", |
000483 => x"2f6b", |
000484 => x"d2bf", |
000485 => x"2d41", |
000486 => x"d095", |
000487 => x"2afa", |
000488 => x"ce87", |
000489 => x"2899", |
000490 => x"cc99", |
000491 => x"261f", |
000492 => x"caca", |
000493 => x"238e", |
000494 => x"c91b", |
000495 => x"20e7", |
000496 => x"c78f", |
000497 => x"1e2b", |
000498 => x"c626", |
000499 => x"1b5d", |
000500 => x"c4e0", |
000501 => x"187d", |
000502 => x"c3be", |
000503 => x"158f", |
000504 => x"c2c2", |
000505 => x"1294", |
000506 => x"c1ec", |
000507 => x"0f8c", |
000508 => x"c13b", |
000509 => x"0c7c", |
000510 => x"c0b2", |
000511 => x"0964", |
000512 => x"c04f", |
000513 => x"0645", |
000514 => x"c014", |
000515 => x"0323", |
000516 => x"0400", |
000517 => x"0000", |
000518 => x"0000", |
000519 => x"0000", |
000520 => x"0400", |
000521 => x"0000", |
000522 => x"0000", |
000523 => x"0000", |
000524 => x"0400", |
000525 => x"0000", |
000526 => x"0000", |
000527 => x"0000", |
000528 => x"0400", |
000529 => x"0000", |
000530 => x"0000", |
000531 => x"0000", |
000532 => x"0400", |
000533 => x"0000", |
000534 => x"0000", |
000535 => x"0000", |
000536 => x"0400", |
000537 => x"0000", |
000538 => x"0000", |
000539 => x"0000", |
000540 => x"0400", |
000541 => x"0000", |
000542 => x"0000", |
000543 => x"0000", |
000544 => x"0400", |
000545 => x"0000", |
000546 => x"0000", |
000547 => x"0000", |
000548 => x"0400", |
000549 => x"0000", |
000550 => x"0000", |
000551 => x"0000", |
000552 => x"0400", |
000553 => x"0000", |
000554 => x"0000", |
000555 => x"0000", |
000556 => x"0400", |
000557 => x"0000", |
000558 => x"0000", |
000559 => x"0000", |
000560 => x"0400", |
000561 => x"0000", |
000562 => x"0000", |
000563 => x"0000", |
000564 => x"0400", |
000565 => x"0000", |
000566 => x"0000", |
000567 => x"0000", |
000568 => x"0400", |
000569 => x"0000", |
000570 => x"0000", |
000571 => x"0000", |
000572 => x"0400", |
000573 => x"0000", |
000574 => x"0000", |
000575 => x"0000", |
000576 => x"0400", |
000577 => x"0000", |
000578 => x"0000", |
000579 => x"0000", |
000580 => x"0400", |
000581 => x"0000", |
000582 => x"0000", |
000583 => x"0000", |
000584 => x"0400", |
000585 => x"0000", |
000586 => x"0000", |
000587 => x"0000", |
000588 => x"0400", |
000589 => x"0000", |
000590 => x"0000", |
000591 => x"0000", |
000592 => x"0400", |
000593 => x"0000", |
000594 => x"0000", |
000595 => x"0000", |
000596 => x"0400", |
000597 => x"0000", |
000598 => x"0000", |
000599 => x"0000", |
000600 => x"0400", |
000601 => x"0000", |
000602 => x"0000", |
000603 => x"0000", |
000604 => x"0400", |
000605 => x"0000", |
000606 => x"0000", |
000607 => x"0000", |
000608 => x"0400", |
000609 => x"0000", |
000610 => x"0000", |
000611 => x"0000", |
000612 => x"0400", |
000613 => x"0000", |
000614 => x"0000", |
000615 => x"0000", |
000616 => x"0400", |
000617 => x"0000", |
000618 => x"0000", |
000619 => x"0000", |
000620 => x"0400", |
000621 => x"0000", |
000622 => x"0000", |
000623 => x"0000", |
000624 => x"0400", |
000625 => x"0000", |
000626 => x"0000", |
000627 => x"0000", |
000628 => x"0400", |
000629 => x"0000", |
000630 => x"0000", |
000631 => x"0000", |
000632 => x"0400", |
000633 => x"0000", |
000634 => x"0000", |
000635 => x"0000", |
000636 => x"0400", |
000637 => x"0000", |
000638 => x"0000", |
000639 => x"0000", |
000640 => x"0400", |
000641 => x"0000", |
000642 => x"0000", |
000643 => x"0000", |
000644 => x"0000", |
000645 => x"0000", |
000646 => x"0000", |
000647 => x"0000", |
000648 => x"0000", |
000649 => x"0000", |
000650 => x"0000", |
000651 => x"0000", |
000652 => x"0000", |
000653 => x"0000", |
000654 => x"0000", |
000655 => x"0000", |
000656 => x"0000", |
000657 => x"0000", |
000658 => x"0000", |
000659 => x"0000", |
000660 => x"0000", |
000661 => x"0000", |
000662 => x"0000", |
000663 => x"0000", |
000664 => x"0000", |
000665 => x"0000", |
000666 => x"0000", |
000667 => x"0000", |
000668 => x"0000", |
000669 => x"0000", |
000670 => x"0000", |
000671 => x"0000", |
000672 => x"0000", |
000673 => x"0000", |
000674 => x"0000", |
000675 => x"0000", |
000676 => x"0000", |
000677 => x"0000", |
000678 => x"0000", |
000679 => x"0000", |
000680 => x"0000", |
000681 => x"0000", |
000682 => x"0000", |
000683 => x"0000", |
000684 => x"0000", |
000685 => x"0000", |
000686 => x"0000", |
000687 => x"0000", |
000688 => x"0000", |
000689 => x"0000", |
000690 => x"0000", |
000691 => x"0000", |
000692 => x"0000", |
000693 => x"0000", |
000694 => x"0000", |
000695 => x"0000", |
000696 => x"0000", |
000697 => x"0000", |
000698 => x"0000", |
000699 => x"0000", |
000700 => x"0000", |
000701 => x"0000", |
000702 => x"0000", |
000703 => x"0000", |
000704 => x"0000", |
000705 => x"0000", |
000706 => x"0000", |
000707 => x"0000", |
000708 => x"0000", |
000709 => x"0000", |
000710 => x"0000", |
000711 => x"0000", |
000712 => x"0000", |
000713 => x"0000", |
000714 => x"0000", |
000715 => x"0000", |
000716 => x"0000", |
000717 => x"0000", |
000718 => x"0000", |
000719 => x"0000", |
000720 => x"0000", |
000721 => x"0000", |
000722 => x"0000", |
000723 => x"0000", |
000724 => x"0000", |
000725 => x"0000", |
000726 => x"0000", |
000727 => x"0000", |
000728 => x"0000", |
000729 => x"0000", |
000730 => x"0000", |
000731 => x"0000", |
000732 => x"0000", |
000733 => x"0000", |
000734 => x"0000", |
000735 => x"0000", |
000736 => x"0000", |
000737 => x"0000", |
000738 => x"0000", |
000739 => x"0000", |
000740 => x"0000", |
000741 => x"0000", |
000742 => x"0000", |
000743 => x"0000", |
000744 => x"0000", |
000745 => x"0000", |
000746 => x"0000", |
000747 => x"0000", |
000748 => x"0000", |
000749 => x"0000", |
000750 => x"0000", |
000751 => x"0000", |
000752 => x"0000", |
000753 => x"0000", |
000754 => x"0000", |
000755 => x"0000", |
000756 => x"0000", |
000757 => x"0000", |
000758 => x"0000", |
000759 => x"0000", |
000760 => x"0000", |
000761 => x"0000", |
000762 => x"0000", |
000763 => x"0000", |
000764 => x"0000", |
000765 => x"0000", |
000766 => x"0000", |
000767 => x"0000", |
000768 => x"0000", |
000769 => x"0000", |
000770 => x"0000", |
000771 => x"0000", |
000772 => x"0000", |
000773 => x"0000", |
000774 => x"0000", |
000775 => x"0000", |
000776 => x"0000", |
000777 => x"0000", |
000778 => x"0000", |
000779 => x"0000", |
000780 => x"0000", |
000781 => x"0000", |
000782 => x"0000", |
000783 => x"0000", |
000784 => x"0000", |
000785 => x"0000", |
000786 => x"0000", |
000787 => x"0000", |
000788 => x"0000", |
000789 => x"0000", |
000790 => x"0000", |
000791 => x"0000", |
000792 => x"0000", |
000793 => x"0000", |
000794 => x"0000", |
000795 => x"0000", |
000796 => x"0000", |
000797 => x"0000", |
000798 => x"0000", |
000799 => x"0000", |
000800 => x"0000", |
000801 => x"0000", |
000802 => x"0000", |
000803 => x"0000", |
000804 => x"0000", |
000805 => x"0000", |
000806 => x"0000", |
000807 => x"0000", |
000808 => x"0000", |
000809 => x"0000", |
000810 => x"0000", |
000811 => x"0000", |
000812 => x"0000", |
000813 => x"0000", |
000814 => x"0000", |
000815 => x"0000", |
000816 => x"0000", |
000817 => x"0000", |
000818 => x"0000", |
000819 => x"0000", |
000820 => x"0000", |
000821 => x"0000", |
000822 => x"0000", |
000823 => x"0000", |
000824 => x"0000", |
000825 => x"0000", |
000826 => x"0000", |
000827 => x"0000", |
000828 => x"0000", |
000829 => x"0000", |
000830 => x"0000", |
000831 => x"0000", |
000832 => x"0000", |
000833 => x"0000", |
000834 => x"0000", |
000835 => x"0000", |
000836 => x"0000", |
000837 => x"0000", |
000838 => x"0000", |
000839 => x"0000", |
000840 => x"0000", |
000841 => x"0000", |
000842 => x"0000", |
000843 => x"0000", |
000844 => x"0000", |
000845 => x"0000", |
000846 => x"0000", |
000847 => x"0000", |
000848 => x"0000", |
000849 => x"0000", |
000850 => x"0000", |
000851 => x"0000", |
000852 => x"0000", |
000853 => x"0000", |
000854 => x"0000", |
000855 => x"0000", |
000856 => x"0000", |
000857 => x"0000", |
000858 => x"0000", |
000859 => x"0000", |
000860 => x"0000", |
000861 => x"0000", |
000862 => x"0000", |
000863 => x"0000", |
000864 => x"0000", |
000865 => x"0000", |
000866 => x"0000", |
000867 => x"0000", |
000868 => x"0000", |
000869 => x"0000", |
000870 => x"0000", |
000871 => x"0000", |
000872 => x"0000", |
000873 => x"0000", |
000874 => x"0000", |
000875 => x"0000", |
000876 => x"0000", |
000877 => x"0000", |
000878 => x"0000", |
000879 => x"0000", |
000880 => x"0000", |
000881 => x"0000", |
000882 => x"0000", |
000883 => x"0000", |
000884 => x"0000", |
000885 => x"0000", |
000886 => x"0000", |
000887 => x"0000", |
000888 => x"0000", |
000889 => x"0000", |
000890 => x"0000", |
000891 => x"0000", |
000892 => x"0000", |
000893 => x"0000", |
000894 => x"0000", |
000895 => x"0000", |
000896 => x"0000", |
000897 => x"0000", |
000898 => x"0000", |
000899 => x"0000", |
000900 => x"4578", |
000901 => x"6365", |
000902 => x"7074", |
000903 => x"696f", |
000904 => x"6e2f", |
000905 => x"696e", |
000906 => x"7465", |
000907 => x"7272", |
000908 => x"7570", |
000909 => x"7420", |
000910 => x"6572", |
000911 => x"726f", |
000912 => x"7221", |
000913 => x"0000", |
000914 => x"436f", |
000915 => x"6d70", |
000916 => x"7574", |
000917 => x"696e", |
000918 => x"6720", |
000919 => x"4646", |
000920 => x"542e", |
000921 => x"2e2e", |
000922 => x"2000", |
000923 => x"0000", |
000924 => x"0000", |
000925 => x"0000", |
000926 => x"0000", |
000927 => x"0000", |
000928 => x"0000", |
000929 => x"0000", |
000930 => x"0000", |
000931 => x"0000", |
000932 => x"0000", |
000933 => x"0000", |
000934 => x"0000", |
000935 => x"0000", |
000936 => x"0000", |
000937 => x"0000", |
000938 => x"0000", |
000939 => x"0000", |
000940 => x"0000", |
000941 => x"0000", |
000942 => x"0000", |
000943 => x"0000", |
000944 => x"0000", |
000945 => x"0000", |
000946 => x"0000", |
000947 => x"0000", |
000948 => x"0000", |
000949 => x"0000", |
000950 => x"0000", |
000951 => x"0000", |
000952 => x"0000", |
000953 => x"0000", |
000954 => x"0000", |
000955 => x"0000", |
000956 => x"0000", |
000957 => x"0000", |
000958 => x"0000", |
000959 => x"0000", |
000960 => x"0000", |
000961 => x"0000", |
000962 => x"0000", |
000963 => x"0000", |
000964 => x"0000", |
000965 => x"0000", |
000966 => x"0000", |
000967 => x"0000", |
000968 => x"0000", |
000969 => x"0000", |
000970 => x"0000", |
000971 => x"0000", |
000972 => x"0000", |
000973 => x"0000", |
000974 => x"0000", |
000975 => x"0000", |
000976 => x"0000", |
000977 => x"0000", |
000978 => x"0000", |
000979 => x"0000", |
000980 => x"0000", |
000981 => x"0000", |
000982 => x"0000", |
000983 => x"0000", |
000984 => x"0000", |
000985 => x"0000", |
000986 => x"0000", |
others => x"0000" |
/trunk/software/examples/fft/fft_sincos.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
trunk/software/examples/fft/fft_sincos.exe
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: trunk/software/examples/fft/FFT.asm
===================================================================
--- trunk/software/examples/fft/FFT.asm (nonexistent)
+++ trunk/software/examples/fft/FFT.asm (revision 34)
@@ -0,0 +1,833 @@
+; **************************************************************************************************************
+; FFT - Fast Fourier Transformation
+;
+; N=32: 13851 cycles
+; N=64: 33765 cycles
+; N=128: 107192 cycles
+; **************************************************************************************************************
+
+
+; **************************************************************************************************************
+; Defintions
+; **************************************************************************************************************
+.equ sys0_core c0
+.equ sys1_core c1
+.equ com0_core c2
+.equ com1_core c3
+.equ sp r6 ; stack pointer
+.equ lr r7 ; link register
+
+
+; **************************************************************************************************************
+; FFT Configuration
+; **************************************************************************************************************
+.equ fft_n_c #128 ; = N
+.equ fft_mem_c #256 ; = N*2
+
+
+; **************************************************************************************************************
+; Exception Vector Table
+; **************************************************************************************************************
+reset_vec: b reset
+x_int0_vec: b err_handler
+x_int1_vec: b err_handler
+cmd_err_vec: b err_handler
+swi_vec: b err_handler
+
+
+; **************************************************************************************************************
+; IRQ/SWI/CMD_ERR: Terminate
+; **************************************************************************************************************
+err_handler:
+ bl uart_linebreak
+ ldil r2, low[err_string]
+ ldih r2, high[err_string]
+ bl uart_print
+ bl uart_linebreak
+ b #+0 ; freeze
+
+
+; **************************************************************************************************************
+; Main Program
+; **************************************************************************************************************
+reset: ldil sp, low[stack_end] ; setup negative-growing stack
+ ldih sp, high[stack_end]
+
+ ; print intro
+ ldil r2, low[string_intro]
+ ldih r2, high[string_intro]
+ bl uart_print
+
+ ; init timer
+ ldil r0, #0xFF
+ mcr #1, sys0_core, r0, #3 ; timer threshold
+ ldil r0, #2
+ mcr #1, sys0_core, r0, #4 ; timer prescaler = 1/4
+
+
+; rearrange input data (bit-reverse sorting)
+; -----------------------------------------------------------------------------
+ ; compute r0=log2(N)
+ ldil r0, low[fft_n_c] ; N
+ ldih r0, high[fft_n_c]
+ ldil r7, low[math_log2]
+ ldih r7, high[math_log2]
+ gtl r7
+ push r0 ; = ld(N)
+
+ ; re-order
+ ldil r5, low[input_signal]
+ ldih r5, high[input_signal]
+ ldil r2, low[fft_ram]
+ ldih r2, high[fft_ram]
+ clr r3, #0 ; initial offset fft_ram
+fft_store_loop:
+ ldr r0, r5, +#2, post, ! ; get real part of sample
+ ldil r1, #0x00 ; imaginary part = 0
+ peek r4 ; = ld(N)
+
+ ldil r7, low[store_fft_sample]
+ ldih r7, high[store_fft_sample]
+ gtl r7
+
+ inc r3, r3, #1 ; in offset
+ ldil r0, low[fft_n_c] ; N
+ ldih r0, high[fft_n_c]
+ cmp r3, r0
+ bne fft_store_loop
+ pop r0
+
+
+; Perform FFT
+; -----------------------------------------------------------------------------
+ ; reset timer
+ clr r5
+ mcr #1, sys0_core, r5, #2 ; timer counter
+
+ ; perform FFT
+ ldil r0, low[fft_ram]
+ ldih r0, high[fft_ram]
+ ldil r1, low[fft_n_c]
+ ldih r1, high[fft_n_c]
+ ldil r2, low[fft_sincos_lut]
+ ldih r2, high[fft_sincos_lut]
+ bl math_fft
+
+ ; get timer
+ mrc #1, r4, sys0_core, #2 ; timer counter
+ bl print_hex_string
+ bl uart_linebreak
+
+
+; print FFT result
+; -----------------------------------------------------------------------------
+ ldil r5, low[fft_ram]
+ ldih r5, high[fft_ram]
+ ldil r3, low[fft_n_c]
+ ldih r3, high[fft_n_c]
+print_results:
+ ldr r4, r5, +#2, post, !
+ bl print_hex_string
+
+ ldil r1, #32
+ bl uart_sendbyte
+
+ ldr r4, r5, +#2, post, !
+ bl print_hex_string
+
+ bl uart_linebreak
+
+ decs r3, r3, #1
+ bne print_results
+
+ b #+0
+
+
+; **************************************************************************************************************
+; Communication Subroutines
+; **************************************************************************************************************
+
+; --------------------------------------------------------------------------------------------------------
+; Print char (byte) via CP0.COM_0.UART
+; Arguments: r1 = char (low byte)
+; Results: -
+; Used registers: r0, r1
+uart_sendbyte:
+; --------------------------------------------------------------------------------------------------------
+ mrc #1, r0, com0_core, #2 ; get com control register
+ stb r0, #5 ; copy uart tx_busy flag to T-flag
+ bts uart_sendbyte ; still set, keep on waiting
+ mcr #1, com0_core, r1, #0 ; send data
+ ret lr
+
+
+; --------------------------------------------------------------------------------------------------------
+; Receive a byte via CP0.COM_0.UART
+; Arguments: -
+; Results: r0 (low byte)
+; Used registers: r0
+uart_receivebyte:
+; --------------------------------------------------------------------------------------------------------
+ mrc #1, r0, com0_core, #0 ; get uart status/data register
+ stbi r0, #15 ; copy inverted uart rx_ready flag to T-flag
+ bts uart_receivebyte ; nothing received, keep on waiting
+ ldih r0, #0x00 ; clear upper byte
+ ret lr ; return
+
+
+; --------------------------------------------------------------------------------------------------------
+; Prints 16bit data as 4x char hex value
+; Arguments:
+; r4 = data
+; Results: -
+; Used registers: r0, r1, r2, r3, r4, lr
+print_hex_string:
+; --------------------------------------------------------------------------------------------------------
+ push r0
+ push r1
+ push r2
+ push r3
+ push r4
+ push lr ; backup link regiiter
+
+ ; char 3
+ sft r2, r4, #rol
+ sft r2, r2, #rol
+ sft r2, r2, #rol
+ sft r2, r2, #rol
+ bl conv_hex_comp
+ bl uart_sendbyte
+
+ ; char 2
+ sft r2, r4, #swp
+ bl conv_hex_comp
+ bl uart_sendbyte
+
+ ; char 1
+ sft r2, r4, #lsr
+ sft r2, r2, #lsr
+ sft r2, r2, #lsr
+ sft r2, r2, #lsr
+ bl conv_hex_comp
+ bl uart_sendbyte
+
+ ; char 0
+ mov r2, r4
+ bl conv_hex_comp
+ bl uart_sendbyte
+
+ pop lr
+ pop r4
+ pop r3
+ pop r2
+ pop r1
+ pop r0
+ ret lr
+
+; compute hex-char from 4-bit value of r2, result in r1
+conv_hex_comp: ldil r1, #0x0f ; mask for lowest 4 bit
+ and r2, r2, r1
+
+ ldil r1, #9
+ cmp r1, r2
+ bcs #+3
+
+ ldil r1, #48 ; this is a '0'
+ b #+2
+ ldil r1, #55 ; this is an 'A'-10
+ add r1, r1, r2 ; resulting char in lower byte
+ ret lr
+
+
+; --------------------------------------------------------------------------------------------------------
+; Print linebreak
+; Arguments: -
+; Results: -
+; Used registers: r0, r1, r2, lr
+uart_linebreak:
+; --------------------------------------------------------------------------------------------------------
+ push r0
+ push r1
+ push r2
+ push lr
+
+ mov r2, lr
+ ldil r1, #0x0D ; carriage return
+ bl uart_sendbyte
+ ldil r1, #0x0A ; line feed
+ mov lr, r2
+ bl uart_sendbyte
+
+ pop lr
+ pop r2
+ pop r1
+ pop r0
+ ret lr
+
+
+; --------------------------------------------------------------------------------------------------------
+; Print char-string (bytes) via CP0.COM_0.UART
+; Arguments: r2 = address of string (string must be zero-terminated!)
+; Results: -
+; Used registers: r0, r1, r2, r3, r4, lr
+uart_print:
+; --------------------------------------------------------------------------------------------------------
+ mov r4, lr
+
+uart_print_loop:
+ ldr r0, r2, +#1, post, ! ; get one string byte
+ ldil r1, #0x00 ; upper byte mask
+ ldih r1, #0xFF
+ and r1, r0, r1
+ sfts r1, r1, #swp ; swap bytes and test if zero
+ beq uart_print_loop_end
+ bl uart_sendbyte
+ b uart_print_loop
+
+uart_print_loop_end:
+ ret r4
+
+
+
+; ***********************************************************************************************************
+; Fast Fourier Transformation (Cooley and Tukey Algorithm)
+; --------------------------------------------------------------------------------------------------------
+; Perform Radix-2 FFT. Make sure to scramble (bit-reverse sorting) input data before
+; Arguments:
+; r0 = pointer to signal memory (input/output)
+; r1 = number of points (must be a power of two and not zero)
+; r2 = pointer to sincos table
+; Results: -
+; Used registers: r0, r1, r2, r3, r4, r5, r6, r7 (saves on stack)
+; --------------------------------------------------------------------------------------------------------
+math_fft:
+; ***********************************************************************************************************
+ push r5
+ push r4
+ push r3
+ push r2
+ push r1
+ push r0
+ push lr ; save all regs
+
+ ; save config
+ ldil r7, low[v_math_fft_num_levels]
+ ldih r7, high[v_math_fft_num_levels]
+ str r0, r7, -#6, pre ; pointer to signal memory
+ str r1, r7, -#2, pre ; number of points
+ str r2, r7, -#4, pre ; pointer to sincos table
+
+ ; get number of levels = ld(N)
+ clr r0
+math_fft_get_lvs:
+ sft r1, r1, #lsr
+ teq r1, r1
+ beq #+3
+ inc r0, r0, #1
+ b math_fft_get_lvs
+ ldil r7, low[v_math_fft_num_levels]
+ ldih r7, high[v_math_fft_num_levels]
+ str r0, r7, +#0, pre
+
+ ; init control varibales
+ ldil r7, low[v_math_fft_num_levels]
+ ldih r7, high[v_math_fft_num_levels]
+ ldil r5, #1
+ str r5, r7, +#2, pre ; current_level = 1 = first level
+ str r5, r7, +#4, pre ; current_dft = 1 = first sub DFT
+ str r5, r7, +#6, pre ; current_btfly = 1 = first butterfly
+
+ ldil r7, low[v_math_fft_a_offs]
+ ldih r7, high[v_math_fft_a_offs]
+ ldil r5, #0
+ str r5, r7, +#0, pre ; offset A
+
+math_fft_level: ldil r7, low[v_math_fft_dft]
+ ldih r7, high[v_math_fft_dft]
+ ldr r1, r7, -#2, pre ; current LEVEL
+ ldr r2, r7, +#0, pre ; current SUB_DFT
+ dec r2, r2, #1
+
+ ldil r4, #4
+ sft r4, r4, #lsl
+ decs r1, r1, #1
+ bne #-2 ; r4 = 4< and pointer
+ ldil r7, low[v_math_fft_num_levels]
+ ldih r7, high[v_math_fft_num_levels]
+ ldr r4, r7, -#6, pre ; signal mem pointer
+ ldr r1, r7, +#2, pre ; current LEVEL
+ ldr r2, r7, +#6, pre ; current BUTTERFLY
+ ldr r3, r7, -#4, pre ; sincos table pointer
+ dec r2, r2, #1 ; = BUTTERFLY-1
+ sft r2, r2, #lsl
+ sft r2, r2, #lsl ; offset W = (BUTTERFLY-1)*4
+ add r2, r3, r2 ; pointer W
+
+ ldil r7, low[v_math_fft_a_offs]
+ ldih r7, high[v_math_fft_a_offs]
+ ldr r0, r7, +#0, pre ; offset A
+ add r0, r0, r4 ; pointer A
+
+ ldil r3, #2
+ sft r3, r3, #lsl
+ decs r1, r1, #1
+ bne #-2
+ add r1, r0, r3 ; pointer B
+
+ ; backup pointer
+ ldil r7, low[v_math_fft_a_pnt]
+ ldih r7, high[v_math_fft_a_pnt]
+ str r0, r7, +#0, pre ; A
+ str r1, r7, +#2, pre ; B
+ str r2, r7, +#4, pre ; W
+
+ ; get data
+ mov r3, r0
+ mov r4, r1
+ mov r5, r2
+ push r3
+ push r4
+ ldr r0, r3, +#0, pre ; A_real
+ ldr r1, r3, +#2, pre ; A_imag
+ ldr r2, r4, +#0, pre ; B_real
+ ldr r3, r4, +#2, pre ; B_imag
+ ldr r4, r5, +#0, pre ; W_real
+ ldr r5, r5, +#2, pre ; W_imag
+
+ ; perform butterfly
+ bl fft_butterfly
+
+ ; store new data
+ pop r5
+ pop r4
+ str r2, r5, +#0, pre ; B_real'
+ str r3, r5, +#2, pre ; B_imag'
+ str r0, r4, +#0, pre ; A_real'
+ str r1, r4, +#2, pre ; A_imag'
+
+ ; add step_width to offset A
+ ldil r7, low[v_math_fft_a_offs]
+ ldih r7, high[v_math_fft_a_offs]
+ ldr r0, r7, +#0, pre
+ ldil r1, #4
+ add r0, r0, r1
+ str r0, r7, +#0, pre
+
+ ; all butterflies done?
+ ldil r7, low[v_math_fft_num_levels]
+ ldih r7, high[v_math_fft_num_levels]
+ ldr r0, r7, +#2, pre ; current LEVEL
+ ldr r2, r7, +#6, pre ; current BUTTERFLY
+
+ ldil r1, #1
+ decs r0, r0, #1
+ beq #+3
+ sft r1, r1, #lsl ; #butterflies per sub dft = 1<<(LEVEL-1)
+ b #-3
+
+ cmp r1, r2 ; #butterflies per sub DFT = current BUTTERFLY?
+ inc r2, r2, #1 ; inc BUTTERFLY
+ str r2, r7, +#6, pre ; new BUTTERFLY
+ bne math_fft_butterfly
+
+ ldil r2, #1
+ str r2, r7, +#6, pre ; reset BUTTERFLY
+
+ ; all sub DFTs done?
+ ldil r7, low[v_math_fft_num_levels]
+ ldih r7, high[v_math_fft_num_levels]
+ ldr r0, r7, -#2, pre ; N
+ ldr r1, r7, +#2, pre ; current LEVEL
+ ldr r2, r7, +#4, pre ; current SUB_DFT
+
+ sft r0, r0, #lsr ; number of DFTs = N >> LEVEL
+ decs r1, r1, #1
+ bne #-2
+
+ cmp r0, r2 ; #sub DFTs per level = current SUB_DFT?
+ inc r2, r2, #1 ; inc SUB_DFT
+ str r2, r7, +#4, pre ; new SUB_DFT
+ bne math_fft_level
+
+ ldil r2, #1 ; reset value for SUB_DFT
+ str r2, r7, +#4, pre ; reset SUB_DFT?
+
+ ; all levels done?
+ ldil r7, low[v_math_fft_num_levels]
+ ldih r7, high[v_math_fft_num_levels]
+ ldr r0, r7, +#0, pre ; #levels
+ ldr r1, r7, +#2, pre ; current LEVEL
+ cmp r0, r1
+ inc r1, r1, #1 ; inc current LEVEL
+ str r1, r7, +#2, pre ; new LEVEL
+ bne math_fft_level
+
+ ; terminate
+ pop lr
+ pop r0
+ pop r1
+ pop r2
+ pop r3
+ pop r4
+ pop r5 ; restore regs
+
+ ret lr
+
+
+; FFT run-time data memory
+v_math_fft_sig_pnt: nop ; pointer to processing memory
+v_math_sincos_pnt: nop ; pointer to sincos table
+v_math_fft_num_points: nop ; number of points (N)
+v_math_fft_num_levels: nop ; #levels
+v_math_fft_level: nop ; current LEVEL
+v_math_fft_dft: nop ; current SUB_DFT
+v_math_fft_btfly: nop ; current BUTTERFLY
+
+v_math_fft_a_offs: nop ; offset for A
+v_math_fft_a_pnt: nop ; pointer for A
+v_math_fft_b_pnt: nop ; pointer for B
+v_math_fft_w_pnt: nop ; pointer for W
+
+
+; ***********************************************************************************************************
+; FFT Butterfly (16-bit)
+; --------------------------------------------------------------------------------------------------------
+; Twiddle factors (W): 1-bit SIGN + 1-bit integer + 14-bit fractional part
+; A' = A + B*W
+; B' = B - B*W
+; Arguments:
+; r0 = A_real
+; r1 = A_imag
+; r2 = B_real
+; r3 = B_imag
+; r4 = W_real
+; r5 = W_imag
+; Results:
+; r0 = A_real_new
+; r1 = A_imag_new
+; r2 = B_real_new
+; r3 = B_imag_new
+; Used registers: r0, r1, r2, r3, r4, r5, r6, r7 (saves on stack)
+; --------------------------------------------------------------------------------------------------------
+fft_butterfly:
+; ***********************************************************************************************************
+ push lr
+
+ ; multiplications (signed!)
+ push r0
+ push r1
+
+ ldil r7, low[fft_butterfly_mem]
+ ldih r7, high[fft_butterfly_mem]
+
+ mul r0, r4, r2
+ mulh r1, r4, r2 ; r1:r0 = U = W_real*B_real
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol ; r1 = r1:r0 >> 14
+ str r1, r7, +#0, pre
+
+ mul r0, r4, r3
+ mulh r1, r4, r3 ; r1:r0 = V = W_real*B_imag
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol ; r1 = r1:r0 >> 14
+ str r1, r7, +#2, pre
+
+ mul r0, r5, r2
+ mulh r1, r5, r2 ; r1:r0 = X = W_imag*B_real
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol ; r1 = r1:r0 >> 14
+ str r1, r7, +#4, pre
+
+ mul r0, r5, r3
+ mulh r1, r5, r3 ; r1:r0 = Y = W_imag*B_imag
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol
+ sfts r0, r0, #lsl
+ sft r1, r1, #rol ; r1 = r1:r0 >> 14
+ str r1, r7, +#6, pre
+
+ pop r1
+ pop r0
+
+ ; additions
+ ; A_real' = A_real + U - Y
+ ldr r2, r7, +#0, pre ; r2 = U
+ ldr r3, r7, +#6, pre ; r3 = Y
+ adds r2, r0, r2 ; r2 = A_real + U
+ sbc r3, r2, r3 ; A_real' = r3 = r2 - Y
+ push r3
+
+ ; A_imag' = A_imag + V + X
+ ldr r2, r7, +#2, pre ; r2 = V
+ ldr r3, r7, +#4, pre ; r3 = X
+ adds r2, r1, r2 ; r2 = A_imga + V
+ adc r3, r2, r3 ; A_imag' = r3 = r2 +X
+ push r3
+
+ ; B_real' = A_real - U + Y
+ ldr r2, r7, +#0, pre ; r2 = U
+ ldr r3, r7, +#6, pre ; r3 = Y
+ subs r2, r0, r2 ; r2 = A_real - U
+ adc r3, r2, r3 ; B_real' = r3 = r2 + Y
+ push r3
+
+ ; B_imag' = A_imag - V - X
+ ldr r2, r7, +#2, pre ; r2 = V
+ ldr r3, r7, +#4, pre ; r3 = X
+ subs r2, r1, r2 ; r2 = A_real - U
+ sbc r3, r2, r3 ; B_imag' = r3 = r2 - Y
+; push r3
+
+ ; re-arrange
+; pop r3 ; r3 = B_imag'
+ pop r2 ; r2 = B_real'
+ pop r1 ; r1 = A_imag'
+ pop r0 ; r0 = A_real'
+
+ ; done
+ pop lr
+ ret lr
+
+
+; Butterfly run-time memory (4x words)
+fft_butterfly_mem: .space #4
+
+
+; ***********************************************************************************************************
+; Store complex sample with bit-reversed offset
+; --------------------------------------------------------------------------------------------------------
+; Arguments:
+; r0 = Sample real part
+; r1 = Sample imaginary part
+; r2 = Destination buffer base address (absolute)
+; r3 = Binary offset number (0..N-1)
+; r4 = ld(N)
+; Results: -
+; Used registers: r0, r1, r2, r3, r4, r5, r6 (saves on stack)
+; --------------------------------------------------------------------------------------------------------
+store_fft_sample:
+; ***********************************************************************************************************
+ push r3 ; backup offset
+ push r4 ; backup ld(N)
+ push r5 ; backup temp
+
+ ; iterative computation of bit-reversed address
+ clr r5
+store_fft_sample_brev:
+ sfts r3, r3, #lsr
+ sft r5, r5, #rlc
+ decs r4, r4, #1
+ bne store_fft_sample_brev
+
+ sft r5, r5, #lsl ; bytes to words
+ sft r5, r5, #lsl ; offset*2 -> 2 samples per offset
+
+ ; store it
+ add r5, r2, r5 ; add offset to base
+ str r0, r5, +#0, pre ; real
+ str r1, r5, +#2, pre ; imag
+
+ pop r5 ; restore temp
+ pop r4 ; restore ld(N)
+ pop r3 ; restore original offset
+
+ ret lr ; terminate
+
+
+; ***********************************************************************************************************
+; Compuation of dual logarithm
+; --------------------------------------------------------------------------------------------------------
+; Arguments:
+; r0 = Argument
+; Results:
+; r0 = log2(Argument)
+; Used registers: r0, r1, r6 (saves on stack)
+; --------------------------------------------------------------------------------------------------------
+math_log2:
+; ***********************************************************************************************************
+ push r1 ; backup temp
+
+ clr r1
+math_log2_loop:
+ sfts r0, r0, #lsr
+ beq math_log2_end
+ inc r1, r1, #1
+ b math_log2_loop
+
+math_log2_end:
+ mov r0, r1
+ pop r1 ; restore temp
+
+ ret lr ; terminate
+
+
+; **************************************************************************************************************
+; FFT Sin/Cos Look-Up Table (cos(2*pi*k/N), sin(2*pi*k/N); 0 <= k <= N/2), 14-bit fractional part, signed
+; **************************************************************************************************************
+fft_sincos_lut:
+.include "sincos_lut.asm"
+
+
+; **************************************************************************************************************
+; FFT Input signal (dummy)
+; **************************************************************************************************************
+input_signal:
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+.dw #1024
+.dw #0
+.dw #0
+.dw #0
+
+
+; **************************************************************************************************************
+; FFT processing memory
+; **************************************************************************************************************
+fft_ram:
+.space fft_mem_c ; N*2
+
+
+; **************************************************************************************************************
+; Strings
+; **************************************************************************************************************
+err_string: .stringz "Exception/interrupt error!"
+string_intro: .stringz "Computing FFT... "
+
+
+; **************************************************************************************************************
+; System RAM
+; **************************************************************************************************************
+stack_begin: .space #63
+stack_end: nop
Index: trunk/software/examples/fft/out.bin
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: trunk/software/examples/fft/out.bin
===================================================================
--- trunk/software/examples/fft/out.bin (nonexistent)
+++ trunk/software/examples/fft/out.bin (revision 34)
trunk/software/examples/fft/out.bin
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: trunk/software/examples/random_numbers/init.vhd
===================================================================
--- trunk/software/examples/random_numbers/init.vhd (revision 33)
+++ trunk/software/examples/random_numbers/init.vhd (revision 34)
@@ -3,35 +3,35 @@
000002 => x"bc03", -- B
000003 => x"bc02", -- B
000004 => x"bc01", -- B
-000005 => x"be31", -- BL
-000006 => x"c110", -- LDIL
+000005 => x"be30", -- BL
+000006 => x"c10e", -- LDIL
000007 => x"c901", -- LDIH
000008 => x"be21", -- BL
-000009 => x"be2d", -- BL
+000009 => x"be2c", -- BL
000010 => x"bc00", -- B
-000011 => x"c12c", -- LDIL
+000011 => x"c12a", -- LDIL
000012 => x"c901", -- LDIH
000013 => x"be19", -- BL
-000014 => x"c144", -- LDIL
+000014 => x"c142", -- LDIL
000015 => x"c901", -- LDIH
000016 => x"be19", -- BL
-000017 => x"be34", -- BL
+000017 => x"be33", -- BL
000018 => x"ec4d", -- MCR
-000019 => x"be23", -- BL
-000020 => x"c160", -- LDIL
+000019 => x"be22", -- BL
+000020 => x"c15e", -- LDIL
000021 => x"c901", -- LDIH
000022 => x"be13", -- BL
-000023 => x"be2e", -- BL
+000023 => x"be2d", -- BL
000024 => x"d24f", -- CBR
000025 => x"ec4e", -- MCR
-000026 => x"be1c", -- BL
+000026 => x"be1b", -- BL
000027 => x"c0b0", -- LDIL
-000028 => x"be1f", -- BL
+000028 => x"be1e", -- BL
000029 => x"c0f8", -- LDIL
-000030 => x"be1d", -- BL
+000030 => x"be1c", -- BL
000031 => x"ee05", -- MRC
-000032 => x"be4a", -- BL
-000033 => x"be15", -- BL
+000032 => x"be49", -- BL
+000033 => x"be14", -- BL
000034 => x"ec20", -- MRC
000035 => x"dc0f", -- STB
000036 => x"b9ea", -- BTS
@@ -41,151 +41,150 @@
000040 => x"bc03", -- B
000041 => x"29b3", -- CLR
000042 => x"0270", -- MOV
-000043 => x"7829", -- LDR
-000044 => x"c080", -- LDIL
-000045 => x"ccff", -- LDIH
-000046 => x"2081", -- AND
-000047 => x"3c98", -- SFTS
-000048 => x"8003", -- BEQ
-000049 => x"be0a", -- BL
-000050 => x"bdf9", -- B
-000051 => x"03c0", -- MOV
-000052 => x"343b", -- TEQ
-000053 => x"f707", -- RBAEQ
-000054 => x"0170", -- MOV
-000055 => x"c08d", -- LDIL
-000056 => x"be03", -- BL
-000057 => x"c08a", -- LDIL
-000058 => x"03a0", -- MOV
-000059 => x"ec22", -- MRC
-000060 => x"dc05", -- STB
-000061 => x"b9fe", -- BTS
-000062 => x"ed18", -- MCR
-000063 => x"3470", -- RET
-000064 => x"ec20", -- MRC
-000065 => x"dc8f", -- STBI
-000066 => x"b9fe", -- BTS
-000067 => x"c800", -- LDIH
-000068 => x"3470", -- RET
-000069 => x"0170", -- MOV
-000070 => x"c200", -- LDIL
-000071 => x"c184", -- LDIL
-000072 => x"bff8", -- BL
-000073 => x"c0c6", -- LDIL
-000074 => x"1809", -- CMP
-000075 => x"9003", -- BMI
-000076 => x"c0a0", -- LDIL
-000077 => x"1001", -- SUB
-000078 => x"c0b0", -- LDIL
-000079 => x"1809", -- CMP
-000080 => x"91f8", -- BMI
-000081 => x"c0c6", -- LDIL
-000082 => x"1818", -- CMP
-000083 => x"91f5", -- BMI
-000084 => x"c0b9", -- LDIL
-000085 => x"1818", -- CMP
-000086 => x"a404", -- BLS
-000087 => x"c0c1", -- LDIL
-000088 => x"1809", -- CMP
-000089 => x"a1ef", -- BHI
-000090 => x"0080", -- MOV
-000091 => x"bfe0", -- BL
-000092 => x"c030", -- LDIL
-000093 => x"1090", -- SUB
-000094 => x"c009", -- LDIL
-000095 => x"1809", -- CMP
-000096 => x"a402", -- BLS
-000097 => x"0497", -- DEC
+000043 => x"78a9", -- LDR
+000044 => x"3c90", -- SFT
+000045 => x"c880", -- LDIH
+000046 => x"3419", -- TEQ
+000047 => x"8003", -- BEQ
+000048 => x"be0a", -- BL
+000049 => x"bdfa", -- B
+000050 => x"03c0", -- MOV
+000051 => x"343b", -- TEQ
+000052 => x"f707", -- RBAEQ
+000053 => x"0170", -- MOV
+000054 => x"c08d", -- LDIL
+000055 => x"be03", -- BL
+000056 => x"c08a", -- LDIL
+000057 => x"03a0", -- MOV
+000058 => x"ec22", -- MRC
+000059 => x"dc05", -- STB
+000060 => x"b9fe", -- BTS
+000061 => x"ed18", -- MCR
+000062 => x"3470", -- RET
+000063 => x"ec20", -- MRC
+000064 => x"dc8f", -- STBI
+000065 => x"b9fe", -- BTS
+000066 => x"c800", -- LDIH
+000067 => x"3470", -- RET
+000068 => x"0170", -- MOV
+000069 => x"c200", -- LDIL
+000070 => x"c184", -- LDIL
+000071 => x"bff8", -- BL
+000072 => x"c0c7", -- LDIL
+000073 => x"1809", -- CMP
+000074 => x"9003", -- BMI
+000075 => x"c0a0", -- LDIL
+000076 => x"1001", -- SUB
+000077 => x"c0b0", -- LDIL
+000078 => x"1809", -- CMP
+000079 => x"91f8", -- BMI
+000080 => x"c0c6", -- LDIL
+000081 => x"1818", -- CMP
+000082 => x"91f5", -- BMI
+000083 => x"c0b9", -- LDIL
+000084 => x"1818", -- CMP
+000085 => x"a404", -- BLS
+000086 => x"c0c1", -- LDIL
+000087 => x"1809", -- CMP
+000088 => x"a1ef", -- BHI
+000089 => x"0080", -- MOV
+000090 => x"bfe0", -- BL
+000091 => x"c030", -- LDIL
+000092 => x"1090", -- SUB
+000093 => x"c009", -- LDIL
+000094 => x"1809", -- CMP
+000095 => x"a402", -- BLS
+000096 => x"0497", -- DEC
+000097 => x"3e42", -- SFT
000098 => x"3e42", -- SFT
000099 => x"3e42", -- SFT
000100 => x"3e42", -- SFT
-000101 => x"3e42", -- SFT
-000102 => x"2641", -- ORR
-000103 => x"05b9", -- DECS
-000104 => x"85e0", -- BNE
-000105 => x"3420", -- RET
-000106 => x"0370", -- MOV
-000107 => x"3d42", -- SFT
+000101 => x"2641", -- ORR
+000102 => x"05b9", -- DECS
+000103 => x"85e0", -- BNE
+000104 => x"3420", -- RET
+000105 => x"0370", -- MOV
+000106 => x"3d42", -- SFT
+000107 => x"3d22", -- SFT
000108 => x"3d22", -- SFT
000109 => x"3d22", -- SFT
-000110 => x"3d22", -- SFT
-000111 => x"be0f", -- BL
-000112 => x"bfcb", -- BL
-000113 => x"3d40", -- SFT
-000114 => x"be0c", -- BL
-000115 => x"bfc8", -- BL
-000116 => x"3d45", -- SFT
+000110 => x"be0f", -- BL
+000111 => x"bfcb", -- BL
+000112 => x"3d40", -- SFT
+000113 => x"be0c", -- BL
+000114 => x"bfc8", -- BL
+000115 => x"3d45", -- SFT
+000116 => x"3d25", -- SFT
000117 => x"3d25", -- SFT
000118 => x"3d25", -- SFT
-000119 => x"3d25", -- SFT
-000120 => x"be06", -- BL
-000121 => x"bfc2", -- BL
-000122 => x"0140", -- MOV
-000123 => x"be03", -- BL
-000124 => x"bfbf", -- BL
-000125 => x"3460", -- RET
-000126 => x"c08f", -- LDIL
-000127 => x"2121", -- AND
-000128 => x"c089", -- LDIL
-000129 => x"181a", -- CMP
-000130 => x"8803", -- BCS
-000131 => x"c0b0", -- LDIL
-000132 => x"bc02", -- B
-000133 => x"c0b7", -- LDIL
-000134 => x"0892", -- ADD
-000135 => x"3470", -- RET
-000136 => x"4578", -- .DW
-000137 => x"6365", -- .DW
-000138 => x"7074", -- .DW
-000139 => x"696f", -- .DW
-000140 => x"6e2f", -- .DW
-000141 => x"696e", -- .DW
-000142 => x"7465", -- .DW
-000143 => x"7272", -- .DW
-000144 => x"7570", -- .DW
-000145 => x"7420", -- .DW
-000146 => x"6572", -- .DW
-000147 => x"726f", -- .DW
-000148 => x"7221", -- .DW
-000149 => x"0000", -- .DW
-000150 => x"5261", -- .DW
-000151 => x"6e64", -- .DW
-000152 => x"6f6d", -- .DW
-000153 => x"204e", -- .DW
-000154 => x"756d", -- .DW
-000155 => x"6265", -- .DW
-000156 => x"7220", -- .DW
-000157 => x"4765", -- .DW
-000158 => x"6e65", -- .DW
-000159 => x"7261", -- .DW
-000160 => x"746f", -- .DW
-000161 => x"7200", -- .DW
-000162 => x"456e", -- .DW
-000163 => x"7465", -- .DW
-000164 => x"7220", -- .DW
-000165 => x"4c46", -- .DW
-000166 => x"5352", -- .DW
-000167 => x"2073", -- .DW
-000168 => x"6565", -- .DW
-000169 => x"6420", -- .DW
-000170 => x"2834", -- .DW
-000171 => x"6865", -- .DW
-000172 => x"7829", -- .DW
-000173 => x"3a20", -- .DW
-000174 => x"3078", -- .DW
-000175 => x"0000", -- .DW
-000176 => x"456e", -- .DW
-000177 => x"7465", -- .DW
-000178 => x"7220", -- .DW
-000179 => x"4c46", -- .DW
-000180 => x"5352", -- .DW
-000181 => x"2074", -- .DW
-000182 => x"6170", -- .DW
-000183 => x"7320", -- .DW
-000184 => x"2834", -- .DW
-000185 => x"6865", -- .DW
-000186 => x"7829", -- .DW
-000187 => x"3a20", -- .DW
-000188 => x"3078", -- .DW
-000189 => x"0000", -- .DW
+000119 => x"be06", -- BL
+000120 => x"bfc2", -- BL
+000121 => x"0140", -- MOV
+000122 => x"be03", -- BL
+000123 => x"bfbf", -- BL
+000124 => x"3460", -- RET
+000125 => x"c08f", -- LDIL
+000126 => x"2121", -- AND
+000127 => x"c089", -- LDIL
+000128 => x"181a", -- CMP
+000129 => x"8803", -- BCS
+000130 => x"c0b0", -- LDIL
+000131 => x"bc02", -- B
+000132 => x"c0b7", -- LDIL
+000133 => x"0892", -- ADD
+000134 => x"3470", -- RET
+000135 => x"4578", -- .DW
+000136 => x"6365", -- .DW
+000137 => x"7074", -- .DW
+000138 => x"696f", -- .DW
+000139 => x"6e2f", -- .DW
+000140 => x"696e", -- .DW
+000141 => x"7465", -- .DW
+000142 => x"7272", -- .DW
+000143 => x"7570", -- .DW
+000144 => x"7420", -- .DW
+000145 => x"6572", -- .DW
+000146 => x"726f", -- .DW
+000147 => x"7221", -- .DW
+000148 => x"0000", -- .DW
+000149 => x"5261", -- .DW
+000150 => x"6e64", -- .DW
+000151 => x"6f6d", -- .DW
+000152 => x"204e", -- .DW
+000153 => x"756d", -- .DW
+000154 => x"6265", -- .DW
+000155 => x"7220", -- .DW
+000156 => x"4765", -- .DW
+000157 => x"6e65", -- .DW
+000158 => x"7261", -- .DW
+000159 => x"746f", -- .DW
+000160 => x"7200", -- .DW
+000161 => x"456e", -- .DW
+000162 => x"7465", -- .DW
+000163 => x"7220", -- .DW
+000164 => x"4c46", -- .DW
+000165 => x"5352", -- .DW
+000166 => x"2073", -- .DW
+000167 => x"6565", -- .DW
+000168 => x"6420", -- .DW
+000169 => x"2834", -- .DW
+000170 => x"6865", -- .DW
+000171 => x"7829", -- .DW
+000172 => x"3a20", -- .DW
+000173 => x"3078", -- .DW
+000174 => x"0000", -- .DW
+000175 => x"456e", -- .DW
+000176 => x"7465", -- .DW
+000177 => x"7220", -- .DW
+000178 => x"4c46", -- .DW
+000179 => x"5352", -- .DW
+000180 => x"2074", -- .DW
+000181 => x"6170", -- .DW
+000182 => x"7320", -- .DW
+000183 => x"2834", -- .DW
+000184 => x"6865", -- .DW
+000185 => x"7829", -- .DW
+000186 => x"3a20", -- .DW
+000187 => x"3078", -- .DW
+000188 => x"0000", -- .DW
others => x"0000" -- NOP
\ No newline at end of file
Index: trunk/software/examples/random_numbers/boot_init.vhd
===================================================================
--- trunk/software/examples/random_numbers/boot_init.vhd (revision 33)
+++ trunk/software/examples/random_numbers/boot_init.vhd (revision 34)
@@ -1,45 +1,45 @@
000000 => x"cafe",
-000001 => x"00be",
-000002 => x"7740",
-000003 => x"5241",
-000004 => x"4e44",
-000005 => x"4f4d",
-000006 => x"5f4e",
-000007 => x"554d",
+000001 => x"00bd",
+000002 => x"a78d",
+000003 => x"524e",
+000004 => x"445f",
+000005 => x"4e55",
+000006 => x"4d42",
+000007 => x"4552",
000008 => x"bc0b",
000009 => x"bc04",
000010 => x"bc03",
000011 => x"bc02",
000012 => x"bc01",
-000013 => x"be31",
-000014 => x"c110",
+000013 => x"be30",
+000014 => x"c10e",
000015 => x"c901",
000016 => x"be21",
-000017 => x"be2d",
+000017 => x"be2c",
000018 => x"bc00",
-000019 => x"c12c",
+000019 => x"c12a",
000020 => x"c901",
000021 => x"be19",
-000022 => x"c144",
+000022 => x"c142",
000023 => x"c901",
000024 => x"be19",
-000025 => x"be34",
+000025 => x"be33",
000026 => x"ec4d",
-000027 => x"be23",
-000028 => x"c160",
+000027 => x"be22",
+000028 => x"c15e",
000029 => x"c901",
000030 => x"be13",
-000031 => x"be2e",
+000031 => x"be2d",
000032 => x"d24f",
000033 => x"ec4e",
-000034 => x"be1c",
+000034 => x"be1b",
000035 => x"c0b0",
-000036 => x"be1f",
+000036 => x"be1e",
000037 => x"c0f8",
-000038 => x"be1d",
+000038 => x"be1c",
000039 => x"ee05",
-000040 => x"be4a",
-000041 => x"be15",
+000040 => x"be49",
+000041 => x"be14",
000042 => x"ec20",
000043 => x"dc0f",
000044 => x"b9ea",
@@ -49,151 +49,150 @@
000048 => x"bc03",
000049 => x"29b3",
000050 => x"0270",
-000051 => x"7829",
-000052 => x"c080",
-000053 => x"ccff",
-000054 => x"2081",
-000055 => x"3c98",
-000056 => x"8003",
-000057 => x"be0a",
-000058 => x"bdf9",
-000059 => x"03c0",
-000060 => x"343b",
-000061 => x"f707",
-000062 => x"0170",
-000063 => x"c08d",
-000064 => x"be03",
-000065 => x"c08a",
-000066 => x"03a0",
-000067 => x"ec22",
-000068 => x"dc05",
-000069 => x"b9fe",
-000070 => x"ed18",
-000071 => x"3470",
-000072 => x"ec20",
-000073 => x"dc8f",
-000074 => x"b9fe",
-000075 => x"c800",
-000076 => x"3470",
-000077 => x"0170",
-000078 => x"c200",
-000079 => x"c184",
-000080 => x"bff8",
-000081 => x"c0c6",
-000082 => x"1809",
-000083 => x"9003",
-000084 => x"c0a0",
-000085 => x"1001",
-000086 => x"c0b0",
-000087 => x"1809",
-000088 => x"91f8",
-000089 => x"c0c6",
-000090 => x"1818",
-000091 => x"91f5",
-000092 => x"c0b9",
-000093 => x"1818",
-000094 => x"a404",
-000095 => x"c0c1",
-000096 => x"1809",
-000097 => x"a1ef",
-000098 => x"0080",
-000099 => x"bfe0",
-000100 => x"c030",
-000101 => x"1090",
-000102 => x"c009",
-000103 => x"1809",
-000104 => x"a402",
-000105 => x"0497",
+000051 => x"78a9",
+000052 => x"3c90",
+000053 => x"c880",
+000054 => x"3419",
+000055 => x"8003",
+000056 => x"be0a",
+000057 => x"bdfa",
+000058 => x"03c0",
+000059 => x"343b",
+000060 => x"f707",
+000061 => x"0170",
+000062 => x"c08d",
+000063 => x"be03",
+000064 => x"c08a",
+000065 => x"03a0",
+000066 => x"ec22",
+000067 => x"dc05",
+000068 => x"b9fe",
+000069 => x"ed18",
+000070 => x"3470",
+000071 => x"ec20",
+000072 => x"dc8f",
+000073 => x"b9fe",
+000074 => x"c800",
+000075 => x"3470",
+000076 => x"0170",
+000077 => x"c200",
+000078 => x"c184",
+000079 => x"bff8",
+000080 => x"c0c7",
+000081 => x"1809",
+000082 => x"9003",
+000083 => x"c0a0",
+000084 => x"1001",
+000085 => x"c0b0",
+000086 => x"1809",
+000087 => x"91f8",
+000088 => x"c0c6",
+000089 => x"1818",
+000090 => x"91f5",
+000091 => x"c0b9",
+000092 => x"1818",
+000093 => x"a404",
+000094 => x"c0c1",
+000095 => x"1809",
+000096 => x"a1ef",
+000097 => x"0080",
+000098 => x"bfe0",
+000099 => x"c030",
+000100 => x"1090",
+000101 => x"c009",
+000102 => x"1809",
+000103 => x"a402",
+000104 => x"0497",
+000105 => x"3e42",
000106 => x"3e42",
000107 => x"3e42",
000108 => x"3e42",
-000109 => x"3e42",
-000110 => x"2641",
-000111 => x"05b9",
-000112 => x"85e0",
-000113 => x"3420",
-000114 => x"0370",
-000115 => x"3d42",
+000109 => x"2641",
+000110 => x"05b9",
+000111 => x"85e0",
+000112 => x"3420",
+000113 => x"0370",
+000114 => x"3d42",
+000115 => x"3d22",
000116 => x"3d22",
000117 => x"3d22",
-000118 => x"3d22",
-000119 => x"be0f",
-000120 => x"bfcb",
-000121 => x"3d40",
-000122 => x"be0c",
-000123 => x"bfc8",
-000124 => x"3d45",
+000118 => x"be0f",
+000119 => x"bfcb",
+000120 => x"3d40",
+000121 => x"be0c",
+000122 => x"bfc8",
+000123 => x"3d45",
+000124 => x"3d25",
000125 => x"3d25",
000126 => x"3d25",
-000127 => x"3d25",
-000128 => x"be06",
-000129 => x"bfc2",
-000130 => x"0140",
-000131 => x"be03",
-000132 => x"bfbf",
-000133 => x"3460",
-000134 => x"c08f",
-000135 => x"2121",
-000136 => x"c089",
-000137 => x"181a",
-000138 => x"8803",
-000139 => x"c0b0",
-000140 => x"bc02",
-000141 => x"c0b7",
-000142 => x"0892",
-000143 => x"3470",
-000144 => x"4578",
-000145 => x"6365",
-000146 => x"7074",
-000147 => x"696f",
-000148 => x"6e2f",
-000149 => x"696e",
-000150 => x"7465",
-000151 => x"7272",
-000152 => x"7570",
-000153 => x"7420",
-000154 => x"6572",
-000155 => x"726f",
-000156 => x"7221",
-000157 => x"0000",
-000158 => x"5261",
-000159 => x"6e64",
-000160 => x"6f6d",
-000161 => x"204e",
-000162 => x"756d",
-000163 => x"6265",
-000164 => x"7220",
-000165 => x"4765",
-000166 => x"6e65",
-000167 => x"7261",
-000168 => x"746f",
-000169 => x"7200",
-000170 => x"456e",
-000171 => x"7465",
-000172 => x"7220",
-000173 => x"4c46",
-000174 => x"5352",
-000175 => x"2073",
-000176 => x"6565",
-000177 => x"6420",
-000178 => x"2834",
-000179 => x"6865",
-000180 => x"7829",
-000181 => x"3a20",
-000182 => x"3078",
-000183 => x"0000",
-000184 => x"456e",
-000185 => x"7465",
-000186 => x"7220",
-000187 => x"4c46",
-000188 => x"5352",
-000189 => x"2074",
-000190 => x"6170",
-000191 => x"7320",
-000192 => x"2834",
-000193 => x"6865",
-000194 => x"7829",
-000195 => x"3a20",
-000196 => x"3078",
-000197 => x"0000",
+000127 => x"be06",
+000128 => x"bfc2",
+000129 => x"0140",
+000130 => x"be03",
+000131 => x"bfbf",
+000132 => x"3460",
+000133 => x"c08f",
+000134 => x"2121",
+000135 => x"c089",
+000136 => x"181a",
+000137 => x"8803",
+000138 => x"c0b0",
+000139 => x"bc02",
+000140 => x"c0b7",
+000141 => x"0892",
+000142 => x"3470",
+000143 => x"4578",
+000144 => x"6365",
+000145 => x"7074",
+000146 => x"696f",
+000147 => x"6e2f",
+000148 => x"696e",
+000149 => x"7465",
+000150 => x"7272",
+000151 => x"7570",
+000152 => x"7420",
+000153 => x"6572",
+000154 => x"726f",
+000155 => x"7221",
+000156 => x"0000",
+000157 => x"5261",
+000158 => x"6e64",
+000159 => x"6f6d",
+000160 => x"204e",
+000161 => x"756d",
+000162 => x"6265",
+000163 => x"7220",
+000164 => x"4765",
+000165 => x"6e65",
+000166 => x"7261",
+000167 => x"746f",
+000168 => x"7200",
+000169 => x"456e",
+000170 => x"7465",
+000171 => x"7220",
+000172 => x"4c46",
+000173 => x"5352",
+000174 => x"2073",
+000175 => x"6565",
+000176 => x"6420",
+000177 => x"2834",
+000178 => x"6865",
+000179 => x"7829",
+000180 => x"3a20",
+000181 => x"3078",
+000182 => x"0000",
+000183 => x"456e",
+000184 => x"7465",
+000185 => x"7220",
+000186 => x"4c46",
+000187 => x"5352",
+000188 => x"2074",
+000189 => x"6170",
+000190 => x"7320",
+000191 => x"2834",
+000192 => x"6865",
+000193 => x"7829",
+000194 => x"3a20",
+000195 => x"3078",
+000196 => x"0000",
others => x"0000"
\ No newline at end of file
Index: trunk/software/examples/random_numbers/random_numbers.asm
===================================================================
--- trunk/software/examples/random_numbers/random_numbers.asm (revision 33)
+++ trunk/software/examples/random_numbers/random_numbers.asm (revision 34)
@@ -112,14 +112,13 @@
mov r4, lr
uart_print_loop:
- ldr r0, r2, +#1, post, ! ; get one string byte
- ldil r1, #0x00 ; upper byte mask
- ldih r1, #0xFF
- and r1, r0, r1
- sfts r1, r1, #swp ; swap bytes and test if zero
- beq uart_print_loop_end
- bl uart_sendbyte
- b uart_print_loop
+ ldr r1, r2, +#1, post, ! ; get one string byte
+ sft r1, r1, #swp ; swap high and low byte
+ ldih r1, #0x00 ; clear high byte
+ teq r1, r1 ; test if string end
+ beq uart_print_loop_end
+ bl uart_sendbyte
+ b uart_print_loop
uart_print_loop_end:
mov lr, r4
@@ -187,7 +186,7 @@
bl uart_receivebyte ; get one char
; convert to higher case
- ldil r1, #'F'
+ ldil r1, #'G' ; = 'F' +1
cmp r0, r1
bmi #+3 ; skip decrement
ldil r1, #32 ; -> to lower case
/trunk/software/examples/random_numbers/out.bin
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream