You can subscribe to this list here.
2000 
_{Jan}

_{Feb}

_{Mar}
(27) 
_{Apr}
(107) 
_{May}
(32) 
_{Jun}
(45) 
_{Jul}
(79) 
_{Aug}
(61) 
_{Sep}
(94) 
_{Oct}
(89) 
_{Nov}
(133) 
_{Dec}
(45) 

2001 
_{Jan}
(81) 
_{Feb}
(57) 
_{Mar}
(85) 
_{Apr}
(80) 
_{May}
(79) 
_{Jun}
(85) 
_{Jul}
(97) 
_{Aug}
(104) 
_{Sep}
(60) 
_{Oct}
(82) 
_{Nov}
(49) 
_{Dec}
(57) 
2002 
_{Jan}
(46) 
_{Feb}
(80) 
_{Mar}
(112) 
_{Apr}
(93) 
_{May}
(72) 
_{Jun}
(89) 
_{Jul}
(118) 
_{Aug}
(130) 
_{Sep}
(67) 
_{Oct}
(49) 
_{Nov}
(58) 
_{Dec}
(99) 
2003 
_{Jan}
(281) 
_{Feb}
(141) 
_{Mar}
(231) 
_{Apr}
(109) 
_{May}
(128) 
_{Jun}
(166) 
_{Jul}
(243) 
_{Aug}
(64) 
_{Sep}
(44) 
_{Oct}
(67) 
_{Nov}
(70) 
_{Dec}
(68) 
2004 
_{Jan}
(71) 
_{Feb}
(88) 
_{Mar}
(60) 
_{Apr}
(84) 
_{May}
(79) 
_{Jun}
(168) 
_{Jul}
(92) 
_{Aug}
(72) 
_{Sep}
(51) 
_{Oct}
(102) 
_{Nov}
(35) 
_{Dec}
(73) 
2005 
_{Jan}
(65) 
_{Feb}
(48) 
_{Mar}
(86) 
_{Apr}
(64) 
_{May}
(107) 
_{Jun}
(93) 
_{Jul}
(40) 
_{Aug}
(117) 
_{Sep}
(82) 
_{Oct}
(65) 
_{Nov}
(63) 
_{Dec}
(85) 
2006 
_{Jan}
(36) 
_{Feb}
(81) 
_{Mar}
(74) 
_{Apr}
(131) 
_{May}
(92) 
_{Jun}
(71) 
_{Jul}
(71) 
_{Aug}
(54) 
_{Sep}
(26) 
_{Oct}
(77) 
_{Nov}
(55) 
_{Dec}
(55) 
2007 
_{Jan}
(112) 
_{Feb}
(88) 
_{Mar}
(105) 
_{Apr}
(46) 
_{May}
(28) 
_{Jun}
(53) 
_{Jul}
(29) 
_{Aug}
(34) 
_{Sep}
(74) 
_{Oct}
(83) 
_{Nov}
(67) 
_{Dec}
(39) 
2008 
_{Jan}
(40) 
_{Feb}
(105) 
_{Mar}
(42) 
_{Apr}
(25) 
_{May}
(91) 
_{Jun}
(32) 
_{Jul}
(47) 
_{Aug}
(128) 
_{Sep}
(188) 
_{Oct}
(54) 
_{Nov}
(19) 
_{Dec}
(41) 
2009 
_{Jan}
(145) 
_{Feb}
(88) 
_{Mar}
(117) 
_{Apr}
(38) 
_{May}
(53) 
_{Jun}
(9) 
_{Jul}
(47) 
_{Aug}
(10) 
_{Sep}
(28) 
_{Oct}
(65) 
_{Nov}
(97) 
_{Dec}
(36) 
2010 
_{Jan}
(55) 
_{Feb}
(87) 
_{Mar}
(81) 
_{Apr}
(30) 
_{May}
(37) 
_{Jun}
(15) 
_{Jul}
(85) 
_{Aug}
(31) 
_{Sep}
(1) 
_{Oct}
(69) 
_{Nov}
(69) 
_{Dec}
(32) 
2011 
_{Jan}
(37) 
_{Feb}
(49) 
_{Mar}
(55) 
_{Apr}
(27) 
_{May}
(67) 
_{Jun}
(30) 
_{Jul}
(43) 
_{Aug}
(73) 
_{Sep}
(65) 
_{Oct}
(89) 
_{Nov}
(59) 
_{Dec}
(15) 
2012 
_{Jan}
(27) 
_{Feb}
(48) 
_{Mar}
(14) 
_{Apr}
(18) 
_{May}
(38) 
_{Jun}
(59) 
_{Jul}
(46) 
_{Aug}
(11) 
_{Sep}
(21) 
_{Oct}
(28) 
_{Nov}
(18) 
_{Dec}
(51) 
2013 
_{Jan}
(35) 
_{Feb}
(68) 
_{Mar}
(56) 
_{Apr}
(21) 
_{May}
(62) 
_{Jun}
(43) 
_{Jul}
(12) 
_{Aug}
(34) 
_{Sep}
(28) 
_{Oct}

