Improvements and bug fixes made
Hi all, I've added some bug fixes and optimizations to Pas6502. If a conditional statement only has one logic part, like "if a = 3 then" it will produce a new fragment with "_l1" at the end of the file name. The "_l1" part represents the false label to jump to in the fragment code.
The compiler will expect a branch to a true part and a jmp to the false label {l1} in the fragment, and won't require leaving $ff or $00 in the accumulator as a true/false result anymore.
For example the fragment example below would change from:
lda {m1} + 1
cmp #>{c1}
bcc !isTrue+ // msb <
lda {m1} + 0
cmp #{c1}
beq !isTrue+
bcc !isTrue+
lda #$00
jmp !+
!isTrue:
lda #$ff
!:
to
lda {m1} + 1
cmp #>{c1}
bcc !isTrue+ // msb <
lda {m1} + 0
cmp #{c1}
beq !isTrue+
bcc !isTrue+
jmp {l1}
!isTrue:
Files
Get Pas 6502
Pas 6502
Pascal cross-compiler for 6502 machines.
Status | In development |
Category | Tool |
Author | syntaxerrorsoftware |
Tags | atari, bbc-micro, Commodore 64, compiler, cross-compiler, pascal, utility |
More posts
- Commodore PET support added!Sep 14, 2024
- Apple II support added!! (and some fixes)Sep 13, 2024
- Bug fixes, IDE updates, improvements...Sep 08, 2024
- Find/replace dialog, goto code definitions and other improvements.Aug 27, 2024
- New download file (fragments.zip) and include.zip updateJun 07, 2024
- Art change for NES example...May 11, 2024
- Small changes and NES support!May 09, 2024
- New machine support and some fixes...Apr 19, 2024
- Updates, fixes, and C128 support addedMar 31, 2024
Leave a comment
Log in with itch.io to leave a comment.