Internet Assigned Numbers Authority
BPF Instructions
Created
2024-07-12
Last Updated
2024-11-22
Available Formats
[IMG]
XML [IMG]
HTML [IMG]
Plain text
Registries included below
??BPF Instruction Conformance Groups
??BPF Instruction Set
BPF Instruction Conformance Groups
Expert(s)
Alexei Starovoitov, David Vernet
Reference
[RFC9669]
Available Formats
[IMG]
CSV
Range Registration Procedures
Permanent Standards Action or IESG Approval
Provisional Specification Required
Historical Specification Required
Name Description Includes Excludes Status Reference Change Controller
atomic32 32-bit atomic instructions - - Permanent [RFC9669, Section 5.3 (Atomic Operations)] IETF
atomic64 64-bit atomic instructions atomic32 - Permanent [RFC9669, Section 5.3 (Atomic Operations)] IETF
base32 32-bit base instructions - - Permanent [RFC9669] IETF
base64 64-bit base instructions base32 - Permanent [RFC9669] IETF
divmul32 32-bit division and modulo - - Permanent [RFC9669, Section 4.1 (Arithmetic Instructions)] IETF
divmul64 64-bit division and modulo divmul32 - Permanent [RFC9669, Section 4.1 (Arithmetic Instructions)] IETF
packet Legacy packet instructions - - Historical [RFC9669, Section 5.5 (Legacy BPF Packet Access IETF
Instructions)]
BPF Instruction Set
Expert(s)
Alexei Starovoitov, David Vernet
Reference
[RFC9669]
Available Formats
[IMG]
CSV
Range Registration Procedures
Permanent Standards Action or IESG Approval
Provisional Specification Required
Historical Specification Required
Opcode Src_Reg Offset Imm Description Groups Reference Change Controller
0x00 0x0 0 any (additional immediate value) base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x04 0x0 0 any dst = (u32)((u32)dst + (u32)imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x05 0x0 any 0x00 goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x06 0x0 0 any goto +imm base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x07 0x0 0 any dst += imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x0c any 0 0x00 dst = (u32)((u32)dst + (u32)src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x0f any 0 0x00 dst += src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x14 0x0 0 any dst = (u32)((u32)dst - (u32)imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x15 0x0 any any if dst == imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x16 0x0 any any if (u32)dst == imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x17 0x0 0 any dst -= imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x18 0x0 0 any dst = (next_imm << 32) | imm base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x18 0x1 0 any dst = map_by_fd(imm) base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x18 0x2 0 any dst = map_val(map_by_fd(imm)) + next_imm base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x18 0x3 0 any dst = var_addr(imm) base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x18 0x4 0 any dst = code_addr(imm) base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x18 0x5 0 any dst = map_by_idx(imm) base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x18 0x6 0 any dst = map_val(map_by_idx(imm)) + next_imm base64 [RFC9669, Section 5.4 (64-bit Immediate IETF
Instructions)]
0x1c any 0 0x00 dst = (u32)((u32)dst - (u32)src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x1d any any 0x00 if dst == src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x1e any any 0x00 if (u32)dst == (u32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x1f any 0 0x00 dst -= src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x20 0x0 0 any (deprecated, implementation-specific) packet [RFC9669, Section 5.5 (Legacy BPF Packet IETF
Access Instructions)]
0x24 0x0 0 any dst = (u32)(dst * imm) divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x25 0x0 any any if dst > imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x26 0x0 any any if (u32)dst > imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x27 0x0 0 any dst *= imm divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x28 0x0 0 any (deprecated, implementation-specific) packet [RFC9669, Section 5.5 (Legacy BPF Packet IETF
Access Instructions)]
0x2c any 0 0x00 dst = (u32)(dst * src) divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x2d any any 0x00 if dst > src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x2e any any 0x00 if (u32)dst > (u32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x2f any 0 0x00 dst *= src divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x30 0x0 0 any (deprecated, implementation-specific) packet [RFC9669, Section 5.5 (Legacy BPF Packet IETF
Access Instructions)]
0x34 0x0 0 any dst = (u32)((imm != 0) ? ((u32)dst / (u32)imm) : divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
0) Instructions)]
0x34 0x0 1 any dst = (u32)((imm != 0) ? ((s32)dst s/ imm) : 0) divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x35 0x0 any any if dst >= imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x36 0x0 any any if (u32)dst >= imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x37 0x0 0 any dst = (imm != 0) ? (dst / (u32)imm) : 0 divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x37 0x0 1 any dst = (imm != 0) ? (dst s/ imm) : 0 divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x3c any 0 0x00 dst = (u32)((src != 0) ? ((u32)dst / (u32)src) : divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
0) Instructions)]
0x3c any 1 0x00 dst = (u32)((src != 0) ? ((s32)dst s/(s32)src) : divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
0) Instructions)]
0x3d any any 0x00 if dst >= src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x3e any any 0x00 if (u32)dst >= (u32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x3f any 0 0x00 dst = (src != 0) ? (dst / src) : 0 divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x3f any 1 0x00 dst = (src != 0) ? (dst s/ src) : 0 divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x40 any 0 any (deprecated, implementation-specific) packet [RFC9669, Section 5.5 (Legacy BPF Packet IETF
Access Instructions)]
0x44 0x0 0 any dst = (u32)(dst | imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x45 0x0 any any if dst & imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x46 0x0 any any if (u32)dst & imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x47 0x0 0 any dst |= imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x48 any 0 any (deprecated, implementation-specific) packet [RFC9669, Section 5.5 (Legacy BPF Packet IETF
Access Instructions)]
0x4c any 0 0x00 dst = (u32)(dst | src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x4d any any 0x00 if dst & src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x4e any any 0x00 if (u32)dst & (u32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x4f any 0 0x00 dst |= src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x50 any 0 any (deprecated, implementation-specific) packet [RFC9669, Section 5.5 (Legacy BPF Packet IETF
Access Instructions)]
0x54 0x0 0 any dst = (u32)(dst & imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x55 0x0 any any if dst != imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x56 0x0 any any if (u32)dst != imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x57 0x0 0 any dst &= imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x5c any 0 0x00 dst = (u32)(dst & src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x5d any any 0x00 if dst != src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x5e any any 0x00 if (u32)dst != (u32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x5f any 0 0x00 dst &= src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x61 any any 0x00 dst = *(u32 *)(src + offset) base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x62 0x0 any any *(u32 *)(dst + offset) = imm base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x63 any any 0x00 *(u32 *)(dst + offset) = src base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x64 0x0 0 any dst = (u32)(dst << imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x65 0x0 any any if dst s> imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x66 0x0 any any if (s32)dst s> (s32)imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x67 0x0 0 any dst <<= imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x69 any any 0x00 dst = *(u16 *)(src + offset) base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x6a 0x0 any any *(u16 *)(dst + offset) = imm base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x6b any any 0x00 *(u16 *)(dst + offset) = src base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x6c any 0 0x00 dst = (u32)(dst << src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x6d any any 0x00 if dst s> src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x6e any any 0x00 if (s32)dst s> (s32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x6f any 0 0x00 dst <<= src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x71 any any 0x00 dst = *(u8 *)(src + offset) base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x72 0x0 any any *(u8 *)(dst + offset) = imm base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x73 any any 0x00 *(u8 *)(dst + offset) = src base32 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x74 0x0 0 any dst = (u32)(dst >> imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x75 0x0 any any if dst s>= imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x76 0x0 any any if (s32)dst s>= (s32)imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x77 0x0 0 any dst >>= imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x79 any any 0x00 dst = *(u64 *)(src + offset) base64 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x7a 0x0 any any *(u64 *)(dst + offset) = imm base64 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x7b any any 0x00 *(u64 *)(dst + offset) = src base64 [RFC9669, Section 5 (Load and Store IETF
Instructions)]
0x7c any 0 0x00 dst = (u32)(dst >> src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x7d any any 0x00 if dst s>= src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x7e any any 0x00 if (s32)dst s>= (s32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x7f any 0 0x00 dst >>= src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x84 0x0 0 0x00 dst = (u32)-dst base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x85 0x0 0 any call helper function by static ID base32 [RFC9669, Section 4.3.1 (Helper IETF
Functions)]
0x85 0x1 0 any call PC += imm base32 [RFC9669, Section 4.3.2 (Program-local IETF
functions)]
0x85 0x2 0 any call helper function by BTF ID base32 [RFC9669, Section 4.3.1 (Helper IETF
Functions)]
0x87 0x0 0 0x00 dst = -dst base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x94 0x0 0 any dst = (u32)((imm != 0)?((u32)dst % (u32)imm) : divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
dst) Instructions)]
0x94 0x0 1 any dst = (u32)((imm != 0) ? ((s32)dst s% imm) : divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
dst) Instructions)]
0x95 0x0 0 0x00 return base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0x97 0x0 0 any dst = (imm != 0) ? (dst % (u32)imm) : dst divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x97 0x0 1 any dst = (imm != 0) ? (dst s% imm) : dst divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x9c any 0 0x00 dst = (u32)((src != 0)?((u32)dst % (u32)src) : divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
dst) Instructions)]
0x9c any 1 0x00 dst = (u32)((src != 0)?((s32)dst s% (s32)src) divmul32 [RFC9669, Section 4.1 (Arithmetic IETF
:dst) Instructions)]
0x9f any 0 0x00 dst = (src != 0) ? (dst % src) : dst divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0x9f any 1 0x00 dst = (src != 0) ? (dst s% src) : dst divmul64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xa4 0x0 0 any dst = (u32)(dst ^ imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xa5 0x0 any any if dst < imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xa6 0x0 any any if (u32)dst < imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xa7 0x0 0 any dst ^= imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xac any 0 0x00 dst = (u32)(dst ^ src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xad any any 0x00 if dst < src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xae any any 0x00 if (u32)dst < (u32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xaf any 0 0x00 dst ^= src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xb4 0x0 0 any dst = (u32) imm base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xb5 0x0 any any if dst <= imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xb6 0x0 any any if (u32)dst <= imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xb7 0x0 0 any dst = imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xbc any 0 0x00 dst = (u32) src base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xbc any 8 0x00 dst = (u32) (s32) (s8) src base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xbc any 16 0x00 dst = (u32) (s32) (s16) src base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xbd any any 0x00 if dst <= src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xbe any any 0x00 if (u32)dst <= (u32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xbf any 0 0x00 dst = src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xbf any 8 0x00 dst = (s64) (s8) src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xbf any 16 0x00 dst = (s64) (s16) src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xbf any 32 0x00 dst = (s64) (s32) src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xc3 any any 0x00 lock *(u32 *)(dst + offset) += src atomic32 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xc3 any any 0x01 src = atomic_fetch_add_32((u32 *)(dst + offset), atomic32 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xc3 any any 0x40 lock *(u32 *)(dst + offset) |= src atomic32 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xc3 any any 0x41 src = atomic_fetch_or_32((u32 *)(dst + offset), atomic32 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xc3 any any 0x50 lock *(u32 *)(dst + offset) &= src atomic32 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xc3 any any 0x51 src = atomic_fetch_and_32((u32 *)(dst + offset), atomic32 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xc3 any any 0xa0 lock *(u32 *)(dst + offset) ^= src atomic32 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xc3 any any 0xa1 src = atomic_fetch_xor_32((u32 *)(dst + offset), atomic32 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xc3 any any 0xe1 src = xchg_32((u32 *)(dst + offset), src) atomic32 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xc3 any any 0xf1 r0 = cmpxchg_32((u32 *)(dst + offset), r0, src) atomic32 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xc4 0x0 0 any dst = (u32)(dst s>> imm) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xc5 0x0 any any if dst s< imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xc6 0x0 any any if (s32)dst s< (s32)imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xc7 0x0 0 any dst s>>= imm base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xcc any 0 0x00 dst = (u32)(dst s>> src) base32 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xcd any any 0x00 if dst s< src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xce any any 0x00 if (s32)dst s< (s32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xcf any 0 0x00 dst s>>= src base64 [RFC9669, Section 4.1 (Arithmetic IETF
Instructions)]
0xd4 0x0 0 0x10 dst = htole16(dst) base32 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xd4 0x0 0 0x20 dst = htole32(dst) base32 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xd4 0x0 0 0x40 dst = htole64(dst) base64 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xd5 0x0 any any if dst s<= imm goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xd6 0x0 any any if (s32)dst s<= (s32)imm goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xd7 0x0 0 0x10 dst = bswap16(dst) base32 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xd7 0x0 0 0x20 dst = bswap32(dst) base32 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xd7 0x0 0 0x40 dst = bswap64(dst) base64 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xdb any any 0x00 lock *(u64 *)(dst + offset) += src atomic64 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xdb any any 0x01 src = atomic_fetch_add_64((u64 *)(dst + offset), atomic64 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xdb any any 0x40 lock *(u64 *)(dst + offset) |= src atomic64 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xdb any any 0x41 src = atomic_fetch_or_64((u64 *)(dst + offset), atomic64 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xdb any any 0x50 lock *(u64 *)(dst + offset) &= src atomic64 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xdb any any 0x51 src = atomic_fetch_and_64((u64 *)(dst + offset), atomic64 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xdb any any 0xa0 lock *(u64 *)(dst + offset) ^= src atomic64 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xdb any any 0xa1 src = atomic_fetch_xor_64((u64 *)(dst + offset), atomic64 [RFC9669, Section 5.3 (Atomic IETF
src) Operations)]
0xdb any any 0xe1 src = xchg_64((u64 *)(dst + offset), src) atomic64 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xdb any any 0xf1 r0 = cmpxchg_64((u64 *)(dst + offset), r0, src) atomic64 [RFC9669, Section 5.3 (Atomic IETF
Operations)]
0xdc 0x0 0 0x10 dst = htobe16(dst) base32 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xdc 0x0 0 0x20 dst = htobe32(dst) base32 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xdc 0x0 0 0x40 dst = htobe64(dst) base64 [RFC9669, Section 4.2 (Byte Swap IETF
Instructions)]
0xdd any any 0x00 if dst s<= src goto +offset base64 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
0xde any any 0x00 if (s32)dst s<= (s32)src goto +offset base32 [RFC9669, Section 4.3 (Jump IETF
Instructions)]
Licensing Terms
Presently we were in a very dark road, and at a point where it dropped suddenly between steep sides we halted in black shadow. A gleam of pale sand, a whisper of deep flowing waters, and a farther glimmer of more sands beyond them challenged our advance. We had come to a "grapevine ferry." The scow was on the other side, the water too shoal for the horses to swim, and the bottom, most likely, quicksand. Out of the blackness of the opposite shore came a soft, high-pitched, quavering, long-drawn, smothered moan of woe, the call of that snivelling little sinner the screech-owl. Ferry murmured to me to answer it and I sent the same faint horror-stricken tremolo back. Again it came to us, from not farther than one might toss his cap, and I followed Ferry down to the water's edge. The grapevine guy swayed at our side, we heard the scow slide from the sands, and in a few moments, moved by two videttes, it touched our shore. Soon we were across, the two videttes riding with us, and beyond a sharp rise, in an old opening made by the swoop of a hurricane, we entered the silent unlighted bivouac of Ferry's scouts. Ferry got down and sat on the earth talking with Quinn, while the sergeants quietly roused the sleepers to horse. Plotinus is driven by this perplexity to reconsider the whole theory of Matter.477 He takes Aristotle¡¯s doctrine as the groundwork of his investigation. According to this, all existence is divided into Matter and Form. What we know of things¡ªin other words, the sum of their differential characteristics¡ªis their Form. Take away this, and the unknowable residuum is their Matter. Again, Matter is the vague indeterminate something out of which particular Forms are developed. The two are related as Possibility to Actuality, as the more generic to the more specific substance through every grade of classification and composition. Thus there are two Matters, the one sensible and the other intelligible. The former constitutes the common substratum of bodies, the other the common element of ideas.478 The general distinction between Matter and Form was originally suggested to Aristotle by Plato¡¯s remarks on the same subject; but he differs325 from his master in two important particulars. Plato, in his Timaeus, seems to identify Matter with space.479 So far, it is a much more positive conception than the ?λη of the Metaphysics. On the other hand, he constantly opposes it to reality as something non-existent; and he at least implies that it is opposed to absolute good as a principle of absolute evil.480 Thus while the Aristotelian world is formed by the development of Power into Actuality, the Platonic world is composed by the union of Being and not-Being, of the Same and the Different, of the One and the Many, of the Limit and the Unlimited, of Good and Evil, in varying proportions with each other. The Lawton woman had heard of an officer's family at Grant, which was in need of a cook, and had gone there. [See larger version] On the 8th of July an extraordinary Privy Council was summoned. All the members, of whatever party, were desired to attend, and many were the speculations as to the object of their meeting. The general notion was that it involved the continuing or the ending of the war. It turned out to be for the announcement of the king's intended marriage. The lady selected was Charlotte, the second sister of the Duke of Mecklenburg-Strelitz. Apart from the narrowness of her education, the young princess had a considerable amount of amiability, good sense, and domestic taste. These she shared with her intended husband, and whilst they made the royal couple always retiring, at the same time they caused them to give, during their lives, a moral air to their court. On the 8th of September Charlotte arrived at St. James's, and that afternoon the marriage took place, the ceremony being performed by the Archbishop of Canterbury. On the 22nd the coronation took place with the greatest splendour. Mother and girls were inconsolable, for each had something that they were sure "Si would like," and would "do him good," but they knew Josiah Klegg, Sr., well enough to understand what was the condition when he had once made up his mind. CHAPTER V. THE YOUNG RECRUITS Si proceeded to deftly construct a litter out of the two guns, with some sticks that he cut with a knife, and bound with pawpaw strips. His voice had sunk very low, almost to sweetness. A soft flurry of pink went over her face, and her eyelids drooped. Then suddenly she braced herself, pulled herself taut, grew combative again, though her voice shook. HoME²Ô¾®Ïè̫ʲôÐÇ×ù
ENTER NUMBET 0016www.fanyouxi.com.cn
ebriir.com.cn
gloffer.com.cn
www.hudaj.com.cn
www.gqlbj.org.cn
www.jksksd.com.cn
kmohgr.com.cn
thhrq.com.cn
www.sdjt518.com.cn
www.sxbrj.com.cn