_{Nov}
(11) 
_{Dec}
(33) 
2014 
_{Jan}
(15) 
_{Feb}
(36) 
_{Mar}
(33) 
_{Apr}
(45) 
_{May}
(8) 
_{Jun}
(52) 
_{Jul}
(30) 
_{Aug}
(7) 
_{Sep}
(38) 
_{Oct}
(76) 
_{Nov}
(19) 
_{Dec}
(26) 
2015 
_{Jan}
(67) 
_{Feb}
(42) 
_{Mar}
(6) 
_{Apr}
(12) 
_{May}
(13) 
_{Jun}
(17) 
_{Jul}
(10) 
_{Aug}
(9) 
_{Sep}
(26) 
_{Oct}
(24) 
_{Nov}
(8) 
_{Dec}
(2) 
2016 
_{Jan}
(19) 
_{Feb}
(2) 
_{Mar}
(33) 
_{Apr}
(56) 
_{May}
(10) 
_{Jun}
(12) 
_{Jul}
(38) 
_{Aug}
(69) 
_{Sep}
(10) 
_{Oct}
(7) 
_{Nov}
(20) 
_{Dec}
(26) 
2017 
_{Jan}
(10) 
_{Feb}
(10) 
_{Mar}
(4) 
_{Apr}
(4) 
_{May}
(16) 
_{Jun}
(13) 
_{Jul}
(13) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 


1
(9) 
2
(20) 
3
(6) 
4
(13) 
5
(9) 
6
(1) 
7
(2) 
8
(3) 
9

10
(3) 
11
(6) 
12
(3) 
13

14

15
(2) 
16
(1) 
17
(1) 
18
(1) 
19
(2) 
20

21

22

23

24

25
(2) 
26
(7) 
27
(1) 
28

29

30

31




From: Olgierd Eysymontt <olgierd@te...>  20060504 22:29:46

