× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



QPROCT hashes the 8-letter MI opcodes into 563 linked lists. All those
x'FFFF's you observes in the QPROCT space are linked list tombstones.

The hash algorithm is remarkable: view the 8-letter opcode as two 4-byte
signed integers; exclusive-OR them together; divide by 563 and keep the
remainder; if the remainder is not positive, add 563. The result is a
number in the range 1 to 563, which is your index into the hash anchor
array. Here is MI code a disassembler can use to get your hash number:

DCL DD OPCODE CHAR(8);
DCL DD INDEX BIN(4);

XOR INDEX, OPCODE(1:4), OPCODE(5:4);
REM(SB) INDEX, 563 / NPOS(SKIP);
ADDN(S) INDEX, 563;

SKIP:

And this begs the question:

Why 563?



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.