Omnimaga

Calculator Community => TI Calculators => ASM => Topic started by: aeTIos on March 23, 2011, 07:47:17 am

Title: Disable "Done" message
Post by: aeTIos on March 23, 2011, 07:47:17 am
Hi,

How do you disable the "Done" message?

thanks in advance!
Title: Re: Disable "Done" message
Post by: Happybobjr on March 23, 2011, 07:59:56 am
http://tibasicdev.wikidot.com/hexcodes
here you go.
Title: Re: Disable "Done" message
Post by: aeTIos on March 23, 2011, 08:03:51 am
Isnt there a code for it, I mean like
Code: [Select]
B_CALL _DisableDone
?
Title: Re: Disable "Done" message
Post by: Fast Crash on March 23, 2011, 08:15:25 am
You don't need a bcall, you need to use a flag :

Code: [Select]
res 5,(iy+0)
this is the command to disable "Done"
Title: Re: Disable "Done" message
Post by: aeTIos on March 23, 2011, 08:17:54 am
kk thanks!
Title: Re: Disable "Done" message
Post by: Happybobjr on March 23, 2011, 08:33:27 am
Sry, I did my best to help :P

I think I will learn asm after I finish C
Title: Re: Disable "Done" message
Post by: aeTIos on March 23, 2011, 10:18:50 am
I dont care. good luck at learning C ;)
Title: Re: Disable "Done" message
Post by: Deep Toaster on March 23, 2011, 10:25:19 am
You don't need a bcall, you need to use a flag :

Code: [Select]
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
Title: Re: Disable "Done" message
Post by: aeTIos on March 23, 2011, 10:41:23 am
lol
Can you also do something like NoDone EQU FDCB00AEC9?
That would be useful to add to the ti83plus.inc.
Title: Re: Disable "Done" message
Post by: Munchor on March 23, 2011, 10:44:10 am
Hi,

How do you disable the "Done" message?

thanks in advance!

If it's Axe I would:

Code: [Select]
DiagnosticOffor
Code: [Select]
AsmPrgmFDCB00AEC9
If it's Basic I would:
Code: [Select]
AsmPrgmFDCB00AEC9
If it's Assembly I would:
Code: [Select]
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?
Title: Re: Disable "Done" message
Post by: Deep Toaster on March 23, 2011, 10:49:18 am
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

Code: (TI-ASM) [Select]
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

Code: (TI-ASM) [Select]
RES donePrgm,(IY+doneFlags)
and it's exactly the same thing, since donePrgm .equ 5 and doneFlags .equ 0.
Title: Re: Disable "Done" message
Post by: Munchor on March 23, 2011, 10:51:29 am
Code: [Select]
#define NoDone res 5,(iy+0)
...
NoDone

This is a good idea Deep Though, seems like perfectly working.
Title: Re: Disable "Done" message
Post by: Deep Toaster on March 23, 2011, 10:53:41 am
Hi,

How do you disable the "Done" message?

thanks in advance!

If it's Axe I would:

Code: [Select]
DiagnosticOffor
Code: [Select]
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

Code: [Select]
#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
Title: Re: Disable "Done" message
Post by: Munchor on March 23, 2011, 10:55:49 am
Because she'd rather use hex :P

Hum, me too actually, it's much cooler.
Especially AxHex, it's awesome.
Title: Re: Disable "Done" message
Post by: jnesselr on March 23, 2011, 10:58:24 am
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.
Title: Re: Disable "Done" message
Post by: Deep Toaster on March 23, 2011, 11:02:29 am
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.
Title: Re: Disable "Done" message
Post by: aeTIos on March 23, 2011, 11:11:58 am
yeah, I cee.
Title: Re: Disable "Done" message
Post by: Munchor on March 23, 2011, 12:01:13 pm
OOh this is the ASM Language section, sorry.
Title: Re: Disable "Done" message
Post by: Xeda112358 on March 23, 2011, 12:18:53 pm
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...
Title: Re: Disable "Done" message
Post by: Deep Toaster on March 23, 2011, 12:27:39 pm
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 :)
Title: Re: Disable "Done" message
Post by: thepenguin77 on March 23, 2011, 05:38:48 pm
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.
Title: Re: Disable "Done" message
Post by: Xeda112358 on March 23, 2011, 06:12:50 pm
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:
Code: [Select]
ld hl,0
444D
2909292929
Or something and have it convert hex and mnemonics!
Title: Re: Disable "Done" message
Post by: Deep Toaster on March 23, 2011, 06:27:33 pm
You could always do .db ;)
Title: Re: Disable "Done" message
Post by: Xeda112358 on March 23, 2011, 06:29:16 pm
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)
Title: Re: Disable "Done" message
Post by: AngelFish on March 23, 2011, 06:33:36 pm
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.