Was a stack size problem (bigger than 1 bank), which for me is a greater problem because with a 256 bytes stack my program doesn't work and I need like 80 kb of code, so I have to use the large model and large stack, which seems not compatible with the division routines. I changed the stack size to 256 bytes and the divisions gave me the right results. I'd like to know if the large model and large stack model are ready yet ? or if there are plans for it, because they seems to work almost always except in cases like this one. Olgierd El jue, 04052006 a las 17:51 0400, Olgierd Eysymontt escribi=F3: > George, > I'm using a simple function to send char through the second serial por= t > (port one is hooked to a 485 link), this function uses itoa() and > uitoa(), but works well because I see the remaining numbers ok, this is > my routine to test the divisions: >=20 >=20 > void test_divisions(){ > int i; > =09 > signed int i1,i2,i3; > uint ui1,ui2,ui3; > =09 > init_buff_comm(); // init comm > i=3D0; > while(1){ > =09 > i1=3Di++; > i2=3D16; > i3=3Di1/i2; > send_str_len("i1 ",3); > send_int(i1); > =09 > send_str_len(" i2 ",4); > send_int(i2); > =09 > send_str_len(" i3 ",4); > send_int(i3); > =09 > ui1=3D(unsigned int)i; > ui2=3D5; > ui3=3Dui1/ui2; > =09 > send_str_len(" ui1 ",7); > send_int(ui1); > =09 > send_str_len(" ui2 ",5); > send_int(ui2); > =09 > send_str_len(" ui3 ",5); > send_int(ui3); > =09 > send_nl(); // a newline > =09 > // toggle some leds > PORTAbits.RA1=3D0; > delay100ktcy(5); > PORTAbits.RA1=3D1; > delay100ktcy(5); > =09 > } >=20 > } >=20 > Basically the same as yours except I'm not using printf. I'll keep > trying, or may be update my version of sdcc (2.5.4). >=20 > Olgierd >=20 >=20 >=20 > El jue, 04052006 a las 17:36 0400, George M. Gallant, Jr. escribi=F3= : > > Oligierd, > >=20 > > I am using sdcc2.5.4 and getting expected results with the following > > code: > >=20 > > typedef unsigned short int uint16_t; > > typedef short int int16_t; > >=20 > > extern int printf(char *fmt, ...); > >=20 > > int main(void) > > { > > int > > i; > > uint16_t > > ui1, ui2, ui3; > > int16_t > > i1, i2, i3; > >=20 > > i2 =3D 5; > > ui2 =3D 5; > >=20 > > for (i =3D 20; i < 34; i++) > > { > > i1 =3D i; > > i3 =3D i1 / i2; > > printf("i1 %d i2 %d i3 %d ", i1, i2, i3); > >=20 > > ui1 =3D i + 1; > > ui3 =3D ui1 / ui2; > > printf("%d ui2 %d ui3 %d\n", ui1, ui2, ui3); > > } > > return(0); > > } > >=20 > > George > >=20 > >=20 > > On Thu, 20060504 at 15:37 0400, Olgierd Eysymontt wrote:=20 > > > Hi, I'm trying a routine to divide two ints woth extrange results, = I've > > > tried with signed and unsigned ints ant the results are the same, > > > depending of the numbers the results are correct or just '1'. For > > > testing purposes I made a small program that sends the numbers to a > > > serial port and this is what I get :=20 > > >=20 > > > (i1,i2,i3 are ints, ui1, ui2,ui3 are unsigned ints and the operati= on is > > > i3=3Di1/i2, where i3 increases each cicle and i2 =3D 5 always) > > >=20 > > >=20 > > > i1 20 i2 5 i3 1 ui1 21 ui2 5 ui3 1 > > > i1 21 i2 5 i3 4 ui1 22 ui2 5 ui3 4 > > > i1 22 i2 5 i3 1 ui1 23 ui2 5 ui3 1 > > > i1 23 i2 5 i3 4 ui1 24 ui2 5 ui3 4 > > > i1 24 i2 5 i3 1 ui1 25 ui2 5 ui3 1 > > > i1 25 i2 5 i3 5 ui1 26 ui2 5 ui3 5 > > > i1 26 i2 5 i3 1 ui1 27 ui2 5 ui3 1 > > > i1 27 i2 5 i3 5 ui1 28 ui2 5 ui3 5 > > > i1 28 i2 5 i3 1 ui1 29 ui2 5 ui3 1 > > > i1 29 i2 5 i3 5 ui1 30 ui2 5 ui3 6 > > > i1 30 i2 5 i3 1 ui1 31 ui2 5 ui3 1 > > > i1 31 i2 5 i3 6 ui1 32 ui2 5 ui3 6 > > > i1 32 i2 5 i3 1 ui1 33 ui2 5 ui3 1 > > > i1 33 i2 5 i3 6 ui1 34 ui2 5 ui3 6 > > >=20 > > > When i1 is even the result is always 1, when is odd the answer is > > > correct, and in the xase of unsigned ints, it's the other way, the = ui1 > > > is even the result is ok. > > >=20 > > > Any clue ? > > >=20 > > > Thanks in advance > > >=20 > > > Olgierd > > >=20 > > >=20 > > >=20 > > >=20 > > >  > > > Using Tomcat but need to do more? Need to support web services, sec= urity? > > > Get stuff done quickly with preintegrated technology to make your = job easier > > > Download IBM WebSphere Application Server v.1.0.1 based on Apache G= eronimo > > > http://sel.asus.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057= &dat=3D121642 > > > _______________________________________________ > > > Sdccuser mailing list > > > Sdccuser@... > > > https://lists.sourceforge.net/lists/listinfo/sdccuser >=20 >=20 >=20 >  > Using Tomcat but need to do more? Need to support web services, securit= y? > Get stuff done quickly with preintegrated technology to make your job = easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > http://sel.asus.falkag.net/sel?cmd=3Dlnk&kid=120709&bid&3057&dat=12164= 2 > _______________________________________________ > Sdccuser mailing list > Sdccuser@... > https://lists.sourceforge.net/lists/listinfo/sdccuser 
From: Lane, Frank L <frank.l.lane@bo...>  20060504 22:23:59

