1561
Axe / Re: The Optimization Compilation
« on: December 28, 2010, 06:11:54 pm »Part III: "HL is the Ans of Axe" -Runer112
My favorite optimization trick of all time
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to. 1561
Axe / Re: The Optimization Compilation« on: December 28, 2010, 06:11:54 pm »Part III: "HL is the Ans of Axe" -Runer112 My favorite optimization trick of all time 1562
The Blue Platform / Re: The Blue Platform Rebooted, Revamped, and just plain better!« on: December 27, 2010, 12:15:51 am »
Wow that's one sexy looking tilemapper, where did you get that from?
1563
The Axe Parser Project / Re: Features Wishlist« on: December 26, 2010, 06:28:19 pm »
graphmastur, I think your expectations of Quigibo and Axe are just a little high... Even the most knowledgeable assembly programmers steer clear of the USB port because very few people know how to use it. I think it's a little too much to ask Quigibo to write arbitrary USB protocols for a system that hardly anyone has even been able to hack together any USB functionality. And the same goes for coding operating systems. The first person to design a programming language that allows users to easily write full operating systems deserves a Nobel prize (or whatever the equivalent is for computer science). Anyways, Axe was built to be a programming language to write programs for the TI operating system. It is in many ways inseparable from the TI operating system, and would instantly fail without it.
The computer compiler, on the other hand, Quigibo already plans to work on. That's what Axe 2.0 will be. EDIT: Damn it, double ninja'd. 1564
Computer Programming / Re: Help with Word Macro« on: December 26, 2010, 04:54:01 pm »
Here's a way to do it with the find and replace dialog:
This works at least for my version, which is Word 2007. Tell me if this doesn't work for you. 1565
The Axe Parser Project / Re: Axe Parser« on: December 26, 2010, 01:59:17 pm »
Unless calc84maniac wants to step in here, I'd be happy to test the axiom capabilities with my raycaster (it's not the Axe one, I wrote a whole new one in pure assembly). I also have a bunch of 32-byte math routines I was just waiting to test!
1566
Axe / Re: Full Normal Slow?« on: December 25, 2010, 06:41:06 pm »
Iambian, assembly's halt already exists as Axe's Stop. No need for using hex opcodes.
1567
TI Z80 / Re: Axe game : Avoid« on: December 25, 2010, 02:08:23 pm »What saves more, this opt or the inData() trick? (assuming that the inData() routine already exists...and that there is only 1 comparison...iirc inData() with 1 comparison is like 12 or 13 bytes) I think I made a post about this a while ago... Ah yes, I did! Here it is. You have to remember that inData() only works with bytes though, not with words like normal equality checks. 1568
The Axe Parser Project / Re: Features Wishlist« on: December 25, 2010, 04:04:47 am »
Yeah, I think it would be nice to make it secretly be a conversion command, not an actual display command. Although it makes the routine slightly larger, I think it would definitely be worth it.
And by the way, optimization of your code Code: [Select] p_DispHex: And here's what your code modified into a hex conversion routine might look like: Code: [Select] p_ConvHex:
1569
The Axe Parser Project / Re: Features Wishlist« on: December 25, 2010, 03:03:52 am »
That's a nice idea Builderboy, but unfortunately users have to choose to optimize their own code in cases like this. This is because, although If A=B and !If A-B would form identical control structures, they would not return the same values. And the programmer may want to use the value returned. For instance, the following code would no longer work as the programmer planned if this auto-optimization existed:
Code: [Select] If A=5
1570
News / Re: Correlation Instruction Manual« on: December 25, 2010, 01:41:03 am »
Huh that's odd, I could swear I edited my previous post with the errors I found when I read it thoroughly, but apparently not. After a quick look through the manual again, I rediscovered the following errors, which I hope are all of them:
1571
The Axe Parser Project / Re: Features Wishlist« on: December 25, 2010, 01:27:45 am »Runner, that would make the routines a lot larger and I don't think it would be as used often enough to justify the extra size. I don't know how small you managed to make the current routine, but mow much larger could this make it? The following routine I whipped up would take input in hl, convert into a null-terminated string of hexadecimal characters starting at vx_Hex, and return a pointer to that string. It's only 29 bytes. To display a string you would just call this and then treat the result like any normal string. But you now have the extra advantage of being able to access the generated hex characters. Code: [Select] p_ConvHex:
1572
The Axe Parser Project / Re: Features Wishlist« on: December 24, 2010, 04:14:21 pm »
Oh wow, didn't realize all that other stuff was there too. Nevermind then!
And thanks for adding ►Hex, that should make debugging easier. By the way, can we also use ►Hex outside of text display commands? Perhaps have the hex string be generated to a 5-byte section of MD5Buffer and return a pointer to it? Because then it could also double as a useful and quick hex generator that we can just copy the data out of. 1573
The Axe Parser Project / Re: Features Wishlist« on: December 24, 2010, 04:06:15 pm »
The "hidden buffer" is MD5Buffer, a 64-byte section of RAM starting at $83A5. I wonder what immediately follows it in RAM, because if there were only a few more byte of safe to use RAM, you could move all the variables there.
1574
News / Re: Correlation Instruction Manual« on: December 23, 2010, 10:21:27 pm »
Do you mind if I point out typographical/grammatical/factual errors that you could potentially fix?
1575
The Axe Parser Project / Re: Axe Parser« on: December 23, 2010, 01:12:00 pm »
Keeping in mind what calcdude84se pointed out about A and B, if either A or B will sometimes be non-boolean values (anything besides 0 and 1), you want to use the two separate if statements. If they will always be booleans, however, compare the following two blocks of code:
Code: [Select] If A
Code: [Select] If A and B
The second one is only faster if A will be true at least 16/17 of the time. |
|