Comments (4)
This one looks like another annoying limitation of the current implementation of tokendefs...
It seems a revamp of that system is highly called for!
Basically, it doesn't allow you to have an instruction with any plaintext tokens that also happen to be valid tokendefs in another instruction, at the same position. So your {dest:REG}
instructions will clash with your REG <- REG
instructions, and also your {jmp:J}
instruction at the end will clash with the plaintext JMP
, JP
, and CALL
instructions at the start.
For now, I think your best bet would be adding some tokens to disambiguate them, like using LD! A, B
for example.
from customasm.
what if i make all of them plain text. i mean it would be annoying since then i would need to manually write down all ~200 Instructions but then it couldn't clash anymore, right?
from customasm.
I was able to do a quick fix for this! It's in master
and in the web version, but not yet in a release.
It should now allow what you're trying to do, but watch out for the order of definitions: in your case, you should put the REG <- REG
instructions before the {dest:REG}
ones.
The rule of thumb now actually works as intended: you should generally define instructions with fixed patterns before the ones with parameters.
from customasm.
thanks for that!
greta i could help improve the program.
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.