import struct


def get_param(program):
    """
    プログラムのパラメータを取り出す。

    Parameter
    ---------
    program: bytearray
        プログラムデータ

    Returns
    -------
    param: dict
        プログラムのパラメータ

    Notes
    -----
    以下のパラメータを返す。
    * name: プログラム名
    * start_addr: プログラムの開始アドレス
    * flag: BASICプログラムの場合は0、マシン語の場合は77(0x4d)
    """
    name, addr, len, flag = struct.unpack('>16sHHB11x', program[0:32])
    name = name.replace(b'\00', b'')
    return {'name': name, 'start_addr': addr, 'length': len, 'flag': flag}