|  | ANSI Common Lisp  12 Numbers  12.2 Dictionary of Numbers 
 
 Syntax:
dpb
newbyte bytespec integer
   result-integer 
Pronunciation:
    [ 'dE'pib ]
 or [ 'dE'pEb ]
 or [ 'dê'pê'bê ]
Arguments and Values:
newbyte - an integer.
bytespec - a byte specifier.
 
integer - an integer.
 
result-integer - an integer.
 
Description:
dpb (deposit byte) is used to 
replace a field of bits within integer.  
dpb returns an integer that is 
the same as integer except in the bits specified by bytespec.
Let s be the size specified
by bytespec; then the low s bits of newbyte appear in
the result in the byte specified by bytespec.
Newbyte is interpreted as
being right-justified, as if it were the result of ldb.
 
Examples:
 (dpb 1 (byte 1 10) 0)  1024
 (dpb -2 (byte 2 10) 0)  2048
 (dpb 1 (byte 2 10) 2048)  1024 
See Also:
byte, deposit-field, ldb
Notes:
 (logbitp j (dpb m (byte s p) n))
 ==(if (and (>= j p) (< j (+ p s)))
        (logbitp (- j p) m)
        (logbitp j n))
In general,
 
 
 (dpb x (byte 0 y) z)  z 
for all valid values of x, y, and z.
 
Historically, the name "dpb" comes from a DEC PDP-10 assembly language
instruction meaning "deposit byte."
 
Allegro CL Implementation Details:
 None. |