Exemplo n.º 1
0
def eval_AS(a, w):
    w = to_signed(w,32)
    i = a
    if i >= 0:
        return to_signed(w >> i, 32)
    else:
        j = abs(i)
        return to_signed(w << j, 32)
Exemplo n.º 2
0
def eval_LS(a, w):
    i = to_signed(a, 32)
    if i >= 0:
        return w >> i
    else:
        j = abs(i)
        return w << j
Exemplo n.º 3
0
def eval_LT(w1, w2):
    w1_signed = to_signed(w1, 32)
    w2_signed = to_signed(w2, 32)
    return w1_signed < w2_signed
Exemplo n.º 4
0
 def read(self, memory, process):
     self.l_val = to_signed(self.value + process.PC, 12)
     return memory[self.l_val]
Exemplo n.º 5
0
 def write(self, memory, process, value):
     memory[to_signed(self.value, 12) + process.PC] = value
Exemplo n.º 6
0
 def read(self, memory, process):
     return memory[to_signed(self.value, 12) + process.PC]
Exemplo n.º 7
0
 def read(self, memory, process):
     a = to_signed(self.value, 12)
     b = to_signed(a, 32)
     return b