Omnimaga
Calculator Community => TI Calculators => ASM => Topic started by: aeTIos on March 23, 2011, 07:47:17 am
-
Hi,
How do you disable the "Done" message?
thanks in advance!
-
http://tibasicdev.wikidot.com/hexcodes
here you go.
-
Isnt there a code for it, I mean like
B_CALL _DisableDone
?
-
You don't need a bcall, you need to use a flag :
res 5,(iy+0)
this is the command to disable "Done"
-
kk thanks!
-
Sry, I did my best to help :P
I think I will learn asm after I finish C
-
I dont care. good luck at learning C ;)
-
You don't need a bcall, you need to use a flag :
res 5,(iy+0)
this is the command to disable "Done"
Yep, that's exactly what http://tibasicdev.wikidot.com/hexcodes#toc9 does, but more readable :)
EDIT: ...for everyone except Xeda112358
-
lol
Can you also do something like NoDone EQU FDCB00AEC9?
That would be useful to add to the ti83plus.inc.
-
Hi,
How do you disable the "Done" message?
thanks in advance!
If it's Axe I would:
DiagnosticOff
or
AsmPrgmFDCB00AEC9
If it's Basic I would:
AsmPrgmFDCB00AEC9
If it's Assembly I would:
res 5,(iy+0)
Yep, that's exactly what http://tibasicdev.wikidot.com/hexcodes#toc9 does, but more readable :)
EDIT: ...for everyone except Xeda112358
Why do you say that?
-
lol
Can you also do something like NoDone EQU FDCB00AEC9?
That would be useful to add to the ti83plus.inc.
First of all, remember that C9 is RET (Return), which returns from the subroutine back to the BASIC program. Since this isn't a subroutine used by the BASIC program, the C9 would be useless and return you out of the program.
You could do #define NoDone res 5,(iy+0) and then call it with
NoDone
It's not very useful, though. Remember this is assembly, and RES is an actual hardware instruction, while "NoDone" is not.
But there actually are equates already in ti83plus.inc so you don't have to remember the 5 and +0. Just do
RES donePrgm,(IY+doneFlags)
and it's exactly the same thing, since donePrgm .equ 5 and doneFlags .equ 0.
-
#define NoDone res 5,(iy+0)
...
NoDone
This is a good idea Deep Though, seems like perfectly working.
-
Hi,
How do you disable the "Done" message?
thanks in advance!
If it's Axe I would:
DiagnosticOff
or
AsmPrgmFDCB00AEC9
You mean Asm(FDCB00AE) :) And remember aeTIos asked this in the ASM help section, so I'd assume this is ASM.
Yep, that's exactly what http://tibasicdev.wikidot.com/hexcodes#toc9 does, but more readable :)
EDIT: ...for everyone except Xeda112358
Why do you say that?
Because she'd rather use hex :P
#define NoDone res 5,(iy+0)
...
NoDone
This is a good idea Deep Though, seems like perfectly working.
In general it's actually a bad idea (bad practice). As I said, it's still doing the RES instruction, but you're just confusing yourself by pretending there's an actual instruction that does that (which there isn't).
The only widely used #define is the one that sets up bcall, because it's just one byte, so you can pretend it's an operation XD
EDIT: Why does everyone call me Deep Though? :P
-
Because she'd rather use hex :P
Hum, me too actually, it's much cooler.
Especially AxHex, it's awesome.
-
lol
Can you also do something like NoDone EQU FDCB00AEC9?
That would be useful to add to the ti83plus.inc.
Not really at all, because in ASM, it's just easier to say res 5,(IY+0). *shrugs* I mean it's easier for me at least.
Yep, that's exactly what http://tibasicdev.wikidot.com/hexcodes#toc9 does, but more readable :)
EDIT: ...for everyone except Xeda112358
Why do you say that?
Xeda112358 has the uncanny ability to only be able to understand the stuff if it's in hex form.
-
lol
Can you also do something like NoDone EQU FDCB00AEC9?
That would be useful to add to the ti83plus.inc.
Not really at all, because in ASM, it's just easier to say res 5,(IY+0). *shrugs* I mean it's easier for me at least.
Yeah, it makes more sense because that's actually what the CPU does, and that way you know how it affects everything, since it's the same as all other RES's.
And if people used #define for every single operation you could do on a calculator, ti83plus.inc be gigabytes large and a hell of a lot more confusing.
-
yeah, I cee.
-
OOh this is the ASM Language section, sorry.
-
Just as a small spot of randomness, I have been working on a .TAB thing for TASM in case I ever get around to manually converting my programs to mnemonics... is it bad practice if I do things like making ld hl,bc or if I change FE00 to B7 and whatnot? I've always thought it would make source codes much easier to read with things like:
ld hl,a (loads a into l and h=0)
ld hl,bc
cp hl,bc
ld bc,(hl)
And other random things like that :D I just define them in the actual .TAB file...
-
It's easier to read and code, but LD H,B \ LD L,C is clearer if you want to know how it affects flags, how long it takes, how many bytes it is, etc.
Personal preference, I guess. In a way that's what all the IX and IY operations are -- two operations in one :)
-
Just as a small spot of randomness, I have been working on a .TAB thing for TASM in case I ever get around to manually converting my programs to mnemonics... is it bad practice if I do things like making ld hl,bc or if I change FE00 to B7 and whatnot? I've always thought it would make source codes much easier to read with things like:
ld hl,a (loads a into l and h=0)
ld hl,bc
cp hl,bc
ld bc,(hl)
And other random things like that :D I just define them in the actual .TAB file...
Xeda, I wouldn't do that. It makes things slightly easier, but it causes way more problems than it fixes. For one, while those look like 1 or 2 byte instructions, ld bc, (hl) is 4 bytes long. Sometimes you will have optimized ways to do those routines, for instance if h is already 0. And the main problem with this is that it will make your code incompatible with other people.
Plus, it's not much harder to just write ld h, 0 \ ld l, a and that way you know what is really going on.
-
Plus, it's not much harder to just write ld h, 0 \ ld l, a and that way you know what is really going on.
Yeah, I kinda figured :/
:D
That's usually why I stick with 444D or 26006F or whatnot :D It's shorter than mnemonics... Actually, I wish that an assembler could do something like:
ld hl,0
444D
2909292929
Or something and have it convert hex and mnemonics!
-
You could always do .db ;)
-
Yeah, but that takes so much more typing :P Actually, to make BatLib, I made a spreadsheet that converts all of my hex to .dw statements :D I feel like such a cheater, but it is much faster than using mnemonics (and I never get an error :D)
-
Xeda, I'm shocked that you don't enter the characters in ASCII form in a .txt editor (or manually in a hex editor) :P
The lack of errors is kind of nice though.