mirror of
https://github.com/cc65/cc65.git
synced 2024-12-24 11:31:31 +00:00
cc65 - a freeware C compiler for 6502 based systems
f488f7576c
The code void foo(void) { int i; long l = 1L * i; } triggered an Internal compiler error: Code generation messed up: StackPtr is -4, should be -2 Greg King: "We are lucky that the bug is simple -- a missing "else". The result is that the compiler thinks that it does the opposite of what it actually does: It thinks that it pushes the non-constant expression onto the stack. It doesn't; so, cc65's stack pointer is wrong." |
||
---|---|---|
asminc | ||
cfg | ||
include | ||
libsrc | ||
samples | ||
src | ||
testcode | ||
util | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
Makefile | ||
README |
cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools. cc65 has C and runtime library support for many of the old 6502 machines, including - the following Commodore machines: VIC20 C16/C116 and Plus/4 C64 C128 CBM 510 (aka P500) the 600/700 family newer PET machines (not 2001). - the Apple ][+ and successors. - the Atari 8 bit machines. - GEOS for the C64 and C128. - the Nintendo Entertainment System (NES). - the Supervision console. - the Oric Atmos. - the Lynx console. The libraries are fairly portable, so creating a version for other 6502s shouldn't be too much work.