![[LISPWORKS]](../Graphics/LWSmall.gif)
![[Common Lisp HyperSpec (TM)]](../Graphics/CLHS_Sm.gif) 
 ![[Previous]](../Graphics/Prev.gif)
![[Up]](../Graphics/Up.gif)
![[Next]](../Graphics/Next.gif)
Syntax:
dpb newbyte bytespec integer => result-integer
Pronunciation:
[,duh'pib] or [,duh'puhb] or ['dee'pee'bee]
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
Side Effects: None.
Affected By: None.
Exceptional Situations: None.
See Also:
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.''
![[Starting Points]](../Graphics/StartPts.gif)
![[Contents]](../Graphics/Contents.gif)
![[Index]](../Graphics/Index.gif)
![[Symbols]](../Graphics/Symbols.gif)
![[Glossary]](../Graphics/Glossary.gif)
![[Issues]](../Graphics/Issues.gif)