diff --git a/horrlang.py b/horrlang.py index 29de523..6242455 100755 --- a/horrlang.py +++ b/horrlang.py @@ -61,7 +61,9 @@ class Machine: self.mem_ptr += self.get_integer() 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): self.mem[self.mem_ptr] = ord(self.read(1)) @@ -101,8 +103,9 @@ class Machine: while True: if self.mem[self.exc_ptr] == 0: return - if self.mem[self.exc_ptr] <= 255: - control = chr(self.mem[self.exc_ptr]) + char = self.mem[self.exc_ptr] + if char > 0 and char < 256: + control = chr(char) if debug: print control if hasattr(self, control):