0 Members and 2 Guests are viewing this topic.
The first two bytes of an assembly program (not counting the size bytes) are required to be $BB, $6D. That is how the OS determines whether or not a program is an assembly program.
I was wondering this too, for the same purpose in fact. How would one go about testing this? I can use memkit to get the pointer to a program so what do i do to after that? EDIT: I guess i cant get the pointer with memkit. dim()r gives a bad symbol error
:GetCalc("prgmNAME")→P:If {P}r=E6DBB:. ASM program:ElseIf {P}r=E6CBB:. Unsquished ASM program:Else:. BASIC program/Axe source
Ah i c that was easy thanks . I can use GetCalc with memkit (to list only basic or asm programs) but its a bit more code than dim()r would be.
#Axiom(MEMKIT)Load()While Next()Print(L1)"prgm"L1->A ;or something to that effectGetCalc(A)->PIf {P}r=E6DBB or {P}r=E6CBBDisp L1Disp iEndEnd
If it is BB6C, then it is an uncompressed assembly program.
Quote from: Xeda112358 on March 04, 2011, 03:27:49 pmIf it is BB6C, then it is an uncompressed assembly program.Yes, I found this out too. (thanks to XXEdit)I am now getting the headers for Ion, MOS and DCS with XXEdit.
BB6DAF30XXDESCRIPTION00
BB6DC930XXDESCRIPTION00
BB6DC901HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHDESCRIPTION00
The mass of Hs is the icon; it's 15x15 (with an extra zero padded to each row), so it's 32 bytes total.