MCPcopy Create free account
hub / github.com/dabeaz/python-cookbook / generate_opcodes

Function generate_opcodes

src/9/disassembling_python_byte_code/example.py:5–21  ·  view source on GitHub ↗
(codebytes)

Source from the content-addressed store, hash-verified

3import opcode
4
5def generate_opcodes(codebytes):
6 extended_arg = 0
7 i = 0
8 n = len(codebytes)
9 while i < n:
10 op = codebytes[i]
11 i += 1
12 if op >= opcode.HAVE_ARGUMENT:
13 oparg = codebytes[i] + codebytes[i+1]*256 + extended_arg
14 extended_arg = 0
15 i += 2
16 if op == opcode.EXTENDED_ARG:
17 extended_arg = oparg * 65536
18 continue
19 else:
20 oparg = None
21 yield (op, oparg)
22
23# Example
24def countdown(n):

Callers 1

example.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected