-
Notifications
You must be signed in to change notification settings - Fork 5
/
README.6502
45 lines (27 loc) · 1013 Bytes
/
README.6502
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
6502 support
Somewhat tested at this point as 6502 Fuzix is really only base level.
Suports the full 6502 instruction set. The syntax is fairly conventional but
might benefit from a few synonyms. Supports most of the 65C816 extensions
except for the 24bit addressing.
Addresses are assumed to be zp relative when a constant whose value is < 256
absolute, and the instruction has a zp form, otherwise absolute.
A symbol can be forced to be a type by defining it within that segment thus
.zp
fred .equ 32
creates a ZP based definition
.absolute
fred .equ 32
creates an absolute constant (non-relocating)
.code
fred .equ 32
creates a 16bit relocatable symbol relative to code space.
All the magic conversions assume ZP is 0.
As with 680X the use of '@' in front of a symbol forces it to be ZP
To Add
======
2A03
65CE02
65C816 24bit
The ability to specify where ZP is (and we need somewhere to tag that in the
object file format and linker!)
The ability to refuse to do ZP co-oercions for 65c816