Comments (4)
I couldn't quite reproduce the exact error you mentioned without a proper test case, but I got a similar one, and I think I was able to fix the core issue. Could you please test the new version (it's also in the nightly Release) to check if your problem has been solved as well?
By the way, I've also made directive names case-insensitive, but no customizable bank fill value yet.
from customasm.
using the exact same code and CPU file i now get a different error:
Z:\Logisim\CPU_65C02V\CASM>customasm.exe testing2.C02C
customasm v0.10.6-8-ga4477b7 (2020-06-13, x86_64-pc-windows-gnu)
assembling `testing2.C02C`...
testing2.C02C:31:2 31:16:
error: failed to resolve instruction
29 |
30 | START:
31 | BBR 0,0,.TESTR
| ^^^^^^^^^^^^^^
32 | HLT
33 |
testing2.C02C:31:2 31:16:
error: address is out of bank range
29 |
30 | START:
31 | BBR 0,0,.TESTR
| ^^^^^^^^^^^^^^
32 | HLT
33 |
testing2.C02C:35:2 35:16:
error: failed to resolve instruction
33 |
34 | .TESTR:
35 | BBS 0,0,.TESTS
| ^^^^^^^^^^^^^^
36 | HLT
37 |
testing2.C02C:35:2 35:16:
error: address is out of bank range
33 |
34 | .TESTR:
35 | BBS 0,0,.TESTS
| ^^^^^^^^^^^^^^
36 | HLT
37 |
overall i'm confused why this even happens, it's just a regular instruction with 3 parameters, i've done more with some RISC based CPUs so why is this such an issue?
here the full CPU file, and file i'm testing this with, so you can hopefully reproduce this:
CPU FILE (pastebin)
ASM FILE (pastebin)
and thanks for the changes to case sensitivity. it's really amazing that you do these changes and how quickly as well.
from customasm.
Ok, I think I got it now! Can you try it on the new Nightly build?
It was an issue with bank range checks for instructions that use forward-referenced labels. It was a bit tricky to solve, but I think it happened because my code was too messy. I think it's in need of a big refactoring.
from customasm.
Sorry it was late and i got to bed.
I did try the newest build and it did assemble, and looking at the binary file it seems correct.
Awesome!
thanks man!
from customasm.
Related Issues (20)
- le() causes negative numbers to become positive HOT 3
- feature request: api for own rust programs HOT 1
- Include order not respected HOT 7
- #fill raises 'expected expression' error HOT 7
- Allow outputting banks to different output files
- Support for 32bit and 64bit floats HOT 1
- "no match found for instruction" when mnemonic is less than 4 characters long (and has a subruledef directly next to it) HOT 4
- pattern matching error: whitespace and constants after mnemomics cause pattern matching rules to be broken HOT 2
- Improve error message HOT 1
- No match for instruction with negative numbers HOT 7
- Feature request: allow use of \x in multi byte character string functions HOT 2
- Allow Constants as Slice Sizes HOT 1
- Apparently unable to handle parameter without preceeding whitespace HOT 5
- Feature request: functions with variable numbers of arguments
- bank start/end/firstfree symbols
- Feature Request: Packed Instructions HOT 2
- Feature request: fill bank with custom value instead of zeros HOT 3
- Failure to match when a number is followed by a % HOT 3
- Allow aliases for token substitution HOT 8
- Is it possible to parse statements like .data or .asciz? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from customasm.