From: <no...@so...> - 2001-08-22 16:51:01
|
Bugs item #454266, was opened at 2001-08-22 09:50 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100599&aid=454266&group_id=599 Category: Icode generator Group: None Status: Open Resolution: None Priority: 5 Submitted By: Russel Winder (russel_winder) Assigned to: Nobody/Anonymous (nobody) Summary: Bizarre (?) code generation Initial Comment: Array data items are code generated as code rather than byte initializations. The program: char x [] = { 'a', 'b', 'c' }; int main(){ } results in the following code: 000D 77 __sdcc_init_data: 78 ; arrayInitialization.c 8 000D 75*00 61 79 mov _x,#0x61 0010 75*01 62 80 mov (_x + 0x0001),#0x62 0013 75*02 63 81 mov (_x + 0x0002),#0x63 } which seems very strange to me since it quadruples the amount of memory used. Since the eventual medium of down load is Intel Hex records which can initialize memory explicitly it seems that using code for the initialization is totally the wrong thing to do. Unless of course I am missing something. results in ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100599&aid=454266&group_id=599 |