Hi, I'm trying to figure out why my code doesn't run. Targeting an 8052 type processor. When I build with Keil evaluation version the software works. I made some syntactic clean ups and it appears to build fine with sdcc but doesn't run. The only difference I see is that the Keil file that is flashed onto the chip has very little in it before 0x0800h while the sdcc version is chock full of stuff. I tried codeloc 0x800 option for sdcc but it didn't make the code work. Am I missing something here? Any help will be greatly appreciated. Thanks, Frank 
From: Olgierd Eysymontt <olgierd@te...>  20060504 21:51:43

George, I'm using a simple function to send char through the second serial port (port one is hooked to a 485 link), this function uses itoa() and uitoa(), but works well because I see the remaining numbers ok, this is my routine to test the divisions: void test_divisions(){ int i; =09 signed int i1,i2,i3; uint ui1,ui2,ui3; =09 init_buff_comm(); // init comm i=3D0; while(1){ =09 i1=3Di++; i2=3D16; i3=3Di1/i2; send_str_len("i1 ",3); send_int(i1); =09 send_str_len(" i2 ",4); send_int(i2); =09 send_str_len(" i3 ",4); send_int(i3); =09 ui1=3D(unsigned int)i; ui2=3D5; ui3=3Dui1/ui2; =09 send_str_len(" ui1 ",7); send_int(ui1); =09 send_str_len(" ui2 ",5); send_int(ui2); =09 send_str_len(" ui3 ",5); send_int(ui3); =09 send_nl(); // a newline =09 // toggle some leds PORTAbits.RA1=3D0; delay100ktcy(5); PORTAbits.RA1=3D1; delay100ktcy(5); =09 } } Basically the same as yours except I'm not using printf. I'll keep trying, or may be update my version of sdcc (2.5.4). Olgierd El jue, 04052006 a las 17:36 0400, George M. Gallant, Jr. escribi=F3: > Oligierd, >=20 > I am using sdcc2.5.4 and getting expected results with the following > code: >=20 > typedef unsigned short int uint16_t; > typedef short int int16_t; >=20 > extern int printf(char *fmt, ...); >=20 > int main(void) > { > int > i; > uint16_t > ui1, ui2, ui3; > int16_t > i1, i2, i3; >=20 > i2 =3D 5; > ui2 =3D 5; >=20 > for (i =3D 20; i < 34; i++) > { > i1 =3D i; > i3 =3D i1 / i2; > printf("i1 %d i2 %d i3 %d ", i1, i2, i3); >=20 > ui1 =3D i + 1; > ui3 =3D ui1 / ui2; > printf("%d ui2 %d ui3 %d\n", ui1, ui2, ui3); > } > return(0); > } >=20 > George >=20 >=20 > On Thu, 20060504 at 15:37 0400, Olgierd Eysymontt wrote:=20 > > Hi, I'm trying a routine to divide two ints woth extrange results, I'= ve > > tried with signed and unsigned ints ant the results are the same, > > depending of the numbers the results are correct or just '1'. For > > testing purposes I made a small program that sends the numbers to a > > serial port and this is what I get :=20 > >=20 > > (i1,i2,i3 are ints, ui1, ui2,ui3 are unsigned ints and the operation= is > > i3=3Di1/i2, where i3 increases each cicle and i2 =3D 5 always) > >=20 > >=20 > > i1 20 i2 5 i3 1 ui1 21 ui2 5 ui3 1 > > i1 21 i2 5 i3 4 ui1 22 ui2 5 ui3 4 > > i1 22 i2 5 i3 1 ui1 23 ui2 5 ui3 1 > > i1 23 i2 5 i3 4 ui1 24 ui2 5 ui3 4 > > i1 24 i2 5 i3 1 ui1 25 ui2 5 ui3 1 > > i1 25 i2 5 i3 5 ui1 26 ui2 5 ui3 5 > > i1 26 i2 5 i3 1 ui1 27 ui2 5 ui3 1 > > i1 27 i2 5 i3 5 ui1 28 ui2 5 ui3 5 > > i1 28 i2 5 i3 1 ui1 29 ui2 5 ui3 1 > > i1 29 i2 5 i3 5 ui1 30 ui2 5 ui3 6 > > i1 30 i2 5 i3 1 ui1 31 ui2 5 ui3 1 > > i1 31 i2 5 i3 6 ui1 32 ui2 5 ui3 6 > > i1 32 i2 5 i3 1 ui1 33 ui2 5 ui3 1 > > i1 33 i2 5 i3 6 ui1 34 ui2 5 ui3 6 > >=20 > > When i1 is even the result is always 1, when is odd the answer is > > correct, and in the xase of unsigned ints, it's the other way, the ui= 1 > > is even the result is ok. > >=20 > > Any clue ? > >=20 > > Thanks in advance > >=20 > > Olgierd > >=20 > >=20 > >=20 > >=20 > >  > > Using Tomcat but need to do more? Need to support web services, secur= ity? > > Get stuff done quickly with preintegrated technology to make your jo= b easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Ger= onimo > > http://sel.asus.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&d= at=3D121642 > > _______________________________________________ > > Sdccuser mailing list > > Sdccuser@... > > https://lists.sourceforge.net/lists/listinfo/sdccuser 
From: George M. Gallant, Jr. <ggallant571@co...>  20060504 21:36:34

Oligierd, I am using sdcc2.5.4 and getting expected results with the following code: typedef unsigned short int uint16_t; typedef short int int16_t; extern int printf(char *fmt, ...); int main(void) { int i; uint16_t ui1, ui2, ui3; int16_t i1, i2, i3; i2 = 5; ui2 = 5; for (i = 20; i < 34; i++) { i1 = i; i3 = i1 / i2; printf("i1 %d i2 %d i3 %d ", i1, i2, i3); ui1 = i + 1; ui3 = ui1 / ui2; printf("%d ui2 %d ui3 %d\n", ui1, ui2, ui3); } return(0); } George On Thu, 20060504 at 15:37 0400, Olgierd Eysymontt wrote: > Hi, I'm trying a routine to divide two ints woth extrange results, I've > tried with signed and unsigned ints ant the results are the same, > depending of the numbers the results are correct or just '1'. For > testing purposes I made a small program that sends the numbers to a > serial port and this is what I get : > > (i1,i2,i3 are ints, ui1, ui2,ui3 are unsigned ints and the operation is > i3=i1/i2, where i3 increases each cicle and i2 = 5 always) > > > i1 20 i2 5 i3 1 ui1 21 ui2 5 ui3 1 > i1 21 i2 5 i3 4 ui1 22 ui2 5 ui3 4 > i1 22 i2 5 i3 1 ui1 23 ui2 5 ui3 1 > i1 23 i2 5 i3 4 ui1 24 ui2 5 ui3 4 > i1 24 i2 5 i3 1 ui1 25 ui2 5 ui3 1 > i1 25 i2 5 i3 5 ui1 26 ui2 5 ui3 5 > i1 26 i2 5 i3 1 ui1 27 ui2 5 ui3 1 > i1 27 i2 5 i3 5 ui1 28 ui2 5 ui3 5 > i1 28 i2 5 i3 1 ui1 29 ui2 5 ui3 1 > i1 29 i2 5 i3 5 ui1 30 ui2 5 ui3 6 > i1 30 i2 5 i3 1 ui1 31 ui2 5 ui3 1 > i1 31 i2 5 i3 6 ui1 32 ui2 5 ui3 6 > i1 32 i2 5 i3 1 ui1 33 ui2 5 ui3 1 > i1 33 i2 5 i3 6 ui1 34 ui2 5 ui3 6 > > When i1 is even the result is always 1, when is odd the answer is > correct, and in the xase of unsigned ints, it's the other way, the ui1 > is even the result is ok. > > Any clue ? > > Thanks in advance > > Olgierd > > > > >  > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with preintegrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.asus.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Sdccuser mailing list > Sdccuser@... > https://lists.sourceforge.net/lists/listinfo/sdccuser 
From: Olgierd Eysymontt <olgierd@te...>  20060504 21:02:48

