more asm test
This commit is contained in:
parent
96e8eb95b0
commit
972a8ac8f1
|
@ -12,6 +12,12 @@ class ProgramTest(unittest.TestCase):
|
|||
p.parse_asm_line("PUSH r134217727")
|
||||
b = p()
|
||||
self.assertEqual(b, b'\x01\xFC\x87\xbf\xbf\xbf\xbf\x00')
|
||||
def test_two(self):
|
||||
p = Program()
|
||||
p.parse_asm_line("PUSH r1")
|
||||
p.parse_asm_line("ADD r1 5 6")
|
||||
b = p()
|
||||
self.assertEqual(b, b'\x01\xC2\x81\x00\x03\xC2\x81\xC0\x85\xC0\x86\x00')
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
@ -130,10 +130,11 @@ class Line:
|
|||
def __call__(self):
|
||||
b = bytes([self.opcode])
|
||||
for a in self.args:
|
||||
l = 2 if a[1] < 0x80 else None
|
||||
if a[0] == ArgType.REG:
|
||||
b = b + encode_pseudo_utf8(a[1],1,None)
|
||||
b = b + encode_pseudo_utf8(a[1],1,l)
|
||||
else:
|
||||
b = b + encode_pseudo_utf8(a[1],0,None)
|
||||
b = b + encode_pseudo_utf8(a[1],0,l)
|
||||
return b + bytes([0])
|
||||
|
||||
class InstructionNotFoundException(Exception):
|
||||
|
|
Loading…
Reference in New Issue