This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects:vlam:pbcc:pbcc [2011/10/31 18:32] – krivka | projects:vlam:pbcc:pbcc [2017/08/30 12:09] (current) – [Related links] krivka | ||
---|---|---|---|
Line 28: | Line 28: | ||
* Source code: {{: | * Source code: {{: | ||
* Changes: | * Changes: | ||
- | * new command-line parameter < | + | * new command-line parameter < |
* fixed bug with duplicity of labels | * fixed bug with duplicity of labels | ||
Line 54: | Line 54: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | |||
+ | ==== Limits of the compiler ==== | ||
+ | * no linkage - PicoBlaze-3 processsor is so small that linkage has no practical use, you can use only text-based header/ | ||
+ | * no standard library - there is no implementation for standard C library such as stdio, string, etc. (most of the functions are just too big to fit into its small memory) | ||
+ | * no dynamic allocation - there is no malloc or free function to do the memory management | ||
==== Known bugs ==== | ==== Known bugs ==== | ||
As the compiler still has many bugs and missing features, it is good to know them: | As the compiler still has many bugs and missing features, it is good to know them: | ||
- | * Global variables | + | * Global variables |
* Optimized switch does not work (JUMPTABLE) | * Optimized switch does not work (JUMPTABLE) | ||
* Missing: Get highest bit, get value at address, pointer set, address of (SDCC iCodes) | * Missing: Get highest bit, get value at address, pointer set, address of (SDCC iCodes) | ||
* Inlining not supported yet | * Inlining not supported yet | ||
* Problems with passing array as a function argument | * Problems with passing array as a function argument | ||
+ | * Generated invalid interrupt vector jump code (as a trivial IVT) | ||
==== Code Examples ==== | ==== Code Examples ==== | ||
Line 90: | Line 96: | ||
* version 2011-10-27 (based on [[http:// | * version 2011-10-27 (based on [[http:// | ||
* Binary package: {{: | * Binary package: {{: | ||
- | * Source code: {{: | + | * Source code: {{: |
- | (GNU GPL v2) | + | |
* Modifications by [[http:// | * Modifications by [[http:// | ||
* New command-line argument -o that denotes output file without extension (.hex is added) | * New command-line argument -o that denotes output file without extension (.hex is added) | ||
Line 105: | Line 110: | ||
===== Related links ===== | ===== Related links ===== | ||
- | * [[http://www.openpicide.org|openPICIDE Homepage]] | + | * [[http:// |
- | + | * [[http:// | |
+ | * [[http:// | ||
+ | * [[https:// |