Great !, thanks a lot Ken Olgierd El jue, 04052006 a las 16:52 0400, Ken Jackson escribi=F3: > You might find an existing algorithm you can use at this web site: >=20 > <http://www.piclist.com/techref/microchip/math/div/index.htm>; >=20 > Ken Jackson >=20 >=20 > Olgierd Eysymontt writes: > > Hi, I'm trying a routine to divide two ints woth extrange results, I= 've > > tried with signed and unsigned ints ant the results are the same, > > depending of the numbers the results are correct or just '1'. > ... > >=20 > > Any clue ? > >=20 > > Thanks in advance > >=20 > > Olgierd >=20 >=20 >=20 >  > Using Tomcat but need to do more? Need to support web services, securit= y? > Get stuff done quickly with preintegrated technology to make your job = easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > http://sel.asus.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > Sdccuser mailing list > Sdccuser@... > https://lists.sourceforge.net/lists/listinfo/sdccuser 
From: Ken Jackson <KenJackson@ie...>  20060504 20:52:21

You might find an existing algorithm you can use at this web site: <http://www.piclist.com/techref/microchip/math/div/index.htm>; Ken Jackson Olgierd Eysymontt writes: > Hi, I'm trying a routine to divide two ints woth extrange results, I've > tried with signed and unsigned ints ant the results are the same, > depending of the numbers the results are correct or just '1'. ... > > Any clue ? > > Thanks in advance > > Olgierd 
From: Olgierd Eysymontt <olgierd@te...>  20060504 19:37:47

Hi, I'm trying a routine to divide two ints woth extrange results, I've tried with signed and unsigned ints ant the results are the same, depending of the numbers the results are correct or just '1'. For testing purposes I made a small program that sends the numbers to a serial port and this is what I get : (i1,i2,i3 are ints, ui1, ui2,ui3 are unsigned ints and the operation is i3=i1/i2, where i3 increases each cicle and i2 = 5 always) i1 20 i2 5 i3 1 ui1 21 ui2 5 ui3 1 i1 21 i2 5 i3 4 ui1 22 ui2 5 ui3 4 i1 22 i2 5 i3 1 ui1 23 ui2 5 ui3 1 i1 23 i2 5 i3 4 ui1 24 ui2 5 ui3 4 i1 24 i2 5 i3 1 ui1 25 ui2 5 ui3 1 i1 25 i2 5 i3 5 ui1 26 ui2 5 ui3 5 i1 26 i2 5 i3 1 ui1 27 ui2 5 ui3 1 i1 27 i2 5 i3 5 ui1 28 ui2 5 ui3 5 i1 28 i2 5 i3 1 ui1 29 ui2 5 ui3 1 i1 29 i2 5 i3 5 ui1 30 ui2 5 ui3 6 i1 30 i2 5 i3 1 ui1 31 ui2 5 ui3 1 i1 31 i2 5 i3 6 ui1 32 ui2 5 ui3 6 i1 32 i2 5 i3 1 ui1 33 ui2 5 ui3 1 i1 33 i2 5 i3 6 ui1 34 ui2 5 ui3 6 When i1 is even the result is always 1, when is odd the answer is correct, and in the xase of unsigned ints, it's the other way, the ui1 is even the result is ok. Any clue ? Thanks in advance Olgierd 
From: JeanPaul <tchainick@fr...>  20060504 16:23:50

