[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Why *LDB etc.



    Date: 18 September 1980 1244-EDT (Thursday)
    From: Guy.Steele at CMU-10A
    .  .  .
    Well, actually I don't see why this matters.  In the interpreter you
    don't care, and the compiler is perfectly capable of figuring out
    that there is a constant there and pre-shifting it--indeed, it can
    optimize even better.  I don't know exactly what code is produced
    for *LDB, but for (*LDB 0304 X) one might imagine the code
	    (LDB TT (% 0 0 @ (SPECIAL X) 030400))
    being generated.  No shifts, and indeed 0304_30 doesn't exactly appear
    either.
As it happens, the compiler knows absolutely nothing about LDB, *LDB etc.
The only reason why this whole question came up is that ALAN was looking
into the internals of things, and apparently didn't realize that *LDB
was a stop-gap measure until the compiler open-codes LDB.  Yea, someday.