Ejemplo n.º 1
0
 def test_byt_directives_char(self):
     a = Asm('''A         .BYT    'A'
           TRP    0''', 'asm_test_int_directives.log', 16, True)
     hex = a.execute().hexdump
     ret = a.retcode
     self.assert_(hex == '41000 0000 0000 0000',
                  'Hex dump on int directives failed')
     self.assert_(not ret, 'Ret code on int directives test failed.')
Ejemplo n.º 2
0
    def test_jmp(self):
        a = Asm('''
JMP  END
END  TRP  0''', 'asm_test_instr_jmp.log', 24, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '1000 c000 0000 0000 0000 0000',
                     'Hex dump on JMP failed')
        self.assert_(not ret, 'Ret code on JMP test failed.')
        self.assert_(os.stat("logs/asm_test_instr_jmp.log").st_size == 0)
Ejemplo n.º 3
0
    def test_cmp(self):
        a = Asm('''
CMP  R1  R2
TRP  0''', 'asm_test_instr_cmp.log', 28, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '14000 1000 2000 0000 0000 0000 0000',
                     'Hex dump on CMP failed')
        self.assert_(not ret, 'Ret code on CMP test failed.')
        self.assert_(os.stat("logs/asm_test_instr_cmp.log").st_size == 0)
Ejemplo n.º 4
0
    def test_and(self):
        a = Asm('''
AND  R1  R2
TRP  0''', 'asm_test_instr_and.log', 28, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '12000 1000 2000 0000 0000 0000 0000',
                     'Hex dump on AND failed')
        self.assert_(not ret, 'Ret code on AND test failed.')
        self.assert_(os.stat("logs/asm_test_instr_and.log").st_size == 0)
Ejemplo n.º 5
0
    def test_adi(self):
        a = Asm('''
ADI  R1  5
TRP  0''', 'asm_test_instr_adi.log', 28, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == 'e000 1000 5000 0000 0000 0000 0000',
                     'Hex dump on ADI failed')
        self.assert_(not ret, 'Ret code on ADI test failed.')
        self.assert_(os.stat("logs/asm_test_instr_adi.log").st_size == 0)
Ejemplo n.º 6
0
    def test_sub(self):
        a = Asm('''
SUB  R1  R2
TRP  0''', 'asm_test_instr_sub.log', 28, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == 'f000 1000 2000 0000 0000 0000 0000',
                     'Hex dump on SUB failed')
        self.assert_(not ret, 'Ret code on SUB test failed.')
        self.assert_(os.stat("logs/asm_test_instr_sub.log").st_size == 0)
Ejemplo n.º 7
0
    def test_mov(self):
        a = Asm('''
MOV  R1  R2
END  TRP  0''', 'asm_test_instr_mov.log', 36, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '7000 1000 2000 0000 0000 0000 0000 0000 0000',
                     'Hex dump on MOV failed')
        self.assert_(not ret, 'Ret code on MOV test failed.')
        self.assert_(os.stat("logs/asm_test_instr_mov.log").st_size == 0)
Ejemplo n.º 8
0
    def test_bnz(self):
        a = Asm('''
JMP  END
BNZ  R1  END
END  TRP  0''', 'asm_test_instr_bnz.log', 36, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '1000 18000 0000 3000 1000 18000 0000 0000 0000',
                     "Hex dump on BNZ failed")
        self.assert_(not ret, 'Ret code on BNZ test failed.')
        self.assert_(os.stat('logs/asm_test_instr_bnz.log').st_size == 0)
Ejemplo n.º 9
0
    def test_lda(self):
        a = Asm('''
ONE  .BYT 0
LDA  R1  ONE  
    TRP  0''', 'asm_test_instr_lda.log', 28, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '0800 0100 0000 0000 0000 0000 0000',
                     'Hex dump on LDA failed')
        self.assert_(not ret, 'Ret code on LDA test failed.')
        self.assert_(os.stat("logs/asm_test_instr_lda.log").st_size == 0)
Ejemplo n.º 10
0
    def test_stb(self):
        a = Asm('''
ONE  .INT 0
STB  R1  ONE  
    TRP  0''', 'asm_test_instr_stb.log', 32, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '0000 b000 1000 0000 0000 0000 0000 0000',
                     'Hex dump on STB failed')
        self.assert_(not ret, 'Ret code on STB test failed.')
        self.assert_(os.stat("logs/asm_test_instr_stb.log").st_size == 0)
Ejemplo n.º 11
0
    def test_str(self):
        a = Asm('''
ONE  .BYT 0
STR  R1  ONE  
    TRP  0''', 'asm_test_instr_str.log', 36, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '0900 0100 0000 0000 0000 0000 0000 0000 0000',
                     'Hex dump on STR failed')
        self.assert_(not ret, 'Ret code on STR test failed.')
        self.assert_(os.stat("logs/asm_test_instr_str.log").st_size == 0)
