mirror of
https://github.com/ksherlock/x65.git
synced 2025-08-07 19:25:05 +00:00
Fix for local labels accessed crossing over a REPT / LUP
- Added a scope increment when entering a block of repeated code so only the local symbols within the block would be destroyed each iteration - Switched over to inttypes.h to make code a smidgeon more readable
This commit is contained in:
@@ -101,6 +101,8 @@ Primarily tested with personal archive of sources written for Kick assmebler, DA
|
|||||||
* irp (indefinite repeat)
|
* irp (indefinite repeat)
|
||||||
|
|
||||||
**FIXED**
|
**FIXED**
|
||||||
|
* Fixed REPT / LUP to not destroy local symbols in the scope it was used in while also destroying local symbols within the repeating block correctly
|
||||||
|
* Switched over to inttypes.h from built-in types since the word unsigned was used a little too much in the code
|
||||||
* Removed the disassembler and put it into its own project [x65dsasm](http://github.com/sakrac/x65dsasm)
|
* Removed the disassembler and put it into its own project [x65dsasm](http://github.com/sakrac/x65dsasm)
|
||||||
* LUP/REPT directives clean up local symbols each iteration to avoid crossing over an iteration with branches to local labels.
|
* LUP/REPT directives clean up local symbols each iteration to avoid crossing over an iteration with branches to local labels.
|
||||||
* Fixed Merlin MAC directive which is a little different from normal assembler macros
|
* Fixed Merlin MAC directive which is a little different from normal assembler macros
|
||||||
|
15
x65.txt
15
x65.txt
@@ -43,6 +43,17 @@ Noteworthy features:
|
|||||||
* Apple II GS executable output.
|
* Apple II GS executable output.
|
||||||
|
|
||||||
|
|
||||||
|
The x65 assembler co-exists with two related projects, both of which can
|
||||||
|
be used independently with other assembers.
|
||||||
|
|
||||||
|
* Step6502 - http://gitbub.com/sakrac/Step6502 is a visual debugger for
|
||||||
|
6502 in Windows that draws heavily from the Visual Studio debugger.
|
||||||
|
* x65dsasm - http://github.com/sakrac/x65dsasm is a symbolic disassembler
|
||||||
|
for 6502/65C02/65816 that is primarily used for reviewing changes to
|
||||||
|
the x65 assembler, but can also revive old projects where some source
|
||||||
|
may be missing.
|
||||||
|
|
||||||
|
|
||||||
-0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0-
|
-0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0--0-
|
||||||
|
|
||||||
|
|
||||||
@@ -142,8 +153,7 @@ Options include:
|
|||||||
* -cpu=6502/65c02/65c02wdc/65816: assemble with opcodes for a different cpu
|
* -cpu=6502/65c02/65c02wdc/65816: assemble with opcodes for a different cpu
|
||||||
* -acc=8/16: set the accumulator mode for 65816 at start, default is 8 bits
|
* -acc=8/16: set the accumulator mode for 65816 at start, default is 8 bits
|
||||||
* -xy=8/16: set the index register mode for 65816 at start, default is 8 bits
|
* -xy=8/16: set the index register mode for 65816 at start, default is 8 bits
|
||||||
* -org = $2000 or - org = 4096: set the default start address of
|
* -org = $2000 or - org = 4096: force fixed address code at address
|
||||||
fixed address code
|
|
||||||
* -obj (file.x65) : generate object file for later linking
|
* -obj (file.x65) : generate object file for later linking
|
||||||
* -bin : Raw binary
|
* -bin : Raw binary
|
||||||
* -c64 : Include load address (default)
|
* -c64 : Include load address (default)
|
||||||
@@ -1012,6 +1022,7 @@ LUP
|
|||||||
|
|
||||||
LUP is Merlingo for loop. The lines following the LUP directive to
|
LUP is Merlingo for loop. The lines following the LUP directive to
|
||||||
the keyword --^ are repeated the number of times that follows LUP.
|
the keyword --^ are repeated the number of times that follows LUP.
|
||||||
|
LUP is the same as REPT in normal syntax.
|
||||||
|
|
||||||
|
|
||||||
MAC
|
MAC
|
||||||
|
Reference in New Issue
Block a user