Skip to content

Commit fa4bcc6

Browse files
authored
change sth
1 parent dc582e2 commit fa4bcc6

File tree

1 file changed

+30
-7
lines changed

1 file changed

+30
-7
lines changed

source/c09/p25_disassembling_python_byte_code.rst

+30-7
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,38 @@
1515
.. code-block:: python
1616
1717
>>> def countdown(n):
18-
... while n > 0:
19-
... print('T-minus', n)
20-
... n -= 1
21-
... print('Blastoff!')
18+
... while n > 0:
19+
... print('T-minus', n)
20+
... n -= 1
21+
... print('Blastoff!')
2222
...
2323
>>> import dis
2424
>>> dis.dis(countdown)
25-
...
25+
2 0 SETUP_LOOP 30 (to 32)
26+
>> 2 LOAD_FAST 0 (n)
27+
4 LOAD_CONST 1 (0)
28+
6 COMPARE_OP 4 (>)
29+
8 POP_JUMP_IF_FALSE 30
30+
31+
3 10 LOAD_GLOBAL 0 (print)
32+
12 LOAD_CONST 2 ('T-minus')
33+
14 LOAD_FAST 0 (n)
34+
16 CALL_FUNCTION 2
35+
18 POP_TOP
36+
37+
4 20 LOAD_FAST 0 (n)
38+
22 LOAD_CONST 3 (1)
39+
24 INPLACE_SUBTRACT
40+
26 STORE_FAST 0 (n)
41+
28 JUMP_ABSOLUTE 2
42+
>> 30 POP_BLOCK
43+
44+
5 >> 32 LOAD_GLOBAL 0 (print)
45+
34 LOAD_CONST 4 ('Blastoff!')
46+
36 CALL_FUNCTION 1
47+
38 POP_TOP
48+
40 LOAD_CONST 0 (None)
49+
42 RETURN_VALUE
2650
>>>
2751
2852
----------
@@ -46,9 +70,8 @@
4670
>>> c = countdown.__code__.co_code
4771
>>> import opcode
4872
>>> opcode.opname[c[0]]
49-
>>> opcode.opname[c[0]]
5073
'SETUP_LOOP'
51-
>>> opcode.opname[c[3]]
74+
>>> opcode.opname[c[2]]
5275
'LOAD_FAST'
5376
>>>
5477

0 commit comments

Comments
 (0)