From: Keuchel, R. <rai...@al...> - 2013-09-09 12:57:26
|
sdcc\src\hc08\ralloc2.cc(565): warning C4553: '==' : operator has no effect; did you intend '='? sdcc\src\hc08\ralloc2.cc OP_SYMBOL (IC_RESULT (ic))->regType == REG_CND; Should probably be OP_SYMBOL (IC_RESULT (ic))->regType = REG_CND; stm8/gen.c seems to require compiling with c++: Index: K:/sdcc-svn/sdcc/src/stm8/gen.c =================================================================== --- K:/sdcc-svn/sdcc/src/stm8/gen.c (revision 8838) +++ K:/sdcc-svn/sdcc/src/stm8/gen.c (working copy) @@ -21,6 +21,8 @@ #include "ralloc.h" #include "gen.h" +#define false 0 + /* Use the D macro for basic (unobtrusive) debugging messages */ #define D(x) do if (options.verboseAsm) { x; } while (0) @@ -4642,6 +4644,7 @@ { unsigned int shCount = ulFromVal (right->aop->aopu.aop_lit); unsigned int size; + unsigned int i; struct asmop shiftop_impl; struct asmop *shiftop; @@ -4663,7 +4666,6 @@ goto release; } - unsigned int i; wassertl (size <= 2 || shCount <= 1, "Shifting of longs and long longs by non-trivial values should be handled by generic function."); Mit freundlichen Grüssen Rainer Keuchel Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Geschäftsführer: Hubert Rohrer, Johannes Häringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. |
From: Philipp K. K. <pk...@sp...> - 2013-09-09 14:27:08
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 09.09.2013 14:41, schrieb Keuchel, Rainer: > stm8/gen.c seems to require compiling with c++: > Thanks, I just fixed this issue (the hc08 one remains). Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIt2q8ACgkQbtUV+xsoLppAGgCg3khzoshBvVDTPOWSCEo3pk9X bLwAoLKt3DPg7wE7LdKrkG4fcTqho3P3 =J1JP -----END PGP SIGNATURE----- |
From: Keuchel, R. <rai...@al...> - 2013-09-09 14:32:31
|
Bei stm8 hatte ich auch noch ein Linker-Problem und musste diese Funktion hinzufügen.. Sollte das isspace() aus ctype.h sein? int isblank(int c) { if(c == ' ' || c == '\t') return 1; return 0; } Für: /* Check if reading arg implies reading what. */ static bool argCont(const char *arg, const char *what) { while (isblank (arg[0])) arg++; Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Geschäftsführer: Hubert Rohrer, Johannes Häringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. |
From: Philipp K. K. <pk...@sp...> - 2013-09-09 14:48:33
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 09.09.2013 16:32, schrieb Keuchel, Rainer: > Bei stm8 hatte ich auch noch ein Linker-Problem und musste diese > Funktion hinzufügen.. > > Sollte das isspace() aus ctype.h sein? > > int isblank(int c) { if(c == ' ' || c == '\t') return 1; return 0; > } Es ist wohl am sinnvollsten, eine solche Funktion hinzuzufügen (mit einem anderen Namen, damit es keine Probleme mit isblank() aus ctype.h gibt, das eigentlich gemeint war). Das Linker-problem, wie auch die beiden vorigen Probleme sehen nach einem Versuch aus, sdcc mit Microsoft C zu kompilieren. Eigentlich sollte das gehen. Wir versuchen, sdcc so zu schreiben, daß es auch mit Microsoft C kompilierbar ist, aber die meisten Entwickler verwenden, wie auch ich, bessere Compiler, so daß sich gelegentlich etwas einschleicht (und erst später bemerkt wird), mit dem Microsoft C nicht zurecht kommt. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIt37QACgkQbtUV+xsoLppF9QCbBx2yn8nlzPmT344v4xT/f59c b98An27URM7/1Tb60AsmXNvdCciz6IvA =k52f -----END PGP SIGNATURE----- |
From: Keuchel, R. <rai...@al...> - 2013-09-09 15:16:14
|
Ich habe vor Support für TLCS90 (TMP90C041) einzubauen. Hoffentlich geht das überhaupt mit so einem schlechten Compiler wie VC10.. TLCS90 ist wie Z80 Assembler, aber mit anderen Binär-Kodierungen der Opcodes. Ich habe zurzeit ein Perl-Script das mir den Z80 Output von SDCC für den ASL Assembler aufbereitet, aber es gibt Probleme mit den Interrupt Flags, die von bestimmten pop af Insns getrasht werden. Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Geschäftsführer: Hubert Rohrer, Johannes Häringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. |
From: Keuchel, R. <rai...@al...> - 2013-09-09 17:02:29
|
So sollte es gehen: Index: K:/sdcc-svn/sdcc/src/z80/gen.c =================================================================== --- K:/sdcc-svn/sdcc/src/z80/gen.c (revision 8838) +++ K:/sdcc-svn/sdcc/src/z80/gen.c (working copy) @@ -4557,7 +4557,11 @@ } else { +#ifdef TLCS90 + emit2 ("add sp, #%d", 2); +#else emit2 ("pop af"); +#endif stack -= 2; } } Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Gesch?ftsf?hrer: Hubert Rohrer, Johannes H?ringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. |
From: Philipp K. K. <pk...@sp...> - 2013-09-09 15:33:36
|
Am 09.09.2013 17:16, schrieb Keuchel, Rainer: > Ich habe vor Support für TLCS90 (TMP90C041) einzubauen. > > Hoffentlich geht das überhaupt mit so einem schlechten Compiler wie VC10.. > > TLCS90 ist wie Z80 Assembler, aber mit anderen Binär-Kodierungen der Opcodes. > > Ich habe zurzeit ein Perl-Script das mir den Z80 Output von SDCC für den ASL Assembler > aufbereitet, aber es gibt Probleme mit den Interrupt Flags, die von > bestimmten pop af Insns getrasht werden. Gibt es irgendwo einen Überblick über die Instruktionen des TLCS-90? Soweit ich weiß hat er ja einige, die es beim Z80 nicht gibt. Philipp |
From: Philipp K. K. <pk...@sp...> - 2013-09-09 16:11:05
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 09.09.2013 17:16, schrieb Keuchel, Rainer: > Ich habe vor Support für TLCS90 (TMP90C041) einzubauen. > > Hoffentlich geht das überhaupt mit so einem schlechten Compiler > wie VC10.. > > TLCS90 ist wie Z80 Assembler, aber mit anderen Binär-Kodierungen > der Opcodes. > > Ich habe zurzeit ein Perl-Script das mir den Z80 Output von SDCC > für den ASL Assembler aufbereitet, aber es gibt Probleme mit den > Interrupt Flags, die von bestimmten pop af Insns getrasht werden. Hmm, was genau ist das Problem mit den Flags? Verhält sich pop af auf dem TLCS-90 anders als auf dem Z80? Philipp P.S.: Langfristig wäre es natürlich am elegantesten, einen vollen TLCS-90 port in sdcc zu haben. Aber dafür bräuchte es: * Etwas Dokumentation * Unterstützung im Assembler¹ * Unterstützung im Simulator² Philipp ¹ Siehe sdas/asz80, sdas/asrab ² Siehe sim/ucsim/z80.src -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIt8w0ACgkQbtUV+xsoLpp0LACgkvW+nFy8cw2X9QyQpy5klbSu ZRgAoNEikdua0B1rR70HSLUv22e/tqte =V7pV -----END PGP SIGNATURE----- |
From: Keuchel, R. <rai...@al...> - 2013-09-09 17:49:31
|
Das Problem ist dass ei/di bei T90 Flags in F setzen. Das ist beim Z80 nicht der Fall. Der Z80-Generator in SDCC benutzt pop af scheinbar manchmal einfach um den Stack zu dekrementieren, die Flags interessieren eigentlich danach nicht. Es wurde aber vorher was anderes gepusht, sodass Interrupts zufällig enabled/disabled werden. Habe mir das noch nicht genauer angesehen: gen.c:4222: emit2 ("pop af"); gen.c:4560: emit2 ("pop af"); gen.c:4623: emit2 ("pop af"); gen.c:10270: emit2 ("pop af"); gen.c:10308: emit2 ("pop af"); Ich glaube nicht dass grosses Interesse für T90 besteht.. Ein Assembler wäre schon relativ aufwendig, auch mit vernünfiger Doku. Der ASL kann leider nur eine Datei kompilieren und linken sodass ich aktuell alle C Files in main.c include und mit dem Perlscript crt0.s und die Data und BSS Sections zusammenbastel. Aber das funzt erstmal. Mit freundlichen Grüssen Rainer Keuchel Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Geschäftsführer: Hubert Rohrer, Johannes Häringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. -----Ursprüngliche Nachricht----- Von: Philipp Klaus Krause [mailto:pk...@sp...] Gesendet: Montag, 9. September 2013 18:11 An: Keuchel, Rainer Cc: Development chatter about sdcc Betreff: [Signatur ungueltig] Re: [Signatur ungueltig] Re: [sdcc-devel] SDCC BUGS: HC08/STM8 Am 09.09.2013 17:16, schrieb Keuchel, Rainer: > Ich habe vor Support für TLCS90 (TMP90C041) einzubauen. > > Hoffentlich geht das überhaupt mit so einem schlechten Compiler wie > VC10.. > > TLCS90 ist wie Z80 Assembler, aber mit anderen Binär-Kodierungen der > Opcodes. > > Ich habe zurzeit ein Perl-Script das mir den Z80 Output von SDCC für > den ASL Assembler aufbereitet, aber es gibt Probleme mit den Interrupt > Flags, die von bestimmten pop af Insns getrasht werden. Hmm, was genau ist das Problem mit den Flags? Verhält sich pop af auf dem TLCS-90 anders als auf dem Z80? Philipp P.S.: Langfristig wäre es natürlich am elegantesten, einen vollen TLCS-90 port in sdcc zu haben. Aber dafür bräuchte es: * Etwas Dokumentation * Unterstützung im Assembler¹ * Unterstützung im Simulator² Philipp ¹ Siehe sdas/asz80, sdas/asrab ² Siehe sim/ucsim/z80.src |
From: Philipp K. K. <pk...@sp...> - 2013-09-09 17:42:17
|
Am 09.09.2013 19:02, schrieb Keuchel, Rainer: > So sollte es gehen: > > Index: K:/sdcc-svn/sdcc/src/z80/gen.c > =================================================================== > --- K:/sdcc-svn/sdcc/src/z80/gen.c (revision 8838) > +++ K:/sdcc-svn/sdcc/src/z80/gen.c (working copy) > @@ -4557,7 +4557,11 @@ > } > else > { > +#ifdef TLCS90 > + emit2 ("add sp, #%d", 2); > +#else > emit2 ("pop af"); > +#endif > stack -= 2; > } > } > Hat der TLCS-90 einen solchen add sp, #d Befehl? Philipp |
From: Keuchel, R. <rai...@al...> - 2013-09-09 17:48:04
|
Ja, hat er. Ich probiere das nachher mal aus.. Mit freundlichen Grüssen Rainer Keuchel Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Geschäftsführer: Hubert Rohrer, Johannes Häringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. -----Ursprüngliche Nachricht----- Von: Philipp Klaus Krause [mailto:pk...@sp...] Gesendet: Montag, 9. September 2013 19:42 An: Keuchel, Rainer Cc: Development chatter about sdcc Betreff: Re: [Signatur ungueltig] Re: [sdcc-devel] SDCC BUGS: HC08/STM8 Am 09.09.2013 19:02, schrieb Keuchel, Rainer: > So sollte es gehen: > > Index: K:/sdcc-svn/sdcc/src/z80/gen.c > =================================================================== > --- K:/sdcc-svn/sdcc/src/z80/gen.c (revision 8838) > +++ K:/sdcc-svn/sdcc/src/z80/gen.c (working copy) > @@ -4557,7 +4557,11 @@ > } > else > { > +#ifdef TLCS90 > + emit2 ("add sp, #%d", 2); #else > emit2 ("pop af"); > +#endif > stack -= 2; > } > } > Hat der TLCS-90 einen solchen add sp, #d Befehl? Philipp |
From: Keuchel, R. <rai...@al...> - 2013-09-09 15:51:53
|
Das ist nicht so leicht zu finden, aber es gibt in Mame einen Disassembler den ich in einen Standalone-Disassembler eingebaut habe. http://mamedev.org/source/src/emu/cpu/tlcs90/tlcs90.c.html Der Chip hat ein paar Sysregs für 4 Timer, Motor-Ports und UART etc. Das funktioniert auch alles. Die Z80 Insns reichen mir erstmal. Der TMP90C041 ist in alten Bondruckern drin. Habe ca 10 Platinen davon rumliegen und aus Langeweile damit rumexperimentiert. Hat leider nur 256 Bytes RAM, LOL! Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Geschäftsführer: Hubert Rohrer, Johannes Häringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. -----Ursprüngliche Nachricht----- Von: Philipp Klaus Krause [mailto:pk...@sp...] Gesendet: Montag, 9. September 2013 17:33 An: Keuchel, Rainer Cc: Development chatter about sdcc Betreff: Re: [Signatur ungueltig] Re: [sdcc-devel] SDCC BUGS: HC08/STM8 Am 09.09.2013 17:16, schrieb Keuchel, Rainer: > Ich habe vor Support für TLCS90 (TMP90C041) einzubauen. > > Hoffentlich geht das überhaupt mit so einem schlechten Compiler wie VC10.. > > TLCS90 ist wie Z80 Assembler, aber mit anderen Binär-Kodierungen der Opcodes. > > Ich habe zurzeit ein Perl-Script das mir den Z80 Output von SDCC für > den ASL Assembler aufbereitet, aber es gibt Probleme mit den Interrupt > Flags, die von bestimmten pop af Insns getrasht werden. Gibt es irgendwo einen Überblick über die Instruktionen des TLCS-90? Soweit ich weiß hat er ja einige, die es beim Z80 nicht gibt. Philipp |
From: Keuchel, R. <rai...@al...> - 2013-09-09 20:45:39
|
While debugging with VC10 I found that assignment::operator<() does not provide strict weak ordering. I get _DEBUG_ERROR2 below while in sort()/merge(). Maybe this can be ignored but it seems this does not follow the std and could produce unwanted results.. ********************************************************************** typedef std::list<assignment> assignment_list_t; bool operator<(const assignment& a) const template<class _Ty1, class _Ty2> inline bool _Debug_lt(_Ty1& _Left, _Ty2& _Right, _Dbfile_t _File, _Dbline_t _Line) { // test if _Left < _Right and operator< is strict weak ordering if (!(_Left < _Right)) return (false); else if (_Right < _Left) _DEBUG_ERROR2("invalid operator<", _File, _Line); return (true); } ********************************************************************** "The standard containers work with a strict weak order.." ********************************************************************** Call stack: sdcc.exe!std::_Debug_message(const wchar_t * message, const wchar_t * file, unsigned int line) Line 15 C++ > sdcc.exe!std::_Debug_lt<assignment,assignment>(assignment & _Left, assignment & _Right, const wchar_t * _File, unsigned int _Line) Line 640 + 0x12 bytes C++ sdcc.exe!std::list<assignment,std::allocator<assignment> >::merge(std::list<assignment,std::allocator<assignment> > & _Right) Line 1298 + 0x21 bytes C++ sdcc.exe!std::list<assignment,std::allocator<assignment> >::sort() Line 1357 C++ sdcc.exe!tree_dec_ralloc_forget<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> & T, unsigned int t, const boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> & G, const boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > & I) Line 828 C++ sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> & T, unsigned int t, const boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> & G, const boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > & I, const assignment & ac, bool * const assignment_optimal) Line 967 + 0x6d bytes C++ sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> & T, unsigned int t, const boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> & G, const boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > & I, const assignment & ac, bool * const assignment_optimal) Line 966 + 0x1d bytes C++ sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> & T, unsigned int t, const boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> & G, const boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > & I, const assignment & ac, bool * const assignment_optimal) Line 966 + 0x1d bytes C++ sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> & T, unsigned int t, const boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> & G, const boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > & I, const assignment & ac, bool * const assignment_optimal) Line 966 + 0x1d bytes C++ sdcc.exe!tree_dec_ralloc<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::setS,boost::vecS,boost::undirectedS,con_node,boost::no_property,boost::no_property,boost::listS> >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> & T, const boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> & G, const boost::adjacency_list<boost::setS,boost::vecS,boost::undirectedS,con_node,boost::no_property,boost::no_property,boost::listS> & I) Line 1461 + 0x29 bytes C++ sdcc.exe!z80_ralloc2_cc(ebbIndex * ebbi) Line 1615 + 0x14 bytes C++ sdcc.exe!z80_ralloc(ebbIndex * ebbi) Line 3152 + 0x9 bytes C sdcc.exe!z80_assignRegisters(ebbIndex * ebbi) Line 3206 + 0x9 bytes C sdcc.exe!eBBlockFromiCode(iCode * ic) Line 2364 + 0x14 bytes C sdcc.exe!createFunction(symbol * name, ast * body) Line 7012 + 0x9 bytes C sdcc.exe!yyparse() Line 202 + 0x1b bytes C sdcc.exe!main(int argc, char * * argv, char * * envp) Line 2536 C sdcc.exe!__tmainCRTStartup() Line 278 + 0x19 bytes C sdcc.exe!mainCRTStartup() Line 189 C Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Gesch?ftsf?hrer: Hubert Rohrer, Johannes H?ringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. |
From: Philipp K. K. <pk...@sp...> - 2013-09-13 18:39:56
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 09.09.2013 22:45, schrieb Keuchel, Rainer: > While debugging with VC10 I found that assignment::operator<() does > not provide strict weak ordering. Can you elaborate on why you think our current assignment::operator<() is not a strict weak ordering? Philipp > > I get _DEBUG_ERROR2 below while in sort()/merge(). > > Maybe this can be ignored but it seems this does not follow the > std and could produce unwanted results.. > > ********************************************************************** > > typedef std::list<assignment> assignment_list_t; > > > bool operator<(const assignment& a) const > > template<class _Ty1, class _Ty2> inline bool _Debug_lt(_Ty1& _Left, > _Ty2& _Right, _Dbfile_t _File, _Dbline_t _Line) { > > // test if _Left < _Right and operator< is strict weak ordering > > if (!(_Left < _Right)) return (false); else if (_Right < _Left) > _DEBUG_ERROR2("invalid operator<", _File, _Line); return (true); } > > ********************************************************************** > > "The standard containers work with a strict weak order.." > > ********************************************************************** > > Call stack: > > sdcc.exe!std::_Debug_message(const wchar_t * message, const wchar_t > * file, unsigned int line) Line 15 C++ >> sdcc.exe!std::_Debug_lt<assignment,assignment>(assignment & >> _Left, assignment & _Right, const wchar_t * _File, unsigned int >> _Line) Line 640 + 0x12 bytes C++ > sdcc.exe!std::list<assignment,std::allocator<assignment> > >::merge(std::list<assignment,std::allocator<assignment> > & > _Right) Line 1298 + 0x21 bytes C++ > sdcc.exe!std::list<assignment,std::allocator<assignment> >::sort() > Line 1357 C++ > > > sdcc.exe!tree_dec_ralloc_forget<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> > & T, unsigned int t, const > boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> > & G, const > boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > & I) Line 828 C++ > sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> > & T, unsigned int t, const > boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> > & G, const > boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > & I, const assignment & ac, bool * const assignment_optimal) > Line 967 + 0x6d bytes C++ > sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> > & T, unsigned int t, const > boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> > & G, const > boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > & I, const assignment & ac, bool * const assignment_optimal) > Line 966 + 0x1d bytes C++ > sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> > & T, unsigned int t, const > boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> > & G, const > boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > & I, const assignment & ac, bool * const assignment_optimal) > Line 966 + 0x1d bytes C++ > sdcc.exe!tree_dec_ralloc_nodes<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> > & T, unsigned int t, const > boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> > & G, const > boost::adjacency_matrix<boost::undirectedS,con_node,boost::no_property,boost::no_property,std::allocator<bool> > > & I, const assignment & ac, bool * const assignment_optimal) > Line 966 + 0x1d bytes C++ > sdcc.exe!tree_dec_ralloc<boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS>,boost::adjacency_list<boost::setS,boost::vecS,boost::undirectedS,con_node,boost::no_property,boost::no_property,boost::listS> > >(boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,tree_dec_node,boost::no_property,boost::no_property,boost::listS> > & T, const > boost::adjacency_list<boost::vecS,boost::vecS,boost::bidirectionalS,cfg_node,boost::no_property,boost::no_property,boost::listS> > & G, const > boost::adjacency_list<boost::setS,boost::vecS,boost::undirectedS,con_node,boost::no_property,boost::no_property,boost::listS> > & I) Line 1461 + 0x29 bytes C++ > > sdcc.exe!z80_ralloc2_cc(ebbIndex * ebbi) Line 1615 + 0x14 bytes > C++ sdcc.exe!z80_ralloc(ebbIndex * ebbi) Line 3152 + 0x9 bytes > C sdcc.exe!z80_assignRegisters(ebbIndex * ebbi) Line 3206 + 0x9 > bytes C sdcc.exe!eBBlockFromiCode(iCode * ic) Line 2364 + 0x14 > bytes C sdcc.exe!createFunction(symbol * name, ast * body) Line > 7012 + 0x9 bytes C sdcc.exe!yyparse() Line 202 + 0x1b bytes > C sdcc.exe!main(int argc, char * * argv, char * * envp) Line 2536 > C sdcc.exe!__tmainCRTStartup() Line 278 + 0x19 bytes C > sdcc.exe!mainCRTStartup() Line 189 C > > > > > Rainer Keuchel Entwicklungsleiter Enterprise Content Management > > Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen > > Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: > rai...@al... Internet: www.allgeier-it.de > > ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 > Gesch?ftsf?hrer: Hubert Rohrer, Johannes H?ringslack, Ralf Nitzgen > St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 > > Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte > Informationen. Wenn Sie nicht der richtige Adressat sind oder diese > E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den > Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren > sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. > > This message (and any associated files) is intended only for the > use of pk...@sp..., sdc...@li... and may > contain information that is confidential, subject to copyright or > constitutes a trade secret. If you are not pk...@sp..., > sdc...@li... you are hereby notified that any > dissemination, copying or distribution of this message, or files > associated with this message, is strictly prohibited. If you have > received this message in error, please notify us immediately by > replying to the message and deleting it from your computer. Any > views or opinions presented are solely those of the author > rai...@al... and do not necessarily represent > those of the company. > > > > ------------------------------------------------------------------------------ > > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! > Discover the easy way to master current and previous Microsoft > technologies and advance your career. Get an incredible 1,500+ > hours of step-by-step tutorial videos with LearnDevNow. Subscribe > today and save! > http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk > > _______________________________________________ > sdcc-devel mailing list sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIzW+sACgkQbtUV+xsoLprYMQCfVPn7dYGBt6sjz3G1T8GS1Zbq OjMAn0nCu+MVtnr/UdEHOtOv7lC00avX =90sj -----END PGP SIGNATURE----- |
From: Philipp K. K. <pk...@sp...> - 2013-09-10 15:36:24
Attachments:
signature.asc
tlcs-90
|
Am 09.09.2013 17:51, schrieb Keuchel, Rainer: > Das ist nicht so leicht zu finden, aber es gibt in Mame einen Disassembler > den ich in einen Standalone-Disassembler eingebaut habe. > > http://mamedev.org/source/src/emu/cpu/tlcs90/tlcs90.c.html I tried to condense the information from there into a short list of TLCS-90 instructions by opcode. The result is attached to this mail. It might be useful as a first start for anyone wanting to get into TLCS-90 programming. Personally, I consider the TLCS-90 architecture to be ok. Better than any of the Z80-related architectures currently supported by sdcc. Still it has its shortcomings. But if there is demand for an TLCS-90 port in sdcc, I am willing to help with the effort¹. Philipp ¹ So far (e.g. r2k, stm8) this usually meant that someone offered to do the work on assembler, linker and simulator an co-maintain the port, while I did most of the work on the compiler. |
From: Keuchel, R. <rai...@al...> - 2013-09-10 16:02:49
|
Is the insn encoding scheme (addressing modes) similar to z80 so a port of the z80 assembler is relatively simple? I started adding a new port (t90) to sdcc so I get my stack adjust change in. It's almost finished. Testing revealed that the change fixed my problems with interrupt enable flags in F so I can go on exploring the capabilities of the TMP90C041.. Should I send you one of the printer boards for playing? Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Geschäftsführer: Hubert Rohrer, Johannes Häringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. -----Ursprüngliche Nachricht----- Von: Philipp Klaus Krause [mailto:pk...@sp...] Gesendet: Dienstag, 10. September 2013 17:36 An: Development chatter about sdcc Cc: Keuchel, Rainer Betreff: [Signatur ungueltig] Re: [sdcc-devel] [Signatur ungueltig] Re: SDCC BUGS: HC08/STM8 Am 09.09.2013 17:51, schrieb Keuchel, Rainer: > Das ist nicht so leicht zu finden, aber es gibt in Mame einen > Disassembler den ich in einen Standalone-Disassembler eingebaut habe. > > http://mamedev.org/source/src/emu/cpu/tlcs90/tlcs90.c.html I tried to condense the information from there into a short list of TLCS-90 instructions by opcode. The result is attached to this mail. It might be useful as a first start for anyone wanting to get into TLCS-90 programming. Personally, I consider the TLCS-90 architecture to be ok. Better than any of the Z80-related architectures currently supported by sdcc. Still it has its shortcomings. But if there is demand for an TLCS-90 port in sdcc, I am willing to help with the effort¹. Philipp ¹ So far (e.g. r2k, stm8) this usually meant that someone offered to do the work on assembler, linker and simulator an co-maintain the port, while I did most of the work on the compiler. |
From: Philipp K. K. <pk...@sp...> - 2013-09-11 08:57:21
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 10.09.2013 18:02, schrieb Keuchel, Rainer: > Is the insn encoding scheme (addressing modes) similar to z80 so a > port of the z80 assembler is relatively simple? > > I started adding a new port (t90) to sdcc so I get my stack adjust > change in. It's almost finished. > > Testing revealed that the change fixed my problems with interrupt > enable flags in F so I can go on exploring the capabilities of the > TMP90C041.. > > Should I send you one of the printer boards for playing? Sorry, I'm too busy this year to start playing with real TLCS90-hardware (there is still some of that left to do for the stm8 port). Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIwMGgACgkQbtUV+xsoLppx8QCeIX/sXkPbCynHOKlWBgqdUpka zc4AmgMx9iK2gV0fkBEjzU4Lu0qnizjO =FNBY -----END PGP SIGNATURE----- |
From: Keuchel, R. <rai...@al...> - 2013-09-10 20:54:04
Attachments:
insns2.txt
|
Thanks for the insn list. I checked it against the disassembler output and found no errors. Great! I annotated the list with some sample insns so it is easier for me to understand. It seems that the direct memory insns would be worth adding to sdcc. Currently the mem is accessed via hl. I will start working on the assembler, I think it could be done in a few days. PS: The T90 also has two SFRs BX and BY that act as extended address bits for external data memory accesses via ix and iy, but this would probably be complicated to add to sdcc.. Sample: 000001ef: 37 ed 01 ld (BY), 001h 000001f2: 3d 00 40 ld iy, 04000h 000001f5: ed 37 ff ld (iy), 0FFh 000001f8: 3d 01 40 ld iy, 04001h 000001fb: e5 b8 set 0,(iy) 000001fd: 37 ed 00 ld (BY), 000h Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Gesch?ftsf?hrer: Hubert Rohrer, Johannes H?ringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. |
From: Philipp K. K. <pk...@sp...> - 2013-09-11 17:45:59
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 10.09.2013 22:53, schrieb Keuchel, Rainer: > Thanks for the insn list. I checked it against the disassembler > output and found no errors. Great! I annotated the list with some > sample insns so it is easier for me to understand. > > It seems that the direct memory insns would be worth adding to > sdcc. Currently the mem is accessed via hl. > > I will start working on the assembler, I think it could be done in > a few days. > > PS: The T90 also has two SFRs BX and BY that act as extended > address bits for external data memory accesses via ix and iy, but > this would probably be complicated to add to sdcc.. For a full port in sdcc we will definitely need a simualtor, preferably one based on ucsim, like most of our simulators are. Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIwrE0ACgkQbtUV+xsoLprr4wCgyA7zoZ3fxhhS6mY+OA5nNCJ3 cXEAmwQ02hBwvA6aQ39lNlafEWgL1824 =HDFt -----END PGP SIGNATURE----- |
From: Philipp K. K. <pk...@sp...> - 2013-09-11 08:50:57
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 10.09.2013 22:53, schrieb Keuchel, Rainer: > Thanks for the insn list. I checked it against the disassembler > output and found no errors. Great! I annotated the list with some > sample insns so it is easier for me to understand. > > It seems that the direct memory insns would be worth adding to > sdcc. Currently the mem is accessed via hl. I'm not sure what you mean here. IMO the most benefit would be gained from using the sp-relative addressing mode, e.g. ld a, (d, sp). > > I will start working on the assembler, I think it could be done in > a few days. Will you base it on the one in sdcc? > PS: The T90 also has two SFRs BX and BY that act as extended > address bits for external data memory accesses via ix and iy, but > this would probably be complicated to add to sdcc.. I wonder if this is worth it. Are there any TLCS-90 that really use a bigger address space than 64K? Philipp P.S.: I'd also prefer to name the port tlcs90, as the name makes it clear which architecture is targeted, and makes future naming conflicts less likely. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIwLuYACgkQbtUV+xsoLpqGkQCfR5iGHE14uuVM8bjG7uIkFTHA gY8AoO1gOAtxa8JQcT/E1gU/NrGh5GEj =OqE1 -----END PGP SIGNATURE----- |
From: Keuchel, R. <rai...@al...> - 2013-09-11 09:34:37
|
I mean these internal ram/sfr accesses which use only one byte offsets from ff00: It's called the "direct access areas". Without changes in sdcc these are acessed via hl. 07 00 incx ( 0FF00h) 07 02 incx ( 0FF02h) 07 04 incx ( 0FF04h) 0f 00 decx ( 0FF00h) 0f 08 decx ( 0FF08h) 0f 0a decx ( 0FF0Ah) 0f 1b decx ( 0FF1Bh) 0f c4 decx (P2) 27 38 ld a,( 0FF38h) 2f 36 ld ( 0FF36h),a ... I will use the z80 assembler as a base. The internal RAM is very limited (256 bytes - SRFs) and the 64K are usually used for prog mem, at least on my printer boards. But the extended adressing is not very important to me and could be done manually in code. Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Gesch?ftsf?hrer: Hubert Rohrer, Johannes H?ringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. -----Original Message----- From: Philipp Klaus Krause [mailto:pk...@sp...] Sent: Mittwoch, 11. September 2013 10:51 To: sdc...@li... Cc: Keuchel, Rainer Subject: [Signatur ungueltig] Re: [sdcc-devel] T90 Port Am 10.09.2013 22:53, schrieb Keuchel, Rainer: > Thanks for the insn list. I checked it against the disassembler output > and found no errors. Great! I annotated the list with some sample > insns so it is easier for me to understand. > > It seems that the direct memory insns would be worth adding to sdcc. > Currently the mem is accessed via hl. I'm not sure what you mean here. IMO the most benefit would be gained from using the sp-relative addressing mode, e.g. ld a, (d, sp). > > I will start working on the assembler, I think it could be done in a > few days. Will you base it on the one in sdcc? > PS: The T90 also has two SFRs BX and BY that act as extended address > bits for external data memory accesses via ix and iy, but this would > probably be complicated to add to sdcc.. I wonder if this is worth it. Are there any TLCS-90 that really use a bigger address space than 64K? Philipp P.S.: I'd also prefer to name the port tlcs90, as the name makes it clear which architecture is targeted, and makes future naming conflicts less likely. |
From: Philipp K. K. <pk...@sp...> - 2013-09-11 08:58:22
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 10.09.2013 18:02, schrieb Keuchel, Rainer: > Is the insn encoding scheme (addressing modes) similar to z80 so a > port of the z80 assembler is relatively simple? > > I started adding a new port (t90) to sdcc so I get my stack adjust > change in. It's almost finished. Can you post a link to the patch? Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIwMKQACgkQbtUV+xsoLppJtgCfaMUUG6cHlBCc2kUlXN249dcS b+IAn3O+JedooWbISwMEBSrLiwOnosdw =MawE -----END PGP SIGNATURE----- |
From: Keuchel, R. <rai...@al...> - 2013-09-11 09:42:34
|
You might want to remove the changes for compiler errrors you have already fixed and the VC10 project files. http://www.rainer-keuchel.de/sdcc/t90_patch1.txt Rainer Keuchel Entwicklungsleiter Enterprise Content Management Allgeier IT Solutions GmbH Hans-Bredow-Str. 60 28307 Bremen Tel: +49 421 43841-294 Fax: +49 (0) 421 438419294 E-Mail: rai...@al... Internet: www.allgeier-it.de ALLGEIER IT SOLUTIONS GmbH Amtsgericht Bremen | HRB 20924 Gesch?ftsf?hrer: Hubert Rohrer, Johannes H?ringslack, Ralf Nitzgen St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet. This message (and any associated files) is intended only for the use of pk...@sp..., sdc...@li... and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not pk...@sp..., sdc...@li... you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author rai...@al... and do not necessarily represent those of the company. -----Original Message----- From: Philipp Klaus Krause [mailto:pk...@sp...] Sent: Mittwoch, 11. September 2013 10:58 To: Keuchel, Rainer Cc: Development chatter about sdcc Subject: [Signatur ungueltig] Re: [Signatur ungueltig] Re: [sdcc-devel] [Signatur ungueltig] Re:SDCC BUGS: HC08/STM8 Am 10.09.2013 18:02, schrieb Keuchel, Rainer: > Is the insn encoding scheme (addressing modes) similar to z80 so a > port of the z80 assembler is relatively simple? > > I started adding a new port (t90) to sdcc so I get my stack adjust > change in. It's almost finished. Can you post a link to the patch? Philipp |
From: Philipp K. K. <pk...@sp...> - 2013-09-11 17:07:58
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 11.09.2013 11:42, schrieb Keuchel, Rainer: > You might want to remove the changes for compiler errrors you have > already fixed and the VC10 project files. > > http://www.rainer-keuchel.de/sdcc/t90_patch1.txt I have merged parts of this patch. I also just completly rewrote the stack adjustment mechanism to better resemble the stm8 one. It also no longer uses pop af in the tlcs-90 port (there are two remaining uses of pop af for data transfer in other parts of code generation though). Philipp -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlIwo1oACgkQbtUV+xsoLpqHcgCfRxmnommtLdH7N3tNb2rKXjcy 8JoAn2bzrI74grX3o5UapO6+mSOF1wSp =qKCA -----END PGP SIGNATURE----- |
From: Maarten B. <sou...@ds...> - 2013-09-11 10:20:35
|
Hello Rainer and Philipp, Please do not commit most of the VC10 project settings. They very much depend on which version of Boost is installed and in which directory. The same goes for flex and friends. Esp. the latter can be be fixed by setting your PATH. Maybe the Boost dirs or even both can be set in a VC10 global setting outside the project? Have you investigated if the original ASxxxx already supports this processor? This was overlooked by previous additions like the rabbit. Btw. I'm glad you reverted back to english. Personally I can read German and I expect several other SDCC developers can as well, but I'm not sure this holds for everyone. Maarten > You might want to remove the changes for compiler errrors you have already > fixed > and the VC10 project files. > > http://www.rainer-keuchel.de/sdcc/t90_patch1.txt > > > > > > Rainer Keuchel > Entwicklungsleiter > Enterprise Content Management > > Allgeier IT Solutions GmbH > Hans-Bredow-Str. 60 > 28307 Bremen > > Tel: +49 421 43841-294 > Fax: +49 (0) 421 438419294 > E-Mail: rai...@al... > Internet: www.allgeier-it.de > > ALLGEIER IT SOLUTIONS GmbH > Amtsgericht Bremen | HRB 20924 > Gesch?ftsf?hrer: Hubert Rohrer, Johannes H?ringslack, Ralf Nitzgen > St.-Nr. 803/11449 | USt.-ID-Nr. DE114397847 > > Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte > Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail > irrt?mlich erhalten haben, informieren Sie bitte sofort den Absender und > vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte > Weitergabe dieser E-Mail sind nicht gestattet. > > This message (and any associated files) is intended only for the use > of pk...@sp..., sdc...@li... and may contain > information that is confidential, subject to copyright or constitutes a > trade secret. If you are not pk...@sp..., sdc...@li... > you are hereby notified that any dissemination, copying or distribution of > this message, or files associated with this message, is strictly > prohibited. If you have received this message in error, please notify us > immediately by replying to the message and deleting it from your computer. > Any > views or opinions presented are solely those of the author > rai...@al... and do not necessarily represent those of > the > company. > > > -----Original Message----- > From: Philipp Klaus Krause [mailto:pk...@sp...] > Sent: Mittwoch, 11. September 2013 10:58 > To: Keuchel, Rainer > Cc: Development chatter about sdcc > Subject: [Signatur ungueltig] Re: [Signatur ungueltig] Re: [sdcc-devel] > [Signatur ungueltig] Re:SDCC BUGS: HC08/STM8 > > Am 10.09.2013 18:02, schrieb Keuchel, Rainer: >> Is the insn encoding scheme (addressing modes) similar to z80 so a >> port of the z80 assembler is relatively simple? >> >> I started adding a new port (t90) to sdcc so I get my stack adjust >> change in. It's almost finished. > > Can you post a link to the patch? > > Philipp > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. Consolidate legacy IT systems to a single system of record for IT > 2. Standardize and globalize service processes across IT > 3. Implement zero-touch automation to replace manual, redundant tasks > http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > |