Function DPB

UP


Function DPB

Function DPB

構文

dpb newbyte bytespec integer => result-integer

発音

[,duh'pib][,duh'puhb]['dee'pee'bee]

引数と戻り値

newbyte - 整数
bytespec - バイト指定子
integer - 整数
result-integer - 整数

定義

dpb(deposit byte)は、 integer内のビット領域を置き換えるときに使われます。 dpbbytespecによって指定されたビット以外は integerと同じ整数を返却します。

sbytespecのサイズとしたとき、 newbyteの下位sビットが bytespecによって指定されたバイトとして結果に現れます。 newbyteldbの結果のように右に正規化されて解釈されます。

例文

(dpb 1 (byte 1 10) 0) =>  1024
(dpb -2 (byte 2 10) 0) =>  2048
(dpb 1 (byte 2 10) 2048) =>  1024

副作用

なし。

影響

なし。

例外

なし。

参考

byte, deposit-field, ldb

備考

(logbitp j (dpb m (byte s p) n))
==  (if (and (>= j p) (< j (+ p s)))
       (logbitp (- j p) m)
       (logbitp j n))

一般的に、

(dpb x (byte 0 y) z) =>  z

上記の関係は全ての値x, y, zで正当です。

歴史的にはdpbという名前はDEC PDP-10のアセンブリ言語から来ており、 deposit byteを意味する命令です。


TOP, Github