E. EDIT
You can also enter the editor by using the arrow-up key (<CNTRL>/<->).
Then you can move the cursor to anywhere on the screen and start typing
next to an address.
If you end an entry with the diamond character (CNTRL-<.>),
the editor will ignore all the characters to the right of the diamond.
Hit <RETURN> to complete
the entry. The presence of the diamond will cause listing to commence
immediately from the present address.
Using this method, you can enter lines quickly and exactly.
Without the diamond you will still be in the editor when you hit <RETURN>.
To exit the editor, hit <BREAK>.
1. <ADR>[/]
deletes the item at address <ADR>
from the symbol-table.
2. <ADR1>
[<ADR2>]/<CHAR>
From address <ADR1>
onwards, the program-code will be interpreted
according to the character <CHAR>.
The following characters can be used:
; |
normal code. E.g. LDA
#$45 (;
is not needed if there is a symbol at the address) |
' |
normal code. Constants are written as characters. E.g.
LDA 'X' |
! |
normal code. Constant are written in binary. E.g. LDA
#%00001111
(Note that SOURCGEN uses binary notation automatically in conjunction
with the opcodes AND,
ORA and EOR.) |
& |
normal code. The first two constants are interpreted
respectively as the low and high bytes of an address.
For example:
LDA #$40
'
'
LDX #$27 |
will be written as |
LDA #LABEL
'
'
LDX #LABEL:H |
where LABEL stands
for the address $2740.
The character "&" must be entered at the address
of the first command.
It is unimportant how many other commands are situated between the
two relevant commands.
|
@ |
like &,
but #LABEL:H comes
before #LABEL |
# |
DFB <byte
sequence>
e.g. DFB 0,9,$67,$10,$89,$67 |
% |
DFB <binary
number> e.g.
DFB %01111111 |
= |
DFW <word>
e.g. DFW
JAB00
P. PREPARE labels will enter the address
into the J-table. |
| |
DFW <word>
e.g. DFW
TAB00
P. PREPARE labels will enter the address
into the T-table. |
- |
DFW <word>-1
e.g. DFW
JAB00-1
P. PREPARE labels will enter the address
into the J-Table.
|
_ |
DFW <word>-1
e.g. DFW TAB00-1
P. PREPARE labels will enter the address
into the T-Table.
|
" |
ASC <string>
(ASCII code - normal and
inverted) |
\ |
ASC <string>
(ASCII code - last character
inverted) |
$ |
ASC <string>
(internal screen-code -
normal and inverted) |
* |
ORG *+ <number>
e.g. ORG
*+ $6F |
< |
Enter symbol at address of a 'write-only' hardware register between
$D000 and $D4FF.
|
( |
:Normal code. E.g. LDA
#LABEL (V.3.2)
where LABEL <= $FF
and represents a constant or a zero page address.
|
. |
ASCII Listing (for viewing ASCI files.)
(V.3.2) |
If no entry for <CHAR>
is made, normal code will be assumed.
The characters "="
and "-" may also
be entered inverted (e.g. <INV><=>)
with the consequence that the position of the high and low bytes will
be reversed.
The use of this possibility requires, however, that a corresponding code-change
be made when the listing is assembled using an assembler program. As a
reminder SOURCGEN will mark the lines in question with an inverted "-"
or "=". An appropriate
error message in ATMAS-II will take you to the line you want to correct.
Bytes marked with '"',
'\' or '$', but not portrayable as characters in ATMAS-II, will
be displayed as bytes using 'DFB'.
SOURCGEN will mark screen control characters with "[S]".
If no entry for <CHAR>
is made, normal code will be assumed.
A value for <ADR2>
can be entered when, after preparing labels (see P.
PREPARE labels), there is a label (e.g. T2988)
at <ADR1> and one
or more labels at addresses immediately before or after <ADR1>.
All labels in the interval <ADR1>
to <ADR2> will then
be expressed in terms of the label at <ADR1>.
(e.g. T2988-1,
T2988+3, etc.).
The difference between ADR1
and ADR2 must not be greater
than $80.
3. <ADR1>
[<ADR2>]/<SYMBOL>[<CHAR>]
You can enter a symbol <SYMBOL>
which will always appear in place of
<ADR1> in the listing.
If you enter a symbol with more than 8 characters,
SOURCGEN will use the first 8 and, if you wish, display the complete
symbol as a comment. (See OUTPUT-MENU)
If no value is given for <CHAR>
then normal code will be assumed.
4. <ADR1>
[<ADR2>]/[<SYMBOL>];<COMMENT>[<CHAR>]
You can substitute a comment for <COMMENT>
which will be shown, if you wish,
in the listing. (See Output Menu)
5a. <ADR1>/<BYTE>
This case can be explained best through an example. Suppose that at
the address 2800 we have the command LDA
#$FE. Now if you enter
2801/2A, then the notation
LDA #label will appear
in the listing,
whereby label represents the address 2AFE.
5b. <ADR1>/<BYTE>:
This case can also be explained best though an example. Suppose that
at the address 2800 we
have the command LDA #$FE.
Now if you enter
2801/2A:, then the notation
LDA #label:H will appear
in the listing,
whereby label represents the address FE2A.
Please note that in 5a and 5b we have used the address (2801)
of the
constant and not that of the opcode. You should always be sure, in this
slightly confusing case, to take a look at the listing to check what you
have just entered.
|