Hello to all
I'm about to write a simulator for a microcontroller in python
(why python? because I love it!!!)
but I have a problem.
The registry of this processor are all 8 bit long (and 10 bit for some
other strange register)
and I need to simulate the fixed point behaviour of the register,
and to access the single bit.
f.x. (this is a pseudo python session, only for understanding)
or
1
0
<exception .... blah blah not in range>
0x7FE
#or 1111111110, the memorization truncate the upper bits ( or perhaps
generate an exception?)
0x00
# truncated again
1
# or True? Z flag indicated an overflow in arithmetic operations
Is possibile to do so in python?
thanks
I'm about to write a simulator for a microcontroller in python
(why python? because I love it!!!)
but I have a problem.
The registry of this processor are all 8 bit long (and 10 bit for some
other strange register)
and I need to simulate the fixed point behaviour of the register,
and to access the single bit.
f.x. (this is a pseudo python session, only for understanding)
>>reg1 = fixed_int(8)
>>reg2 = fixed_int(10)
>>reg1[0].set()
>>reg2 = fixed_int(10)
>>reg1[0].set()
>>reg1[0] = 1 # or True? how to rapresent a binary bit
>>reg1[0]
>>reg1[0]
>>reg1[1]
>>reg1[9]
>>reg2 = 0x7FE # in binary 11111111110 , or 11 bit long
>>reg2
>>reg2
#or 1111111110, the memorization truncate the upper bits ( or perhaps
generate an exception?)
>>reg2 += 0x02 #the result is 10000000000, again not contained in 10 bit
>>reg2
>>reg2
# truncated again
>>myprocessor.f lags['z']
# or True? Z flag indicated an overflow in arithmetic operations
Is possibile to do so in python?
thanks
Comment