コード例 #1
0
    def statAndShowAddrMode(stats,
                            fmode="",
                            picName="",
                            picTitle="The Addressing Mode Distribution",
                            xlabel="Frequency of Addressing Mode",
                            ylabel="Addressing Mode",
                            labelDict=Addressing.modeLabelDict):
        modeDict = {}
        for stat in stats:
            for i in range(0, stat['nOPs']):
                mode = stat['op' + str(i + 1) + '_mode']
                if modeDict.has_key(mode):
                    modeDict[mode] += 1
                else:
                    modeDict[mode] = 1
        if len(fmode) > 0:
            Toolkit.writeJsonFile(fmode, modeDict)
#		Toolkit.showProportion(modeDict, picName, picTitle)
        Toolkit.showHistogram(modeDict, picName, picTitle, xlabel, ylabel,
                              labelDict)
        return modeDict
コード例 #2
0
    def statAndShowAddrLength(stats,
                              modes,
                              fname="",
                              picName="",
                              picTitle="Address Length Distribution",
                              xlabel="Frequency of Address Length",
                              ylabel="Address Length"):
        lenDict = {}
        for stat in stats:
            for i in range(0, stat['nOPs']):
                op = 'op' + str(i + 1)
                mode = stat[op + '_mode']
                if mode in modes:
                    length = Addressing.checkAddrLen(stat[op], mode)
                    if lenDict.has_key(length):
                        lenDict[length] += 1
                    else:
                        lenDict[length] = 1
        if len(fname) > 0:
            Toolkit.writeJsonFile(fname, lenDict)
#		Toolkit.showProportion(lenDict, picName, picTitle)
        Toolkit.showHistogram(lenDict, picName, picTitle, xlabel, ylabel)
        return lenDict