× 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.


  • Subject: Re: LQ instruction question
  • From: David McKenzie <davemck@xxxxxxxxxx>
  • Date: Fri, 10 Dec 1999 10:55:04 -0800

Hi Leif,

[Dave McKenzie]
(I'm trying out your new quoting style :-)

I think the tag bit(s) only indicate whether or not there's a pointer
(of _any_ kind) in the quadword, so it's logically just a single bit.

What _kind_ of pointer is there is coded in the leftmost byte of
the quadword itself.  If you compile the following MI snippet:

    CMPPTRT(B) APTR, X'00'/EQ(ATAG);  /* no ptr        */
    CMPPTRT(B) APTR, X'01'/EQ(ATAG);  /* sys ptr       */
    CMPPTRT(B) APTR, X'02'/EQ(ATAG);  /* spc ptr       */
    CMPPTRT(B) APTR, X'03'/EQ(ATAG);  /* data ptr      */
    CMPPTRT(B) APTR, X'04'/EQ(ATAG);  /* instr ptr     */
    CMPPTRT(B) APTR, X'05'/EQ(ATAG);  /* invoc ptr     */
    CMPPTRT(B) APTR, X'06'/EQ(ATAG);  /* proc ptr      */
    CMPPTRT(B) APTR, X'07'/EQ(ATAG);  /* label ptr     */
    CMPPTRT(B) APTR, X'08'/EQ(ATAG);  /* suspend ptr   */
    CMPPTRT(B) APTR, X'09'/EQ(ATAG);  /* sync ptr      */
    CMPPTRT(B) APTR, X'0A'/EQ(ATAG);  /* obj ptr       */
    CMPPTRT(B) APTR, X'0B'/EQ(ATAG);  /* behavior ptr  */
    CMPPTRT(B) APTR, X'0C'/EQ(ATAG);  /* method ptr    */

and then dump & disassemble with SST, you can deduce the
bit combinations (tho I haven't actually slogged thru
this exercise yet myself :-)

--Dave

>  [Leif Svalgaard]
> With all this in mind, how can the LQ instruction know what type
> of pointer it is trying to load? there are only two physical tag bits
> available and they must both be set to have a valid logical tag.
> Maybe Frank is not telling the whole truth or maybe the 4-bit
> field is part of a design that was never actually implemented?
> I've tried various combinations of the 4 bits, and it doesn't seem
> to matter  ??????


+---
| This is the MI Programmers Mailing List!
| To submit a new message, send your mail to MI400@midrange.com.
| To subscribe to this list send email to MI400-SUB@midrange.com.
| To unsubscribe from this list send email to MI400-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: dr2@cssas400.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.