Comments (3)
I like the idea of main label covering also all local labels in IFUSED
, would need to think more about backward compatibility and if it would break something... It should not break projects which use main and local labels in verbose rich-name way, as the call UsefulRoutine.UseValueInB
is very like trying to reach for main+local label in such project, while people using cryptic labels with dots as regular char could maybe hit some collision, but then it will also fail to assemble because of duplicate label... so this extension would be rather safe-ish IMHO.
Expression way is unlikely, if something like that happens, it will be rather just coma separated list: IFUSED UsefulRoutine, UsefulRoutine.UseValueInB
... I sometimes hit in my own projects situations where I would prefer to have ISUSED/ISDEF as expression operators, but I'm afraid to add too many new ones in v1.x, while adding the optional var-args for IFUSED is perfectly backward compatible, only limits any future extension by using this syntax for this purpose (unlikely to be an issue I guess).
from sjasmplus.
Meanwhile I realized there is one more work-around for this (which is IMHO decent), if you know you want local label of some IFUSED
routine, you can ASSERT the main label to make it used and routine included, then the local label is found:
ORG $8000
some:
IFUSED
ld b,123
.loop:
djnz .loop
ret
ENDIF
ld b,222
ASSERT some
call some.loop
from sjasmplus.
Haha, just tried it in my code and it works great. This is what I like about sjasmplus - how rich its command set is, so even the missing features can often be imitated.
from sjasmplus.
Related Issues (20)
- make "Unrecognized option" message error-like, to be harder to overlook, and affect exit code as well
- allow defining custom Devices
- Building on Alpine Linux fails due to clash with constant in musl limits.h HOT 1
- SAVETAP: codeblock of 166 bytes length starting at 0xFF59 saved to .tap HOT 2
- Typo on warning
- [1.20.1][ubuntu 22.04][mingw-w64] Can't compile windows exe without modifying Makefile // Recommendation in Makefile is also not full
- Multiple ORG directives silently ignored? HOT 2
- Interest in adding a new Z80 device ? VZ200/Laser210 HOT 3
- Incorrect compilation of DC with one symbol in single quotes HOT 5
- Not everything works after return from snapshot to Basic HOT 2
- Arrow keys and ESC don't work after invoking sjasmplus HOT 5
- Tests may fail due to locale settings
- duplicate lables HOT 1
- get include length size HOT 2
- bplist: MAME support HOT 1
- union HOT 1
- lua block parsing inside macro is not aware of being inside lua block, applying sjasmplus parsing rules (colons!) HOT 1
- Concern about instructions like add a,b HOT 4
- Missing FAKE INSTRUCTIONS like "ex bc, hl" and other combinations that exploit "ex (sp), rr" HOT 4
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 sjasmplus.