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
2015-10-20 09:30:25 +10:00
JT
e7fca18798
Added .DEFINEDMACRO psuedo function
...
Fixed typo/fomatting
Formatting fix
Refactor the code to test for a macro
Remove .FEATURE requirement for .DEFINEDMACRO
2015-06-27 01:39:11 -04:00
JT
63325a90d1
Added needed changes to pseudo.c
2015-05-19 20:45:49 -04:00
JT
5ed3a1a6dc
Added pseudo function .DEFINEDINSTR
2015-05-12 19:28:57 -04:00
JT
c6f45a338c
Added function .ADDRSIZE to ca65
2015-04-19 23:21:56 -04:00
Greg King
0390c34e88
Changed multi-line C comments into another style.
...
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Oliver Schmidt
4185caf855
Normalized code.
2014-03-04 01:11:19 +01:00
Oliver Schmidt
a7b84bb618
Removed references to SunPlus.
2014-02-08 22:48:49 +01:00
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
Oliver Schmidt
365668785c
Allow for warning-free build of ca65 with MS VC on warning level 3.
2013-04-08 00:11:08 +02:00
Oliver Schmidt
54299fae5a
Replaced builtin macro packages with .mac files that are included like ordinary .inc files.
...
The benefits are:
- Independency of ca65 build from perl
- More transparent behaviour
2013-04-08 00:11:05 +02:00
uz
aad6cd2a14
Allow to map characters to code zero with .CHARMAP.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5921 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-06 20:36:45 +00:00
uz
e6b52ee8d0
Fixed a bug reported by thefox: The .CHARMAP command must not accept indices
...
or character codes with a value of zero. The assembler runs into a CHECK in
tgttrans anyway if the index is zero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-17 15:09:39 +00:00
uz
f9729fd0cf
Use the new FileStat function to get correct file modification times under
...
Windows.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5633 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 17:01:05 +00:00
uz
7ecb4c50b1
Add bounded expressions for immediate addressing and list the new feature in
...
the docs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5406 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-18 19:50:34 +00:00
uz
9e68be3842
Started to add a new .BANK instruction that allows access to a memory area
...
attribute named "bank". Some error checks and a lot of testing is required.
Don't use for now.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5375 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-03 21:41:34 +00:00
uz
badfe85991
Allow arbitrary alignments, not just powers of two. Beware: This needs support
...
in the linker which is currently missing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5334 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-27 22:54:52 +00:00
uz
2fbebd25cf
Started to add debug infos for C functions and symbols.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5273 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-26 12:05:00 +00:00
uz
3e84a2bd93
Fix type string for .ADDR and .FARADDR.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5269 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-23 18:05:31 +00:00
uz
ecfba0c9b0
Fix a problem with the generated array sizes for span types (they were wrong).
...
As an optimization, don't create an array for just a few elements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5260 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:50:39 +00:00
uz
6e47980eb7
Generate span types for .ADDR, .BYTE, .DBYT, .FARADDR and .WORD.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5256 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-21 20:17:22 +00:00
uz
af8fbf8d62
Fox scopes that have a label (= .PROC), write the label to the debug
...
information.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5130 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-07 18:46:56 +00:00
uz
97cb025964
Remove SCOPE_PROC. It's a .SCOPE with an owner symbol.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5098 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 17:10:33 +00:00
uz
72a13e1a21
Write scopes in id order, so we don't need to write out the id itself. Add the
...
size of the scope to the output file and a flag bit that tells us if the scope
has a size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5097 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 15:37:51 +00:00
uz
4191eb7718
Move scope type definitions to common/
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5095 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 14:01:11 +00:00
uz
795d9e1a1c
Mark the symbol that is the name of a scope with the size of that scope
...
(previously only the scope itself had that size).
Pass the size of symbols through the object file to the linker. Bump the
object file version and adjust object file reading tools (od65, ar65) to this
change.
Read the size in the linker and output it in the debug info.
Bump the minor version number of the debug info. Read the size and allow to
access it via the API. Do better version checking for the debug info and try
to be smarter when encountering unknown keywords to improve support for newer
minor versions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5057 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 18:43:50 +00:00
uz
d1426aaa43
Finished implemenation of commands to delete macros. Added the new commands to
...
the docs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5050 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-12 21:29:07 +00:00
uz
eaa45269e7
First implementation of .UNDEF for deleting a macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5049 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-11 22:18:48 +00:00
uz
ddb7296b6c
Move all attributes and other information that is attached to a token into a
...
structure named Token.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 16:05:43 +00:00
uz
839e2c4202
Added new .FATAL pseudo op.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4903 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-09 11:00:22 +00:00
uz
05f7296369
Restructured search path handling.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-09 10:54:15 +00:00
uz
3fd52eb57f
Added dependency file generation to the assembler. This includes two new
...
options, --create-dep and --create-full-dep. The latter will include files
that are passed via debug info to the assembler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4653 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 11:59:55 +00:00
uz
bfd8f4e108
Implemented new .PUSHCPU and .POPCPU commands.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4644 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-18 18:47:16 +00:00
uz
61b69316c5
Added builtin .min() and .max() pseudo functions to the assembler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4583 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-11 18:54:08 +00:00
uz
5477e62e3a
Fixed open mode for second try in DoIncBin (Greg King).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4563 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-31 20:49:40 +00:00
uz
79820fe4ec
Added a separate include search path for binary includes. These aren't
...
searched any longer in the standard include path.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4558 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-25 20:33:01 +00:00
uz
1efebb9024
Add .assert actions that aren't evaluated at assembly time.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4321 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-04 12:40:19 +00:00
uz
85f96a7d6f
Fixed warnings generated by clang (run by Per Olofsson).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4255 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 15:59:18 +00:00
uz
8e8993de7e
Support for the .BANKBYTES, .LOBYTES and .HIBYTES pseudo functions contributed
...
by Kevin Schuetz <scrapdog@runbox.com>.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3965 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-05-18 16:11:34 +00:00
uz
c94e82f8b2
Check for and flag address size modifiers that are invalid for the choosen CPU.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3927 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-10 21:10:50 +00:00
uz
30f88d2646
Avoid spurious subsequent errors if an include file wasn't found.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3908 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-18 15:07:55 +00:00
cuz
c7aae0d3d8
Fixed an error in .out
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3846 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-06-29 20:13:37 +00:00
cuz
225e1ca58e
More fixes for Watcom C / C89.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3829 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 21:28:50 +00:00
cuz
9174f65e54
Make much more usage of dynamic strings (StrBufs) instead of char* and
...
friends. Since names and other strings are now StrBufs in many places, code
for output had to be changed.
Added support for string literals to StrBuf.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3825 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 20:54:45 +00:00
cuz
94f3a578a5
Allow optional assignments in .export and .exportzp statements.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3809 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-02-19 21:01:07 +00:00
cuz
a7358314a0
New .FEATURE org_per_seg. If enabled, .org/.reloc do only influence the
...
current segment. Idea by Peter Wendrich <pwsoft@syntiac.com>.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-23 19:48:43 +00:00
cuz
2a19f6b700
Fixed minor and rather obscure problem: When including files, the line after
...
the .include statement went into the listing file, before the contents of
the include file. The problem was caused by the several levels of lookahead
in the scanner, and the only way to avoid it was to remove the calls to
NextTok () in relevant places - and add compensation for it in others.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3609 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:29:11 +00:00
cuz
1f6276d21e
Added a new option --macpack-dir that allows to load the macro packages
...
from files instead of using the builtin ones.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3587 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-24 20:05:08 +00:00
cuz
945bbe2b50
Added variable symbols using .set
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3510 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-11 08:31:42 +00:00
cuz
765dc3442b
New .sprintf function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3508 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-10 15:42:32 +00:00