Searching \ for '[OT] HALT instruction' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=halt+instruction
Search entire site for: 'HALT instruction'.

Exact match. Not showing close matches.
PICList Thread
'[OT] HALT instruction'
2004\10\06@043118 by Alan B. Pearce

face picon face
>Speaking of which - does anyone know of any other
>undocumented PIC, (or other), instructions?
>(Myths or otherwise!)

early 8085 chips had instructions in the whole instruction map, but there
were about 7 left out of the documentation by the marketing people. There
was an item in the American "Electronics" magazine identifying them. Visits
with Intel reps later brought out the story of why marketing decided not to
keep them (they felt they would take some of the gloss of the then very new
8086), and that they may well not appear in later silicon. All of them were
very useful instructions.

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@060054 by Jinx

face picon face
> >Speaking of which - does anyone know of any other
> >undocumented PIC, (or other), instructions?
> >(Myths or otherwise!)

6502 and 6510 had several. Mostly obscure and not very
useful. A couple, like the one that does LDA# and LDX# in
one instruction, were usable, but still wouldn't be much use
generally. The 6502 could also go into outer space if you
ever accidentally executed data as opcodes. For example if
it encountered 02 as an opcode, goodnight nurse

AFAIK there are no undocumented PIC opcodes

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@064053 by Morgan Olsson

flavicon
face
Alan B. Pearce 10:33 2004-10-06:
>>Speaking of which - does anyone know of any other
>>undocumented PIC, (or other), instructions?
>>(Myths or otherwise!)

I read somewhere (do not know if it is true) that original Z80 had several instructions left out of documentation as they were not reliably executed.  But later clones do implement them.

/Morgan
--
Morgan Olsson, Kivik, Sweden

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@071242 by Alan B. Pearce

face picon face
>I read somewhere (do not know if it is true) that
>original Z80 had several instructions left out of
>documentation as they were not reliably executed.
>But later clones do implement them.

Now that you mention it, I do remember this. IIRC you could work out what
the "missing" instructions did by working through the instruction matrix,
and seeing the source/destination pattern. I seem to recall that while there
were some potentially useful ones, many of them did not do useful things,
you ended up with instructions that were effectively 4 byte NOP in a lot of
cases, because of the source/destination being the same.

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@142952 by Peter L. Peres

picon face

On Wed, 6 Oct 2004, Morgan Olsson wrote:

> Alan B. Pearce 10:33 2004-10-06:
>>> Speaking of which - does anyone know of any other
>>> undocumented PIC, (or other), instructions?
>>> (Myths or otherwise!)
>
> I read somewhere (do not know if it is true) that original Z80 had
> several instructions left out of documentation as they were not reliably
> executed.  But later clones do implement them.

There were clones that added their own and there were clones that deleted
some ! F.ex the clones that powered all game boy computers left out the io
instructions and more (io was memory mapped afaik).

Peter
_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@142955 by Peter L. Peres

picon face

On Wed, 6 Oct 2004, Alan B. Pearce wrote:

>> Speaking of which - does anyone know of any other
>> undocumented PIC, (or other), instructions?
>> (Myths or otherwise!)
>
> early 8085 chips had instructions in the whole instruction map, but there
> were about 7 left out of the documentation by the marketing people. There
> was an item in the American "Electronics" magazine identifying them. Visits
> with Intel reps later brought out the story of why marketing decided not to
> keep them (they felt they would take some of the gloss of the then very new
> 8086), and that they may well not appear in later silicon. All of them were
> very useful instructions.

The Z80 had oodles of extra instructions and most versions covered them
(the Z80 was multi-sourced and manufactured without interruption for 20
years - I think some are still being made). I have an old book that covers
them. I think the cpu had 250-ish instructions and the 'hidden' ones added
another 70 or 100 or so. I will have to look to be able to tell.

Peter
_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@142958 by Peter L. Peres

picon face

On Wed, 6 Oct 2004, Jinx wrote:

>>> Speaking of which - does anyone know of any other
>>> undocumented PIC, (or other), instructions?
>>> (Myths or otherwise!)
>
> 6502 and 6510 had several. Mostly obscure and not very
> useful. A couple, like the one that does LDA# and LDX# in
> one instruction, were usable, but still wouldn't be much use
> generally. The 6502 could also go into outer space if you
> ever accidentally executed data as opcodes. For example if
> it encountered 02 as an opcode, goodnight nurse
>
> AFAIK there are no undocumented PIC opcodes

Apparently there are some now. Any cpu that may use incomplete opcode
decoding (the number of bits dedicated to opcode encoding in each code
word is different for different opcodes) is liable to have hidden
instructions. This results from the desire of the manufacturer to save
silicon, which leads to incomplete instruction opcode decoding.

Peter
_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@152633 by Morgan Olsson

flavicon
face
Peter L. Peres 20:04 2004-10-06:
>There were clones that added their own and there were clones that deleted some

