在 python 中为自定义架构编码整数

Encoding a integer in python for a custom architecture

提问人:bsdsylvia 提问时间:11/11/2023 更新时间:11/11/2023 访问量:36

问:

我正在用 Python 为自定义架构编写汇编程序,并且卡在编码步骤上。我需要将位 0-16、16-32 和 32-64 设置为它们自己的整数值,但是,由于我缺乏知识并且我不知道如何检查值是否已正确编码,因此很难做到这一点

我的旧编码函数是

def _encode_bits(self, i, offset: int, length: int, value: int) -> None:
        assert(offset >= 0)
        assert(length >= 0)
        assert(offset + length < 65)
        assert(value >= 0)
        assert(value < 2 ** length)

        mask = ((1 << length) - 1) << offset
        encoding = self.instr_data[i]
        encoding &= ~mask
        encoding |= value << offset

        self.instr_data[i] = encoding

但是,如前所述,我目前不知道是否有办法验证此功能,或者是否有更好的方法

python 编码 cpu

评论

1赞 Brian61354270 11/11/2023
可能相关:Python 有位字段类型吗?

答: 暂无答案