def METHOD_NAME(evm: Evm) -> None:
    """
    Copy a portion of an account's code to memory.
    Parameters
    ----------
    evm :
        The current EVM frame.
    """
    # STACK
    address = to_address(pop(evm.stack))
    memory_start_index = pop(evm.stack)
    code_start_index = pop(evm.stack)
    size = pop(evm.stack)
    # GAS
    words = ceil32(Uint(size)) // 32
    copy_gas_cost = GAS_COPY * words
    extend_memory = calculate_gas_extend_memory(
        evm.memory, [(memory_start_index, size)]
    )
    charge_gas(evm, GAS_EXTERNAL + copy_gas_cost + extend_memory.cost)
    # OPERATION
    evm.memory += b"\x00" * extend_memory.expand_by
    code = get_account(evm.env.state, address).code
    value = buffer_read(code, code_start_index, size)
    memory_write(evm.memory, memory_start_index, value)
    # PROGRAM COUNTER
    evm.pc += 1