| |
Slammer
Registered: Feb 2004 Posts: 416 |
Kick Assembler Thread 2
The previous thread took a little long to load, so this is a new fresh one.. |
|
... 590 posts hidden. Click here to view all posts.... |
| |
Killsquad Account closed
Registered: Jun 2005 Posts: 17 |
To get the numeric value of the params use max.getValue(), min.getValue() and freq.getValue().
|
| |
Killsquad Account closed
Registered: Jun 2005 Posts: 17 |
Would it be possible for enums to continue from the next number after an explicit value?
Example:
.enum { var1 = $10, var2, var3 }
should give var2=$11, var3=$12
As it is now var1=$10, var2=$00 and var3=$01
Thanks for the massive effort by the way. Excellent assembler! |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Mace: Seems more like a job for a macro. Then you don't have to use getValue() |
| |
Mace
Registered: May 2002 Posts: 1799 |
Thanks Killsquad.
@Cruzer: yeah, probably... was just foolin' around 'n stuff ;-) |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
Mace: What Killsquad and Cruzer said. Pseudocommands is macros that takes assembler instruction arguments. So you can write :myCmd #$20 or :myCmd $20 and the command will know that the first one is an immediate argument and the second one is an absolute argument although they both have the value $20.
Killsquad: Thanks! Good Point. I actually considered that solution when I made the enum directive and it could just as well have been that solution. However, I'm rather sensitive to things that destroys backwards compatibility so I'm not planning on changing it. |
| |
ruk
Registered: Jan 2012 Posts: 43 |
Hi,
This does not compile:
.var hashtable = Hashtable()
.const booleanOption = hashtable.containsKey("booleanOption") && hashtable.get("booleanOption")
The error is "Error: Can't get a boolean representation from a value of type Null", so I guess there is some issues with lazy evaluation?
As a workaround I have defined the following function:
.function getValue(hashtable, key, defaultValue) {
.if (hashtable.containsKey(key))
.return hashtable.get(key)
else
.return defaultValue
}
So that I can do e.g.
.const underTest = getValue(cmdLineVars, "testing", false)
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
@Ruk:
You're trying to make a boolean and (&&) of false (the result of containsKey) and null (the result of get), which doesn't make sense.
Your function seems to do the job, but you could also do it like this:
.const booleanOption = hashtable.containsKey("booleanOption") ? hashtable.get("booleanOption") : false
|
| |
ruk
Registered: Jan 2012 Posts: 43 |
Sure, np, but I've gotten used to lazy evaluations in boolean expressions.
Thing is, if containsKey() == false the '&&'-operator shouldn't evaluate the term to the right since the whole expression is bound to be false.
It just struck me as odd that Kickass complained.
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Ah, so that's what you meant. Wasn't familiar with the term lazy evaluation. Guess KickAss doesn't use it, but I guess it would be smart from a performance viewpoint. |
| |
tlr
Registered: Sep 2003 Posts: 1702 |
It's also commonly known as "short circuiting" operators. It is well defined for many C-like languages. I would guess it applies to Java as well. |
Previous - 1 | ... | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | ... | 61 - Next |