0 Members and 2 Guests are viewing this topic.
Quote from: Qwerty.55 on November 04, 2010, 05:29:44 pmPlus the various holes in RAM that the OS has, if you feel like going into Assembly.You don't need to use assembly, as Axe is already capable of accessing any addressable RAM area. A good suggestion would be E8000, which has 256 bytes of space you can uses as temporary RAM.
Plus the various holes in RAM that the OS has, if you feel like going into Assembly.
random question: how many bytes is a name string? is the appv token 1 byte? are lower case letters 2 bytes still?so for example: how large is this name string: "appvAbcDE"and also: can you open a file 'over' another fileie if you had appvar 1 open in Y1, can you call GetCalc(Str2,Y1) and have the appvar pointed to in Str2 now open as Y1?
random question: how many bytes is a name string? is the appv token 1 byte? are lower case letters 2 bytes still?
so for example: how large is this name string: "appvAbcDE"
and also: can you open a file 'over' another fileie if you had appvar 1 open in Y1, can you call GetCalc(Str2,Y1) and have the appvar pointed to in Str2 now open as Y1?
Quote from: squidgetx on November 07, 2010, 06:06:45 pmrandom question: how many bytes is a name string? is the appv token 1 byte? are lower case letters 2 bytes still?Name string is however many bytes you make it, just like any other string. The appv char is two bytes: one for the var type (appvar), one for the actual token. And all lowercase letters are one byte unless you convert them individually with T.
Quote from: Deep Thought on November 07, 2010, 09:06:07 pmQuote from: squidgetx on November 07, 2010, 06:06:45 pmrandom question: how many bytes is a name string? is the appv token 1 byte? are lower case letters 2 bytes still?Name string is however many bytes you make it, just like any other string. The appv char is two bytes: one for the var type (appvar), one for the actual token. And all lowercase letters are one byte unless you convert them individually with T.Actually, appvars and programs don't have a token before the name. So appv is actually one byte.
Code: [Select].InefficientIf (A=3 or (A=5) or (A=20) or (A=28) or (A=61)).Some codeEnd.EfficientIf A If inData(A,Data(3,5,20,28,61,0)) .Some code EndEndThis is probably unnoticeable slower, but its much smaller and the routine is a subroutine so using it more than once in your program will definitely be a large size optimization.
.InefficientIf (A=3 or (A=5) or (A=20) or (A=28) or (A=61)).Some codeEnd.EfficientIf A If inData(A,Data(3,5,20,28,61,0)) .Some code EndEnd
actually smaller than a single equality check
Bottom line:1 equality check: !If VAR-CONST2+ equality checks: If inData(VAR,Data(CONST,CONST,...))
And don't forget that you have to end your list of data with 0 so the routine knows when the end of the list is reached.