User Tools


Accessor MASK-FIELD

Syntax

  • mask-field bytespec integermasked-integer (setf (mask-field bytespec place) new-masked-integer)

Arguments and Values

Description

mask-field performs a "mask" operation on integer. It returns an integer that has the same bits as integer in the byte specified by bytespec, but that has zero-bits everywhere else.

setf may be used with mask-field to modify a byte within the integer that is stored in a given place. The effect is to perform a deposit-field operation and then store the result back into the place.

Examples

(mask-field (byte 1 5) -1)

32

(defparameter *a* 15)

15

(mask-field (byte 2 0) *a*)

3

*a*

15

(setf (mask-field (byte 2 0) *a*) 1)

1

*a*

13

Side Effects

None.

Affected By

None.

Exceptional Situations

None.

See Also

Notes

(ldb bs (mask-field bs n)) ≡ (ldb bs n) (logbitp j (mask-field (byte s p) n)) ≡ (and (>= j p) (< j s) (logbitp j n)) (mask-field bs n) ≡ (logand n (dpb -1 bs 0))