char getchar(void) { char c; while(!RI); c =3D SBUF; putchar(c); return c; } looks like you never reset RI!? Le Jeudi 04 Mai 2006 02:10, Philippe Latu a =C3=A9crit=C2=A0: > Hello list, >=20 > I'm actually developing labs & docs in french on a MSC1210 board with=20 SDCC. > http://www.linuxfrance.org/~platu/embedded/ >=20 > I have difficulties with serial interface management. >=20 > I searched through google, sdcc user's guide, .h files, etc. >=20 > I found 2 different kinds of serial putchar & getchar. >=20 > . Use of ser_putc and ser_getc provided through ser.h > . Use of registers RI, TI, SBUF >=20 > What is the best practise between these ? >=20 > I didn't find source files using ser_getc. When I tried it, the serial=20 line=20 > became unusable. > I attach the example file I'm working on. It's a mixture with ser_putc=20 and=20 > RI,SBUF which ... almost works. I still have XON/XOFF problems. >=20 > Any help would be greatly appreciated ;)) > =20 >  Philippe Latu > (GPGPGP) KeyId 0x742A6424 > Public Key http://www.linuxfrance.org/~platu/key.asc > < G N U / Linux > > philippe.latu(at)linuxfrance.org > Projet inetdoc.Linux=20 > http://www.linuxfrance.org/prj/inetdoc > </> > < I U T 'A' Paul Sabatier > > philippe.latu(at)iuttlse3.fr  05.62.25.80.28 > Enseignant/Charg=C3=A9 de mission Syst=C3=A8mes & R=C3=A9seau > </> >=20 =2D=20 Never jump into a loop! 
From: JeanPaul <tchainick@fr...>  20060504 16:03:22

Hello, Anyway, you are better off with only one serial function. You might be "freezed" by your putchar routine. Many putchar() routines begin with while (!TI)... TI is set by hardware AFTER a byte has been sent. If you don't set TI once after powerup, before calling putchar() the first= =20 time, you'll wait forever... You can make it the other way round : In putchar(): clear TI,=20 write SBUF wait for TI return Le Jeudi 04 Mai 2006 02:10, Philippe Latu a =C3=A9crit=C2=A0: > Hello list, >=20 > I'm actually developing labs & docs in french on a MSC1210 board with=20 SDCC. > http://www.linuxfrance.org/~platu/embedded/ >=20 > I have difficulties with serial interface management. >=20 > I searched through google, sdcc user's guide, .h files, etc. >=20 > I found 2 different kinds of serial putchar & getchar. >=20 > . Use of ser_putc and ser_getc provided through ser.h > . Use of registers RI, TI, SBUF >=20 > What is the best practise between these ? >=20 > I didn't find source files using ser_getc. When I tried it, the serial=20 line=20 > became unusable. > I attach the example file I'm working on. It's a mixture with ser_putc=20 and=20 > RI,SBUF which ... almost works. I still have XON/XOFF problems. >=20 > Any help would be greatly appreciated ;)) > =20 >  Philippe Latu > (GPGPGP) KeyId 0x742A6424 > Public Key http://www.linuxfrance.org/~platu/key.asc > < G N U / Linux > > philippe.latu(at)linuxfrance.org > Projet inetdoc.Linux=20 > http://www.linuxfrance.org/prj/inetdoc > </> > < I U T 'A' Paul Sabatier > > philippe.latu(at)iuttlse3.fr  05.62.25.80.28 > Enseignant/Charg=C3=A9 de mission Syst=C3=A8mes & R=C3=A9seau > </> >=20 =2D=20 Never jump into a loop! 
From: Raphael Neider <rneider@we...>  20060504 09:24:55

Hi, > I'm converting my applications to SDCC PIC14, in one this use a macro > to calculate USART baudrate, when compile the code are returned > errors: > > error: missing definition for symbol "__mullong", required by "main.o" > error: missing definition for symbol "__divslong", required by > "main.o" I wondered why this "bug" did not show up earlier... The support routines for multiplication/division/modulus operations on data types longer than... hmm... a char (?) are not yet implemented and integrated into the PIC14 libraries. For now, you might be able to use the source files from the pic16 port (device/lib/pic16/libsdcc/{int,long}/*.c), compile them as part of your project and link them into the final binary. Once I find some time (I seem to have lost pretty much of it ;)) I will augment the libraries. Having said this, the hint by Ken Jackson regarding prefetching the complex operations to compiletime is and remains the better approach, because 'long' arithmetics on the PICs becomes both large and slow. Regards, Raphael 
From: Peter <plp@ac...>  20060504 07:15:38

