From: SourceForge.net <no...@so...> - 2005-06-14 10:44:08
|
Bugs item #1220140, was opened at 2005-06-14 08:13 Message generated for change (Comment added) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1220140&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: msc51(8051) target >Group: non bugs >Status: Closed >Resolution: Rejected Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: problem in 32 bit multiplication (_mullong.c) Initial Comment: hi, i want to use 32 bit multiplication in timer ISR. for that i compiled my test program using following option. --code-loc 0x0000 --stack-auto -V --cyclomatic --float- reent --i-code-in-asm -int-long-rent (i attached my source file t2.c for your refernce) but i get 0000 output after multiplication. if i removed option --stack-auto from option line, i get proper result. why it is so. in this manner can i use this multiplication in my timer ISR. is there any problem in _mullong.c my compiler version is following-- SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ ds400/hc08 2.4.8 #977 (Mar 19 2005) (MINGW32) Compiling... ?Aslink-Warning-Cannot open library module C:\Program Files\SDCC\bin\..\lib\small/abs.rel ?Aslink-Warning-Cannot open library module C:\Program Files\SDCC\bin\..\lib\small/labs.rel + C:\PROGRA~1\SDCC\BIN\SDCPP.EXE -nostdinc - Wall -std=c99 -DSDCC=1 -I"D:\DESI" -I"C:\Program" - DSDCC_STACK_AUTO -DSDCC_MODEL_SMALL - DSDCC_mcs51 -D__mcs51 -I"C:\Program Files\SDCC\bin\..\include\mcs51" -I"C:\Program Files\SDCC\bin\..\include" "D:\DESI\T2.C" + C:\PROGRA~1\SDCC\BIN\ASX8051.EXE - plosgff "T2.asm" + C:\PROGRA~1\SDCC\BIN\ASLINK.EXE -nf "T2" -:0: warning 119: don't know what to do with file 'Files\SDCC\lib\small'. file extension unsupported -:0: warning 118: option '-i' no longer supported 'use -- idata-loc instead' D:/DESI/T2.C:27: info 121: function 'main', # edges 1 , # nodes 2 , cyclomatic complexity 1 D:/DESI/T2.C:33: info 121: function 'mult', # edges 1 , # nodes 2 , cyclomatic complexity 1 D:/DESI/T2.C:40: info 121: function 'putchar', # edges 4 , # nodes 4 , cyclomatic complexity 2 Done. "D:\desi\t2.hex" had been generated. ---------------------------------------------------------------------- >Comment By: Maarten Brock (maartenbrock) Date: 2005-06-14 12:44 Message: Logged In: YES user_id=888171 You must compile the libraries with --stack-auto too. By default only small and large memory-models without --stack- auto are compiled and distributed with SDCC. B.t.w. Why do you need to multiply 32 bit integers inside an ISR? You'd better Keep ISR's Short and Simple (KISS). ---------------------------------------------------------------------- Comment By: shailesh arya (shailarya) Date: 2005-06-14 08:18 Message: Logged In: YES user_id=825443 can any body tell me the resion? ---------------------------------------------------------------------- Comment By: shailesh arya (shailarya) Date: 2005-06-14 08:17 Message: Logged In: YES user_id=825443 can body help me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1220140&group_id=599 |