The rabbot semiconductor CPU is AFAIK a modern extended Z80

> ! F.ex the clones that powered all game boy computers left out the io instructions and more (io was memory mapped afaik).

Z80 used same data bus and one byte of adress bus for I/O, added waitstates to wait for slow cirquitry and used separate i/o signal.  There was also some interrupt trick in which an interrupting cirquitry could adress the CPU to jump to adress supplied "backwards" on the adress bus to the CPU.  Type of vectored interrupts. IIRC.

/Morgan


--
Morgan Olsson, Kivik, Sweden

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@200137 by William Chops Westfield

face picon face

On Oct 6, 2004, at 11:03 AM, Peter L. Peres wrote:

> Apparently there are some now. Any cpu that may use incomplete
> opcode decoding is liable to have hidden instructions.

Not so much "hidden" as undocumented, uncharacterized, and liable to
do something different in the next version of silicon.  "Hidden
instructions" I'd leave to things included for test (HCF was alleged to
be for bus tests), or implemented but unpublished due to marketing
reasons (someone mentioned 8085 instructions in this catagory.)

I have a soft spot for cpus that trap undefined instructions.  The
first system I programmed had a 9-bit opcode, and included a bunch
of "UUOs", half of which were used to implement system calls (trapped
to system address space) and half of which were available to user
programs
for defining your own "instructions."  It also had an overly complete
set of no-ops and rather pointless instructions (for instance, it had
a generalized decrement and skip instruction, sort of like the PIC's
decfsz, except you got to pick the skip condition "E, NE, L, LE, G, GE,
Always, or Never"  "Subtract One and Skip never" was sometimes used to
decrement memory, but "skip always" was pretty useless...

BillW


_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\07@042219 by Alvaro Deibe Diaz

picon face
There were assemblers and debuggers for the Z80 that could understand some
of the undocumented instructions. I recall GENA and MONA, software for the
Amstrad 6128, Z80 based, with this capabilities. There were also games that
used the most obscure and undocumented features of the Z80 to make more hard
the hacker's work.

Of particular interest (for me) were the instructions that let me work
independently with the low and high bytes of the index registers IX and IY
(AFAIR).


{Quote hidden}

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\07@044355 by Alan B. Pearce

face picon face
> but "skip always" was pretty useless...

except if you put a label on the skipped instruction that you could branch
to. I could envisage a compiler using this to good effect in a

do
 dosomething
 until (...)

type of construct.

besides which treating it as a br $+1 without needing a memory location to
hold the destination address seems pretty good to me.

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\07@064230 by dr. Imre Bartfai

flavicon
face
IMHO the 80286+ processor (or 386+) is worth to mention. At least the
famous LOADALL instruction is know as an undocumented one. And there was
later the strange FF bug which was also an undocumented (buggy) instr.
Regards,
Imre


_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\07@094515 by Peter L. Peres

picon face

On Wed, 6 Oct 2004, Morgan Olsson wrote:

> Peter L. Peres 20:04 2004-10-06:
>> There were clones that added their own and there were clones that deleted some
>
> The rabbot semiconductor CPU is AFAIK a modern extended Z80
>
>> ! F.ex the clones that powered all game boy computers left out the io
>> instructions and more (io was memory mapped afaik).
>
> Z80 used same data bus and one byte of adress bus for I/O, added
> waitstates to wait for slow cirquitry and used separate i/o signal.
> There was also some interrupt trick in which an interrupting cirquitry
> could adress the CPU to jump to adress supplied "backwards" on the
> adress bus to the CPU.  Type of vectored interrupts. IIRC.

io for the game boy clones was memory mapped and multiple io instructions
were deleted or similar.

Peter
_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\07@120923 by William Chops Westfield

face picon face
On Oct 7, 2004, at 1:45 AM, Alan B. Pearce wrote:

>> but "skip always" was pretty useless...
>
> except if you put a label on the skipped instruction that you could
> branch
> to. I could envisage a compiler using this to good effect in a
>
> do
>   dosomething
>   until (...)
>
> type of construct.
>
> besides which treating it as a br $+1 without needing a memory
> location to
> hold the destination address seems pretty good to me.

Ah, I didn't give you enough context...  First, this was a 36bit
machine,
so a jump/branch instruction wasn't any longer than a skip.  Second,
the described Subtract One and Skip on Condition (SOSc) instruction was
one
of a orthogonal set that included Add One, don't add anything,
add/sub/nothing to register and jump or not (the skip instructions
operated on and tested memory.)  And assorted bit test instructions
that could skip as well.  (with the added amusement that
SKIP and JUMP instructions didn't; the lack of suffix made them
mean "skip never" and "jump never."

The whole thing in it's glory is here:

http://www.ultimate.com/phil/pdp10/instructionset.jpg

BillW

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

More... (looser matching)
- Last day of these posts
- In 2004 , 2005 only
- Today
- New search...