def get_value(b:bytearray): ret=0 for i,item in enumerate(b): ret|=item<<(8*i) return ret def set_value(b:bytearray,value:int): for i in range(len(b)): b[i]=(value>>(8*i))&0xff class cpu(object): def __init__(self,rom_addr:int,rom_size:int,mem_addr:int,mem_size:int) -> None: self.rom_addr=rom_addr self.rom=bytearray(rom_size) self.mem_addr=mem_addr self.mem=bytearray(mem_size) def get_value(self,addr:int,size:int): if not (size in [1,2,4,8]): raise Exception(f"CPU 异常 因为地址未对齐 {size}") if(addr>=self.rom_addr) and (addr=self.rom_addr) and (addr