Ejemplo n.º 12
0
    def test_brz(self):
        a = Asm('''
JMP  END  
BRZ  R1  END
END  TRP  0''', 'asm_test_instr_brz.log', 36, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(hex == '1000 18000 0000 6000 1000 18000 0000 0000 0000',
                     'Hex dump on BRZ failed')
        self.assert_(not ret, 'Ret code on BRZ test failed.')
        self.assert_(os.stat("logs/asm_test_instr_brz.log").st_size == 0)
Ejemplo n.º 13
0
  def test_byt_directives(self):
      a = Asm(
          '''LETTER    .BYT    65
 ARR       .BYT    65
           .BYT    66
           .BYT    67
            TRP    0''', 'asm_test_byt_directives.log', 24, True)
      hex = a.execute().hexdump
      ret = a.retcode
      self.assert_(hex == '41414243 0000 0000 0000 0000 0000',
                   'Hex dump on byte directives failed')
      self.assert_(not ret, 'Ret code on byte directives test failed.')
Ejemplo n.º 14
0
  def test_int_directives(self):
      a = Asm(
          '''ONE       .INT    65
 ARR       .INT    65
           .INT    66
           .INT    67
            TRP    0''', 'asm_test_int_directives.log', 32, True)
      hex = a.execute().hexdump
      ret = a.retcode
      self.assert_(hex == '41000 41000 42000 43000 0000 0000 0000 0000',
                   'Hex dump on int directives failed')
      self.assert_(not ret, 'Ret code on int directives test failed.')
Ejemplo n.º 15
0
    def test_stri(self):
        a = Asm('''
ONE  .INT 0
LDR  R2  ONE
STR  R1  (R2)  
    TRP  0''', 'asm_test_instr_stri.log', 44, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(
            hex == '0000 a000 2000 0000 15000 1000 2000 0000 0000 0000 0000',
            'Hex dump on STRi failed')
        self.assert_(not ret, 'Ret code on STRi test failed.')
        self.assert_(os.stat("logs/asm_test_instr_stri.log").st_size == 0)
Ejemplo n.º 16
0
    def test_ldbi(self):
        a = Asm('''
ONE  .INT 0
LDR  R1  ONE
LDB  R1  (R1)  
    TRP  0''', 'asm_test_instr_ldbi.log', 44, False)
        hex = a.execute().hexdump
        ret = a.retcode
        self.assert_(
            hex == '0000 a000 1000 0000 18000 1000 1000 0000 0000 0000 0000',
            'Hex dump on LDBi failed')
        self.assert_(not ret, 'Ret code on LDBi test failed.')
        self.assert_(os.stat("logs/asm_test_instr_ldbi.log").st_size == 0)
Ejemplo n.º 17
0
 def test_proj1(self):
     f = open('../Archive/proj1.asm', 'r')
     asml = ''.join(f.readlines())
     a = Asm(asml, 'asm_test_proj1.log', 4192, False)
     hex = a.execute().hexdump
     ret = a.retcode
     log = a.log
     self.assert_(
         hex ==
         '54796c65 7250616b 2ca201 0002 0003 0004 0005 0006 0002c 100ffffff96 00032 00014 000a 000fffffff4 100a 0003 0005 0000 0003 0000 000a 0003 0006 0000 0003 0000 000a 0003 0004 0000 0003 0000 000a 0003 0007 0000 0003 0000 000a 0003 0008 0000 0003 0000 000a 0003 000a 0000 0003 0000 000a 0003 0000 0000 0003 0000 000a 0003 0001 0000 0003 0000 000a 0003 0002 0000 0003 0000 000a 0003 0003 0000 0003 0000 000a 0003 0004 0000 0003 0000 000a 0003 0009 0000 0003 0000 0000 0003 0000 000a 0000 00023 000a 0001 00027 000d 0000 0001 0007 0003 0000 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0001 0002b 000d 0000 0001 0007 0003 0000 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0001 0002f 000d 0000 0001 0007 0003 0000 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0001 00033 000d 0000 0001 0007 0003 0000 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0001 0001b 000d 0000 0001 0007 0003 0000 0000 0001 0000 000a 0003 0009 0000 0003 0000 0000 0003 0000 000a 0001 000b 000a 0002 000f 00010 0001 0002 0007 0003 0001 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0002 00013 00010 0001 0002 0007 0003 0001 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0002 00017 00010 0001 0002 0007 0003 0001 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0002 0001b 00010 0001 0002 0007 0003 0001 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 000a 0002 0001f 00010 0001 0002 0007 0003 0001 0000 0001 0000 000a 0003 0009 0000 0003 0000 0000 0003 0000 0007 0003 0000 000a 0004 00023 00011 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0000 000a 0004 00027 00011 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0000 000a 0004 0002b 00011 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0000 000a 0004 0002f 00011 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0000 000a 0004 00033 00011 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0000 000a 0004 0001b 00011 0003 0004 0000 0001 0000 000a 0003 0009 0000 0003 0000 0000 0003 0000 0007 0003 0001 000a 0004 00037 000f 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0001 000a 0004 000f 000f 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0001 000a 0004 0001b 000f 0003 0004 0000 0001 0000 000a 0003 000a 0000 0003 0000 0000 0003 0000 0007 0003 0001 000a 0004 00033 000f 0003 0004 0000 0001 0000 000a 0003 0009 0000 0003 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000',
         'Hex dump on Proj1Test failed')
     self.assert_(ret == 0 or ret == None,
                  'Ret code on Proj1Test test failed.')
     self.assert_(log == [
         'Park, Tyler\n', '\n', '450  500  520  530  535\n', '\n',
         '2  6  24  120  720\n', '\n', '1  3  10  26  53  107\n', '\n',
         '220  718  715  710\n'
     ])