"CP/M compatible" vs. "MS-DOS Compatible" machines?

Allison ajp166 at bellatlantic.net
Tue Feb 5 19:25:07 CST 2008


>
>Subject: Re: "CP/M compatible" vs. "MS-DOS Compatible" machines?
>   From: "Roy J. Tellason" <rtellason at verizon.net>
>   Date: Tue, 05 Feb 2008 15:46:14 -0500
>     To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at classiccmp.org>
>
>On Tuesday 05 February 2008 04:08, Chuck Guzis wrote:
>> > Date: Tue, 05 Feb 2008 02:20:29 -0500
>> > From: "Roy J. Tellason"
>> >
>> > > I'd already done it for DX-85M
>> >
>> > What's that?
>>
>> Proprietary multitasking operating system, based on the 8085;
>> basically the other end of the spectrum from CP/M.  Included built-in-
>> interrupt-driven I/O (including 4 channels of async), file types
>> (i.e. differentiated between executable, data, index, etc.), built-in
>> ISAM files and a bunch of other stuff.  One of these days I'll chat
>> about it if anyone's curious.
>
>Yup!  Count me in...

Always curious, that sounds like my definition of an OS.


>(Snip)
>> Re: passing arguments on the stack.  It's an interesting exercise on
>> the 8085 using the "undocumented" instructions.  For example, opcode
>> 38H, which is a two-byte instruction would take SP, add the second
>> instruction byte and stick the result in DE.  Opcode 28H would do the
>> same, but use HL instead of SP.
>>
>> Another 8085 16-bit operation, opcode D9H, would store HL in the
>> address pointed to by DE.  Opcode EDh would load HL from the address
>> pointed to by DE.
>>
>> There were a couple of other 16-bit operations in 8085 not
>> documented.  08H would subtract BC from HL, 10H shifted HL right one
>> place with sign extension.  18H rotated DE left one place through the
>> carry flag (i.e. 17 bit rotate).
>>
>> There were a few other instructions of less interest:  a couple of
>> jumps that tested for unsigned overflow and a conditional restart to
>> location 40H (RST 8) if the overflow flag was set.
>
>Interesting stuff.  I've run across the occasional info on undocumented ops 
>for different chips,  but don't remember seeing any for the 8085 before.


They were commonly known before the Z80 and both were both widely 
circulated and all the vendors made sure thies worked exactly the same 
way.  Whats funny is while they all worked to see it was there none
officially acknopwleged that save for under NDA.


>> It was kind of unfortunate that Intel simply didn't leave blanks in
>> the 8080 documentation for the "do nothing" moves; (e.g. MOV A,A; MOV
>> B,B, etc.).  It might have freed up a few more spare opcodes for
>> later exploitation.
>
>I suspect that a lot of the reasons for them laying things out the way they 
>did had to do with convenience in the manufacturing process,  mask layout or 
>somesuch stuff,  rather than intent.

Maufacturing no. Design yes. back then there was little if any automated
chip design so anything to save time or transistors on the die was good.
The redundant moves are simple example of not decoding all possible states.
Saves transistors at a time when getting things on that much silicon was 
still hard.

Allison



More information about the cctalk mailing list