dpb
newbyte bytespec integer => result-integer
pronounced ,de 'pib or pronounced ,de 'pe b or pronounced 'd\=e 'p\=e 'b\=e
newbyte---an integer.
bytespec---a byte specifier.
integer---an integer.
result-integer---an integer.
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.
(dpb 1 (byte 1 10) 0) => 1024 (dpb -2 (byte 2 10) 0) => 2048 (dpb 1 (byte 2 10) 2048) => 1024
@xref{byte; byte-size; byte-position} , section deposit-field [Function] , section ldb [Accessor]
(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."
Go to the first, previous, next, last section, table of contents.