Omnimaga

Calculator Community => TI Calculators => ASM => Topic started by: Hot_Dog on December 29, 2010, 09:39:46 am

Title: Why are undocumented instructions "undocumented"?
Post by: Hot_Dog on December 29, 2010, 09:39:46 am
Why did the Z80 producers leave some code operations undocumented?  Did they not have time to "test" these instructions, did they come about accidentally in the design of the processor, or what?
Title: Re: Why are undocumented instructions "undocumented"?
Post by: Munchor on December 29, 2010, 09:40:43 am
Why did the Z80 producers leave some code operations undocumented?  Did they not have time to "test" these instructions, did they come about accidentally in the design of the processor, or what?

Did TI not want to release them?
Title: Re: Why are undocumented instructions "undocumented"?
Post by: JosJuice on December 29, 2010, 09:47:04 am
Why did the Z80 producers leave some code operations undocumented?  Did they not have time to "test" these instructions, did they come about accidentally in the design of the processor, or what?

Did TI not want to release them?
TI didn't make the Z80. The Z80 is used in many different devices, not just TI calcs.
Title: Re: Why are undocumented instructions "undocumented"?
Post by: Munchor on December 29, 2010, 10:01:37 am
:O Didn't know about it, then no idea.
Title: Re: Why are undocumented instructions "undocumented"?
Post by: DJ Omnimaga on December 30, 2010, 03:56:45 am
Maybe TI didn't know about them, or they did not want us to know about them? I don't really know, though.
Title: Re: Why are undocumented instructions "undocumented"?
Post by: thepenguin77 on December 31, 2010, 10:16:27 pm
I'm not exactly sure why the instructions are undocumented. The best guess I can make is that they are optionally supported. So, it's common knowledge that they are there, but if the very early models or late models don't support them, then they won't be disobeying the z80 spec.

I think I remember reading something to that extent somewhere some time ago.
Title: Re: Why are undocumented instructions "undocumented"?
Post by: Juju on December 31, 2010, 10:38:04 pm
Well, obviously they didn't used all the opcodes from 00 to FF, so all the unused numbers are undocumented and do random things they don't know about. That's my guess.
Title: Re: Why are undocumented instructions "undocumented"?
Post by: Iambian on December 31, 2010, 10:53:13 pm
There's a couple of reasons I can suggest as to why they're undocumented.

First and probably the main reason, instructions that weren't originally in the instruction set worked predictably due to the logic that the Z80 performed. The Z80 is quite a logical chip, so under most circumstances, logic would dictate a few things that weren't intended. Like being able to load the high and low bytes of the IX/IY registers independently.

Well, I guess I don't have a second reason.

There was a site that explained all this clearly, but it was on the Geocities thing that got shut down like last year or so. Wished I could've saved it.
Title: Re: Why are undocumented instructions "undocumented"?
Post by: Hot_Dog on January 01, 2011, 12:52:24 am
First and probably the main reason, instructions that weren't originally in the instruction set worked predictably due to the logic that the Z80 performed. The Z80 is quite a logical chip, so under most circumstances, logic would dictate a few things that weren't intended. Like being able to load the high and low bytes of the IX/IY registers independently.

And that makes a lot of sense
Title: Re: Why are undocumented instructions "undocumented"?
Post by: TIfanx1999 on January 01, 2011, 07:51:23 am
@ Iambian: So basically, you're saying that the undocumented ones worked based upon how the Z80 is structured?
Title: Re: Why are undocumented instructions "undocumented"?
Post by: Builderboy on January 01, 2011, 05:59:20 pm
That makes sense to me, i was writing a CPU in Logisim once and i didn't use every single opcode, and using the ones that i had not implemented sure would do *something* but probably weird things that would be weird and not useful, but consistent.
Title: Re: Why are undocumented instructions "undocumented"?
Post by: DJ Omnimaga on January 01, 2011, 10:20:40 pm
There's a couple of reasons I can suggest as to why they're undocumented.

First and probably the main reason, instructions that weren't originally in the instruction set worked predictably due to the logic that the Z80 performed. The Z80 is quite a logical chip, so under most circumstances, logic would dictate a few things that weren't intended. Like being able to load the high and low bytes of the IX/IY registers independently.

Well, I guess I don't have a second reason.

There was a site that explained all this clearly, but it was on the Geocities thing that got shut down like last year or so. Wished I could've saved it.
Could it be the RichFiles? I think it's still available elsewhere, but I forgot the link.