In article <46fba455$0$503$>,
(gip) wrote:
> I need it for BIT (Built In Test) of the PentiumM chip. Since I don't
> know Intel assembly, I used assembly code from C/C++, but that
> program is much longer than necessary, and I still have quite a few
> opcodes not used.
What are you writing? There are commercial test programs around that do
this already: are you building some kind of embedded system without a
third-party OS?
It should be noted that running every instruction once is *not* a
complete test that a processor is working. You need to work through
various kinds of bit patterns, test the memory modes, and so on. It is
quite a big job.
If this is for something commercial, approach Intel. If it isn't
commercial, you have a chance to learn a great deal about processors,
but doing this properly will be months of work. You'll need to learn
about what electronics engineers consider adequate testing, and you'll
become quite expert about the finest details of processors. Expect to
take up reading Intel and AMD errata notes in a serious way, and to
write software that cares about precise models and steppings. You'll
have to decide what the oldest processors you want to support are, and
you'll need quite an assortment of machines with different processors.
One interesting challenge at the start will be to write a bootstrap for
this tester: a framework for running tests that's written in a minimal
subset of the instructions.
Basically, doing this yourself thoroughly means acquiring several rooms
full of machines and becoming an expert in assembly language and
processor history. If Intel will talk to you, try there first.
--
John Dallman
"C++ - the FORTRAN of the early 21st century."