Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- foo = Struct("foo",
- Byte("mask"),
- Switch("temp", lambda ctx: ctx.mask & 0xE0,
- {
- 0xE0: UBInt32("x"),
- 0xC0: Pointer(lambda ctx: 0, UBInt32("x")),
- 0x80: Pointer(lambda ctx: 0, UBInt16("x")),
- 0xA0: Pointer(lambda ctx: 0, UBInt16("x"))
- }, default=Pointer(lambda ctx: 0, Byte("x"))),
- Switch("cuint", lambda ctx: ctx.mask & 0xE0,
- {
- 0xE0: Value("x", lambda ctx: ctx.temp),
- 0xC0: Value("x", lambda ctx: ctx.temp & 0x3FFFFFFF),
- 0x80: Value("x", lambda ctx: ctx.temp & 0x7FFF),
- 0xA0: Value("x", lambda ctx: ctx.temp & 0x7FFF)
- }, default=Value("x", lambda ctx: ctx.temp)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement