mirror of
https://github.com/cc65/cc65.git
synced 2025-01-11 11:30:13 +00:00
Marcus Rowe
67cd0c2197
Added .asize and .isize pseudo variables
These pseudo variables will return the size of the accumulator/index in bits. For the 65816 instruction set .ASIZE/.ISIZE will return either 8 or 16, depending on the current size of the operand in immediate addressing mode. For all other CPU instruction sets, .ASIZE/.ISIZE will always return 8. For example: ; Reverse Subtract with Accumulator ; A = memory - A .macro rsb param .if .asize = 8 eor #$ff .else eor #$ffff .endif sec adc param .endmacro
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.
- the Atari 5200 console.
- GEOS for the C64, C128 and Apple //e.
- the NEC PC-Engine (aka TurboGrafx-16).
- the Nintendo Entertainment System (NES) console.
- the Supervision console.
- the Oric Atmos.
- the Lynx console.
- the Ohio Scientific Challenger 1P
The libraries are fairly portable, so creating a version for other 6502s shouldn't be too much work.
Description
Languages
C
62.4%
Assembly
35.6%
PHP
0.7%
Makefile
0.6%
Perl
0.3%
Other
0.3%