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
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach:
The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory.
However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails.
Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
Those tags have two attributes: "url=" and "name=". In the non-HTML output formats, <url> shows both fields, while <htmlurl> shows only the name field (as the HTML format always does.) Thus, the general rules are
1. If the two attributes are different, then use <url>.
2. If they are similar, then use <htmlurl>.
3. If they are the same, then consider using <url> without the "name=" attribute.
(The reason for rules 2 and 3 is that the same text shouldn't be shown twice.)
There can be exceptions. Example: "od65.sgml" has <htmlurl> because the URL
would disturb the flow of a sentence.
flag, not the verbose flag to decide if the studied expression should be
output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5919 b7a2c559-68d2-44c3-8de9-860c34a00d81
an expression and the address size. Will allow short branches between segments
among other things. Suggested by Spiro Trikaliotis.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5810 b7a2c559-68d2-44c3-8de9-860c34a00d81