FIX: out of range ascii chars
This commit is contained in:
parent
4de9d41fad
commit
eb5ab43c48
|
@ -61,7 +61,9 @@ class Machine:
|
||||||
self.mem_ptr += self.get_integer()
|
self.mem_ptr += self.get_integer()
|
||||||
|
|
||||||
def O(self):
|
def O(self):
|
||||||
self.write(chr(self.mem[self.mem_ptr]))
|
char = self.mem[self.mem_ptr]
|
||||||
|
if char > 0 and char < 256:
|
||||||
|
self.write(chr(char))
|
||||||
|
|
||||||
def I(self):
|
def I(self):
|
||||||
self.mem[self.mem_ptr] = ord(self.read(1))
|
self.mem[self.mem_ptr] = ord(self.read(1))
|
||||||
|
@ -101,8 +103,9 @@ class Machine:
|
||||||
while True:
|
while True:
|
||||||
if self.mem[self.exc_ptr] == 0:
|
if self.mem[self.exc_ptr] == 0:
|
||||||
return
|
return
|
||||||
if self.mem[self.exc_ptr] <= 255:
|
char = self.mem[self.exc_ptr]
|
||||||
control = chr(self.mem[self.exc_ptr])
|
if char > 0 and char < 256:
|
||||||
|
control = chr(char)
|
||||||
if debug:
|
if debug:
|
||||||
print control
|
print control
|
||||||
if hasattr(self, control):
|
if hasattr(self, control):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user