On Tue, 2 May 2006 Anthony.N.Martin@... wrote: > > There is only one "experimental" working example of a decompiler > (hexfile to C) that I ever found. Start with a disassembly listing and work > from there. You quickly learn how the compiler did things and then it > just takes time. Errors creep in and it has to be debugged over again. > > It is rewarding, both in what you can learn and the power it gives to > change the program. Reverseengineering is unlikely to be easier > than writing from scratch and not as useful, where all the inputs and > outputs known. But there is usually some part of operation of a > program that is not documented. In one case the only way I could > keep my EPROM programmer working on a modern PC was to > reverse the software into source and fix it. > > To reverse Z80 or 8051the best tool is IDA4.1 > I used it for 16bit 8086 DOS code, and the automated analysis > that IDA can do is very impressive. It identified switchstatement > constructs and function arguaments, and recognised and named > all the library functions. > > You can shell out cash for the latest MSWindows version of > IDA Pro, but IDA4.1 is free, unknobbled, and includes Z80 & 8051. > But it's a DOS program. dosemu. But an open source program that can be debugged and improved would be better. Peter 
From: Ken Jackson <KenJackson@ie...>  20060504 01:16:20

By making SerialSetup() a function, you are requiring it to actually do the division at runtime, not compile time. Is that necessary? If you are only using one baude rate, it would be much better to not pass it but plug it in directly so the division can be done by the compiler at compile time. If you have a few different baud rates, it would be better to calculate the values for SPBRG at compile time, put them in an array, and pick one at run time. BTW, I'm not sure what SDCC does, but you should put an 'L' at the end of 20000000 (i.e. 20000000L), otherwise some compilers will assume it's an int and truncate it. Ken Jackson Luciano de Barros writes: > Hi, > > I'm converting my applications to SDCC PIC14, in one this use a macro to calculate USART baudrate, when compile the code are returned errors: > > error: missing definition for symbol "__mullong", required by "main.o" > error: missing definition for symbol "__divslong", required by "main.o" > > If change code lines with macro to main() function this error is not occured. > > Sample code: > > // > #include "pic16f877defs.h" > > CONFIG( _CP_ALL & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_ON & _LVP_ON & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC); > > #define XTAL 20000000 > > // > #define LBAUDRATE(b) ((XTAL/(b*64))1) // Calc BaudRate in Low Speed > #define HBAUDRATE(b) ((XTAL/(b*16))1) // Calc BaudRate in High Speed > > // > void SerialSetup(long baud) > { > if(baud<=9600) > SPBRG = (unsigned char) LBAUDRATE(baud); > else > SPBRG = (unsigned char) HBAUDRATE(baud); > > } > > // > void main(void) > { > > SerialSetup(9600); > while(1){ > } > } > > // > > Regards, > > Luciano 
From: Philippe Latu <philippe.latu@li...>  20060504 00:10:55

Hello list, I'm actually developing labs & docs in french on a MSC1210 board with SDCC. http://www.linuxfrance.org/~platu/embedded/ I have difficulties with serial interface management. I searched through google, sdcc user's guide, .h files, etc. I found 2 different kinds of serial putchar & getchar. . Use of ser_putc and ser_getc provided through ser.h . Use of registers RI, TI, SBUF What is the best practise between these ? I didn't find source files using ser_getc. When I tried it, the serial line became unusable. I attach the example file I'm working on. It's a mixture with ser_putc and RI,SBUF which ... almost works. I still have XON/XOFF problems. Any help would be greatly appreciated ;))   Philippe Latu (GPGPGP) KeyId 0x742A6424 Public Key http://www.linuxfrance.org/~platu/key.asc < G N U / Linux > philippe.latu(at)linuxfrance.org Projet inetdoc.Linux http://www.linuxfrance.org/prj/inetdoc </> < I U T 'A' Paul Sabatier > philippe.latu(at)iuttlse3.fr  05.62.25.80.28 Enseignant/Chargé de mission Systèmes & Réseau </> 