Antidisassemblage
Moderator: MaxCoderz Staff
Java? A 'real' language? HA! A really slow and annoying as hell language, that's what it is! DEATH~! And I bet having a ti-84+SE on the front page makes them feel reallllly special"This is NOT "professional software" though, and is very simplified from what you would see in "real" languages like C or Java.
[Gridwars Score] - E: 1860037 M: 716641 H: 261194
No I'm not, but I talked to the head programmer on #tcpa. I forgot the syntax, but you can compile code w/ do-whiles and if statements The output which gets assembled by good ol' TASM and linked w/ devpac8x. Of course, the code is not optimized by any means... *shudders*CoBB wrote:Does it look nice? Are you a member?
"If SOURCE is outlawed, only outlaws will have SOURCE."
-
- MCF Legend
- Posts: 1601
- Joined: Mon 20 Dec, 2004 8:45 am
- Location: Budapest, Absurdistan
- Contact:
I don't think the creator's words are the best source of information when it comes to evaluating a product. Getting a simple block structure to compile isn't too hard, pouring out optimised code is; look at z88dk or sdcc. I wonder what user extensibility entails in the case of AD, but I suspect some kind of macro magic here.
Why is the information locked away in a members only section? At least the docs should be public.
Why is the information locked away in a members only section? At least the docs should be public.
Yay! I found them! *thanks moko|log*CoBB wrote:I wonder what user extensibility entails in the case of AD, but I suspect some kind of macro magic here.
So someone would type this up:
Code: Select all
/* chars.ads by Dan Cook
*
* Prints all the character values in a 15x18
* grid using the small (variable width) font.
* Note that all variables start with a defualt
* value of zero unless they are tied to some
* address (i.e. CurRow, PenRow, and PenCol).
*/
#include "ti83plus.ads"
#include "text.ads"
void main() {
byte ch;
.ClrHome();
CurRow = 6;
PenRow = 0;
PenCol = 0;
do {
.TextC(ch);
if(PenCol < 108) PenCol = PenCol + 6;
else {
PenCol = 0;
PenRow = PenRow + 6;
}
} while(ch <= 255);
}
/edit: Yay! I found a (working) link! Undebugged code that was generated from above w/ adsmblg:
Code: Select all
.nolist
#include "ti83plus.inc"
.list
.org userMem-2
.db t2ByteTok, tAsmCmp
func_main:
B_CALL(_ClrScrnFull)
LD A,6
LD (CurRow),A
LD A,0
LD (PenRow),A
LD A,0
LD (PenCol),A
Label5: ; <DO-WHILE> ; WAS <DO->WHILE
LD A,(local_vars+0)
B_CALL(_VPutMap)
; <IF>
LD A,(PenCol)
CP 108
JP C,Label8 ;WAS JP C,LabelLabel8
LD A,(PenCol)
ADD A,6
LD (PenCol),A
JP Label9 ; skip else code
Label8: ; <ELSE>
LD A,0
LD (PenCol),A
LD A,(PenRow)
ADD A,6
LD (PenRow),A
Label9: ; <End IF-ELSE>
LD A,(local_vars+0)
INC A
LD (local_vars+0),A
LD A,255
LD HL,local_vars+0 ;WAS CP (local_vars+0)
CP (HL) ;INSERTED
JP C,Label5 ;WAS JP C,LabelLabel5
Label7: ; <End WHILE
RET
local_vars:
.DB 0
.END
.END
@kv83: Probably not programming help anymore
"If SOURCE is outlawed, only outlaws will have SOURCE."
Well, I was lucky enough to actually find a link to the assembly output that works (out of many). Apparently, Dan didn't give us an updated version of the source, since it was just 1 change... btw CoBB, I think you ought to be talking to Dan (a.k.a. CrazyProg) instead of me about adsmblg
"If SOURCE is outlawed, only outlaws will have SOURCE."