@@ -36,13 +36,32 @@ def step(self):
3636 called after each instruction is executed
3737 """
3838 pass
39+
40+ @staticmethod
41+ def read_debug (read ):
42+ def read_wrapper (self , offset : int , size : int ) -> int :
43+ self .ql .log .debug (f'[{ self .label .upper ()} ] [R] { self .find_field (offset , size ):10s} ' )
44+ return read (self , offset , size )
45+
46+ return read_wrapper
47+
48+ @staticmethod
49+ def write_debug (write ):
50+ def write_wrapper (self , offset : int , size : int , value : int ):
51+ field , extra = self .find_field (offset , size ), ''
52+ if field .startswith ('DR' ) and value <= 255 :
53+ extra = f'({ repr (chr (value ))} )'
54+
55+ self .ql .log .debug (f'[{ self .label .upper ()} ] [W] { field :10s} = { hex (value )} { extra } ' )
56+ return write (self , offset , size , value )
57+
58+ return write_wrapper
3959
4060 def read (self , offset : int , size : int ) -> int :
41- self .ql .log .debug (f'[{ self .label .upper ()} ] [R] { self .find_field (offset , size ):10s} ' )
4261 return 0
4362
4463 def write (self , offset : int , size : int , value : int ):
45- self . ql . log . debug ( f'[ { self . label . upper () } ] [W] { self . find_field ( offset , size ):10s } = { hex ( value ) } ' )
64+ pass
4665
4766 def in_field (self , field , offset : int , size : int ) -> bool :
4867 return field .offset <= offset and offset + size <= field .offset + field .size
0 commit comments