beautypg.com

Peeknbits(), Pending(), Peeknbits() pending() – Teledyne LeCroy FireInspector - File Based Decoding User Manual

Page 60

background image

54

CATC S

CRIPTING

L

ANGUAGE

1.0

C

HAPTER

13

Reference Manual

Decoder Primitives

PeekNBits()

PeekNBits(integer>)

Return value

None.

Comments

Reads

bit_count

bits from the data source. The difference between

PeekNBits

and

NextNBits

is that

PeekNBits

does not advance the global

bit offset.

PeekNBits

can be used to make decisions about how to parse the next

fields without affecting subsequent calls to

NextNBits

. If

PeekNBits

is called

without a prior call to

GetNBits

, the result is undefined. Note that bits are indexed

starting at bit 0.

Example

raw = 'FOFO';# 1111000011110000 binary
result1 = GetNBits ( raw, 2, 4 );
result2 = PeekNBits(5);
result3 = NextNBits(2);
Trace ( "result1 = ", result1, "result2 = ", result2,
"result3 = ", result3 );

This will generate this Trace output:

result1 = C result2 = 7 result3 = 0

In the call to

GetNBits

: starting at bit 2, reads 4 bits (1100), and returns the value

0xC.

In the call to

PeekNBits

: starting at bit 6, reads 5 bits (00111), and returns the

value 0x7.

In the call to

NextNBits

: starting at bit 6, reads 2 bits (00), and returns the value

0x0.

Pending()

Pending()

Parameter

Meaning

Default Value

Comments

bit_count integer

Parameter

Meaning

Default Value

Comments