Ejemplo n.º 1
0
        def __init__(self, virt_r, descriptor, page_size, n):
            self.virt_r = virt_r

            self.descriptor = descriptor
            self.attributes = Register(
                descriptor.value,
                software=(58, 55),
                XN=(54, 54),
                PXN=(53, 53),
                contiguous_hint=(52, 52),
                nG=(11, 11),
                AF=(10, 10),
                sh_10=(9, 8),
                ap_21=(7, 6),
                ns=(5, 5),
                attr_index_20=(4, 2),
            )

            self.page_size = page_size
            self.leaf = True

            p = Register(output_address=(39, n), page_offset=(n - 1, 0))
            p.output_address = self.descriptor.output_address
            self.virt_r.add_field('rest', (n - 1, 0))
            p.page_offset |= self.virt_r.rest
            self.phys = p.value
Ejemplo n.º 2
0
    def __init__(self, name, id, position=None, signal=device.SIGUSR2):
        """
    Constructor.
    @see Device.__init__()
    @param position device position can be set from the User
    """
        """ Create LCD registers"""
        Reg0 = Register(name + "_REG0")
        Reg1 = Register(name + "_REG1")
        Reg2 = Register(name + "_REG2")
        Reg3 = Register(name + "_REG3")
        Reg4 = Register(name + "_REG4")
        Reg5 = Register(name + "_REG5")
        Reg6 = Register(name + "_REG6")
        Reg7 = Register(name + "_REG7")
        Reg8 = Register(name + "_REG8")
        Reg9 = Register(name + "_REG9")
        self.__reg0 = Reg0.name
        self.__reg1 = Reg1.name
        self.__reg2 = Reg2.name
        self.__reg3 = Reg3.name
        self.__reg4 = Reg4.name
        self.__reg5 = Reg5.name
        self.__reg6 = Reg6.name
        self.__reg7 = Reg7.name
        self.__reg8 = Reg8.name
        self.__reg9 = Reg9.name

        self._width = lcd_width
        self._height = lcd_height
        self._position = position

        device.Device.__init__(
            self, name, id, signal,
            [Reg0, Reg1, Reg2, Reg3, Reg4, Reg5, Reg6, Reg7, Reg8, Reg9])
Ejemplo n.º 3
0
 def __init__(self, parent=None):
     super(Application, self).__init__(parent)
     self.title = 'Zadanie projektowe nr 2'
     screen_width = w32.GetSystemMetrics(0)
     screen_height = w32.GetSystemMetrics(1)
     self.width = 1024
     self.height = 768
     self.left = (screen_width - self.width) / 2
     self.top = -30 + (screen_height - self.height) / 2
     self.form_widget = None
     self.regA = Register("AX")
     self.regB = Register("BX")
     self.regC = Register("CX")
     self.regD = Register("DX")
     self.program_code = QPlainTextEdit(self)
     self.mode = -1
     self.help_bios = None
     self.step = False
     self.pattern1 = re.compile(r"\d{1,3}\s\D{3}\s\S{2},\S{2}")
     self.pattern2 = re.compile(r"\d{1,3}\s\D{3}\s\S{2},#\d{1,3}")
     self.pattern3 = re.compile(r"\d{1,3}\sINT\S{2}")
     self.pattern4 = re.compile(r"\d{1,3}\s\D{3,4}\s\S{2}")
     self.stack = []
     self.max_stack = 15
     self.stack_pointer = 0
     self.initWindow()
Ejemplo n.º 4
0
    def __init__(self,
                 program,
                 position,
                 name=None,
                 first=None,
                 second=None,
                 third=None,
                 imm=None,
                 label=None):

        name = name.lower()
        if name not in r_type.keys() and \
           name not in i_type.keys() and \
           name not in j_type.keys():
            raise Exception("'%s' is not a MIPS opcode" % (name.lower()))

        self.program = program
        self.position = position
        self.name = name

        self.rs = UnusedRegister()
        self.rt = UnusedRegister()
        self.rd = UnusedRegister()

        # Verify that the right registers are present
        registers = (r_type[name][-1] if name in r_type else \
                     i_type[name][-1] if name in i_type else \
                     j_type[name][-1])
        rlist = [x for x in [first, second, third] if x is not None]

        if len(registers) == 3 and (first is None or second is None \
            or third is None):
            raise Exception("'%s' requires three registers" % (name))
        if len(registers) == 2 and (first is None or second is None \
            or third is not None):
            raise Exception("'%s' requires two registers" % (name))
        if len(registers) == 1 and (first is None or second is not None \
            or third is not None):
            raise Exception("'%s' requires one register" % (name))
        if len(registers) == 0 and (first is not None or second is not None \
            or third is not None):
            raise Exception("'%s' requires no registers" % (name))

        for pos, reg in zip(registers, rlist):
            if pos == "rs": self.rs = Register(reg)
            if pos == "rd": self.rd = Register(reg)
            if pos == "rt": self.rt = Register(reg)

        if isinstance(imm, int):
            self.imm = imm
        else:
            self.imm = eval(imm) if imm is not None else 0
        self.label = label

        if imm is not None and self.label is not None:
            raise Exception("A label and an immediate. Confused.")
Ejemplo n.º 5
0
 def setUp(self):
     self.name = "Tom"
     self.mail = "*****@*****.**"
     self.wrongmail = "*****@*****.**"
     self.phone = "110110110"
     self.password = "******"
     self.register = Register(self.name, self.mail, self.phone,
                              self.password)
     self.wrongregister = Register(self.name, self.wrongmail, self.phone,
                                   self.password)
Ejemplo n.º 6
0
    def init_registers(self):
        # 32 registers
        for i in range(32):
            self.registers.append(Register(i))

        # 14 conditional registers
        count = 0
        for val in CONDITIONS.values():
            self.condition_registers.update({val: Register(count, is_conditional=True)})
            reg = self.condition_registers[val]
            reg.data = Conditional(val)
            count += 1
Ejemplo n.º 7
0
    def __init__(self):
        """ Initialize with the base_type """
        self.PC = Register_With_History()
        
        self.DS = Register()
        self.CS = Register()
        self.ES = Register()
        
        self.PTOS = Register()
        self.RTOS = Register()

        self.PSP = Register()
        self.PSP.write(0xFF00)
        
        self.RSP = Register()
        self.RSP.write(0xFE00)

        self.INT_CTL_LOW = Register()
        # self.INT_CTL_LOW.write = self.special_write

        self._interrupt_pin = 0
        
        self._address_history = 10000 * [0x0000]
        
        self._break_point_list = dict()
        self._prev_break_point_address = 0x00000

        
        # set_opcodes()
        print "CPU has been initialized..."
 def _adjust_registers(self):
     # Register $zero
     self._set_regs("zero", 0)
     # at $at
     self._set_regs("at", 1)
     # $v
     self._set_regs('v0', 2)
     self._set_regs('v1', 3)
     # $a
     self._set_regs('a0', 4)
     self._set_regs('a1', 5)
     self._set_regs('a2', 6)
     self._set_regs('a3', 7)
     # $t
     self._set_regs('t0', 8)
     self._set_regs('t1', 9)
     self._set_regs('t2', 10)
     self._set_regs('t3', 11)
     self._set_regs('t4', 12)
     self._set_regs('t5', 13)
     self._set_regs('t6', 14)
     self._set_regs('t7', 15)
     # $s
     self._set_regs('s0', 16)
     self._set_regs('s1', 17)
     self._set_regs('s2', 18)
     self._set_regs('s3', 19)
     self._set_regs('s4', 20)
     self._set_regs('s5', 21)
     self._set_regs('s6', 22)
     self._set_regs('s7', 23)
     # $t
     self._set_regs('t8', 24)
     self._set_regs('t9', 25)
     # $k
     self._set_regs('k0', 26)
     self._set_regs('k1', 27)
     #$gp
     self.registers["gp"] = Register("gp")
     self.registers["gp"].binVal = self.registers["gp"].toBin(28)
     #$sp
     self.registers["sp"] = Register("sp")
     self.registers["sp"].binVal = self.registers["sp"].toBin(29)
     #$fp
     self.registers["fp"] = Register("fp")
     self.registers["fp"].binVal = self.registers["fp"].toBin(30)
     #$fp
     self.registers["ra"] = Register("ra")
     self.registers["ra"].binVal = self.registers["ra"].toBin(31)
Ejemplo n.º 9
0
    def __init__(self,
                 program,
                 pos,
                 name=None,
                 first=None,
                 second=None,
                 third=None,
                 imm=None,
                 label=None):
        name = name.lower()
        if name not in rType.keys() and \
           name not in iType.keys() and \
           name not in jType.keys():
            raise "'%s' is not a MIPS assembly command." % (name.lower())
        self.program = program
        self.pos = pos
        self.name = name

        self.rs = EmptyRegister()
        self.rt = EmptyRegister()
        self.rd = EmptyRegister()

        registers = (
          rType[name][-1] if name in rType else \
          iType[name][-1] if name in iType else \
          jType[name][-1]
        )

        rList = [x for x in [first, second, third] if x is not None]

        if len(registers) != len(rList):
            raise "'%s' requires %d registers." % (name, len(registers))

        for _, reg in zip(registers, rList):
            if _ == "rs":
                self.rs = Register(reg)
            if _ == "rd":
                self.rd = Register(reg)
            if _ == "rt":
                self.rt = Register(reg)

        if isinstance(imm, int):
            self.imm = imm
        else:
            self.imm = eval(imm) if imm is not None else 0
        self.label = label

        if imm is not None and self.label is not None:
            raise "Label and imm can't both exist."
Ejemplo n.º 10
0
def test_ban():
    reg = Register('Metropoliten1')
    time = TimeDuration.OneMonth
    c2 = reg.create_card(CardType.TimeLimit, time)
    reg.ban_card(c2.id)

    assert c2.id in reg.banned.keys()
Ejemplo n.º 11
0
def three_operation_code(p, cl):
    p[0] = NoneTerminal(p)
    reg = Register('real')
    p[0].place = reg.place
    temp1 = ''
    if p[2].place != '':
        temp1 = p[2].place
    else:
        temp1 = p[2].value
    # p[0].code = p[1].code + p[3].code +  p[0].place + " = " + p[1].value + " " + p[2] + " " + p[3].value() + ";\n"
    p[0].code = p[0].place + " = " + p[1] + temp1 +  ";"
    # if p[2].value!='':
    #     if p[1] == '~':
    #         p[0].value = str(~ int(p[2].value))
    #     elif p[1] == '-':
    #         p[0].value = str(- int(p[2].value))
    #     elif p[1] == '!':
    #         p2 = int(p[2].value)
    #         if p2 != 0:
    #             p[0].value = str(0)
    #         else:
    #             p[0].value = str(random.randint(1,30))
    #     print('++++')
    #     # print(p[0].value)
    cl.append(p[0].code)
Ejemplo n.º 12
0
 def __init__(self, size):
     self.registerList = []
     self.IntegisterList = []
     self.size = size
     register = Register("", 0)
     for i in range(size):
         self.registerList.append(register)
Ejemplo n.º 13
0
def index():
    mail = Mail(app)
    if request.method == "POST":
        Register(request, con, mail)
        return render_template('index.html')
    if request.method == "GET":
        return render_template('index.html')
Ejemplo n.º 14
0
 def directive_start(self,name,length,inicial):
     r = Register("H")
     self.list_registers_h = []
     register_h = r.make_H(name.upper(),length,inicial)
     self.list_registers_h.append(register_h)
     self.h_name = r.adjust_name(name.upper())
     del r
Ejemplo n.º 15
0
 def make_register_r(self,list_symb):
     r = Register("X")
     reg = "R"
     for l in list_symb:
         name = r.adjust_name(l)
         reg+=name
     self.list_registers_r.append(reg)
Ejemplo n.º 16
0
def add_user():
    if request.method == "GET":
        # user request form
        return render_template("add_user.html")
    elif request.method == "POST":

        form = request.form
        u = form["username"]
        e = form["email"]
        p = form["password"]

        exist_user = Register.objects(username=u).first()
        exist_mail = Register.objects(email=e).first()
        if exist_user != None:
            return "User already exist!"
        if exist_mail != None:
            return "Email already exist!"
        else:
            r = Register(username=u, email=e, password=p)

            r.save()
            message = Message("Chuc mung ban da dang ky thanh cong vao NGANH",
                              to=e)

            gmail.send(message)
        return "Chuc mung!! Ban da dang ky thanh cong"
Ejemplo n.º 17
0
 def __init__(self):
     self.operations = {
         'ADD':'18','ADDF':'58','ADDR':'90','AND':'40','CLEAR':'B4','COMP':'28',
         'COMPF':'88','DIV':'24','COMPR':'A0','DIVF':'64','DIVR':'9C','FIX':'C4',
         'FLOAT':'C0','HIO':'F4','J':'3C','JEQ':'30','JGT':'34','JLT':'38',
         'JSUB':'48','LDA':'00','LDB':'68','LDCH':'50','LDF':'70','LDL':'08','LDS':'6C',
         'LDT':'74','LDX':'04','LPS':'D0','MUL':'20','MULF':'60','MULR':'98','NORM':'C8',
         'OR':'44','RD':'D8','RMO':'AC','RSUB':'4C','SHIFTL':'A4','SHIFTR':'A8','SIO':'F0',
         'SSK':'EC','STA':'0C','STB':'78','STCH':'54','STF':'80','STI':'D4',
         'STL':'14','STS':'7C','STSW':'E8','STT':'84','STX':'10',
         'SUB':'1C','SUBF':'5C','SUBR':'94','SVC':'B0','TD':'E0','TIO':'F8','TIX':'2C',
         'TIXR':'B8','WD':'DC'            
     }
     self.d = Displacement()
     self.list_registers_h = []
     self.list_registers = []
     self.list_registers_m = []
     self.list_registers_r = []
     self.list_registers_e = []
     self.current_register = Register("T")
     self.registers = {"A":"0","X":"1","L":"2","CP":"8","SW":"9","B":"3","S":"4","T":"5","F":"6"}
     self.base = "1038H"
     self.m_register = []
     self.m_modif_register = []
     self.h_name = ""
     self.list_registers_d = []
     self.list_word_m = []
     self.list_op_m = []
Ejemplo n.º 18
0
    def parse_operands(operands: List[Operand], *args: OperandType):
        parsed_operands = []
        if len(operands) == 1:
            if not operands[0].type == OperandType.INTEGER:
                raise Exception(
                    f"Operand should be a {OperandType.INTEGER} but was a {operands[0].type}."
                )
            parsed_operands.append(Immediate(operands[0].value))

        elif len(operands) == 2:
            if not operands[1].type == OperandType.INTEGER:
                raise Exception(
                    f"Operand should be a {OperandType.INTEGER} but was a {operands[1].type}."
                )
            parsed_operands.append(Immediate(operands[1].value))
            if not operands[0].type == OperandType.REGISTER:
                raise Exception(
                    f"Operand should be a {OperandType.REGISTER} but was a {operands[0].type}."
                )
            parsed_operands.append(Register(operands[0].value))

        else:
            raise Exception(
                f"Should have either 1 or 2 operands but has {len(operands)}.")
        return parsed_operands
Ejemplo n.º 19
0
    def test_operations(intA, intB):
        from util import bits2int, int2bits
        from register import Register
        from bus import Bus

        A = Bus("A", 32)
        B = Bus("B", 32)
        C = Bus("C", 32)

        mir = Register("MIR", 36, None, None, None)

        alu = ALU(A, B, C, mir)

        wordSize = max(intA.bit_length(), intB.bit_length())
        A.val = int2bits(intA, wordSize)
        B.val = int2bits(intB, wordSize)

        print("A = binary({0}) -> {1}".format(intA, list(reversed(A.val))))
        print("B = binary({0}) -> {1}".format(intB, list(reversed(B.val))))
        print()

        for _, op in operations.items():
            mir.val = [0 for _ in range(16)
                       ] + op.bit_string + [0 for _ in range(16 + 6, 36)]

            alu.tick()

            sol = C.val

            print("f(A,B) = {0}".format(op.name))
            print("binary({0}) -> {1}".format(bits2int(sol),
                                              list(reversed(sol))))
            print()
Ejemplo n.º 20
0
    def startPrint(self):
        self.register = Register(self.DS, self.SHCP, self.STCP)
        # setting disable shutdown and sacan limit
        self.register.shift(0, '101100000111')
        self.register.shift(0, '110000000001')

        self.printLoop()
Ejemplo n.º 21
0
 def __init__(self):
     self.index = 0
     self.list_n = []
     self.conv = Convert()
     self.reg = Register("X")
     self.hexa = Hexadecimal()
     self.last_code = 0
Ejemplo n.º 22
0
 def get_msgcode(self):
     '''获取验证码'''
     self.host = self.env.get().strip()
     print(self.host)
     try:
         register = Register(self.host)
         self.text.config(state=NORMAL)
         results = register.get_msg_code()
         sendtime = str(results[2])[:4] + '.' + str(
             results[2])[4:6] + '.' + str(results[2])[6:8] + ' ' + str(
                 results[2])[8:10] + ':' + str(
                     results[2])[10:12] + ':' + str(results[2])[12:]
         self.text.insert(END, '\n\n手机号:%s\n' % results[3])
         self.text.insert(END, '发送时间:%s\n' % sendtime)
         self.text.insert(END, '验证码:%s\n' % results[0])
         self.text.insert(END, '短信密码:%s\n\n' % results[1])
         self.text.see(END)
         self.text.config(state=DISABLED)
     except:
         self.text.insert(END, '\n查看验证码失败!\n\n')
         self.text.see(END)
         index = float(self.text.index(INSERT))
         self.text.tag_add('code1', index - 2, index + 1)
         self.text.tag_config('code1', foreground='red')
         self.text.config(state=DISABLED)
Ejemplo n.º 23
0
    def __init__(self, mem, entry_point, stack_bottom):
        self.register = []
        self.mm_register = []
        self.xmm_register = []
        self.mem_stream = Stream(mem, entry_point)
        self.stopped = False
        self.flags = FlagsRegister()
        self.stack = Stack(mem, stack_bottom)
        self.fs = 0
        self.gs = 0
        for i in range(16):
            reg = Register()
            reg.write(0, [i, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF])
            reg.name = "reg #%d %s" % (i, Cpu.reg_names[i])
            self.register.append(reg)

        for i in range(32):
            reg = MMRegister()
            reg.name = "mm #%d" % i
            self.mm_register.append(reg)

        for i in range(32):
            reg = XMMRegister()
            reg.name = "xmm #%d" % i
            self.xmm_register.append(reg)
Ejemplo n.º 24
0
 def __init__(self, parent=None, mainwindow=None):
     super(Sign, self).__init__(parent)
     self.setupUi(self)
     self.main = mainwindow
     self.register = Register(self)
     self.passwd = Password(self)
     self.set_connect()
Ejemplo n.º 25
0
 def setUp(self):
     '''
     Set up method to run before each test cases.
     '''
     self.new_Register = Register("James", "Muriuki", "Jemo-Mruks",
                                  "0712345678", "*****@*****.**",
                                  "jMur463463",
                                  "Instagram")  # create register object
Ejemplo n.º 26
0
    def build(self):
        manager = ScreenManager()

        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))
        manager.add_widget(Register(name='register'))

        return manager
Ejemplo n.º 27
0
    def _startPrint(self, step, width, delay):
        self.register = Register(self.DS, self.SHCP, self.STCP)
        while self.now_layer < self.max_layer:
            i = self.now_layer * 2
            graph_slice = self.graph[i:i + width]

            # print to 8x8
            self.show8x8(graph_slice, sec=delay)
Ejemplo n.º 28
0
def create_register(first_name, last_name, username, number, email, password,
                    account_type):
    '''
    Function to create a new account
    '''
    new_register = Register(first_name, last_name, username, number, email,
                            password, account_type)
    return new_register
Ejemplo n.º 29
0
    def do_level_lookup(self, table_base_address, table_index,
                        input_addr_split):
        """Does a base + index descriptor lookup. Returns a tuple with the
        Register object representing the found descriptor and a
        Register object representing the the computed descriptor
        address.

        """
        n = input_addr_split
        # these Registers are overkill but nice documentation :).
        table_base = Register(table_base_address, base=(39, n))
        descriptor_addr = Register(base=(39, n), offset=(n - 1, 3))
        descriptor_addr.base = table_base.base
        descriptor_addr.offset = table_index
        descriptor_val = self.read_phys_dword(descriptor_addr.value)
        descriptor = Register(descriptor_val, dtype=(1, 0))
        return descriptor, descriptor_addr
 def __init__(self):
     self.output = []
     self.shift_register1 = Lfsr(input("seed for the first RFSR:"),[8,12,20,25])
     self.shift_register2 = Lfsr(input("seed for the second RFSR:"),[21,16,24,31])
     self.shift_register3 = Lfsr(input("seed for the third RFSR:"),[4,24,28,33])
     self.shift_register4 = Lfsr(input("seed for the fourth RFSR:"),[4,28,36,39])
     self.r1 = Register(input("seed for the register R1:"))
     self.r2 = Register(self.r1.output)
     self.t1 = InternalState()
     self.t2 = InternalState()
     self.adder1 = Adder()
     self.adder2 = Adder()
     self.iz = Iz()
     self.xor_iz_t2 = Xor([self.t2.output,self.iz.output])
     self.xor_t1_xor = Xor([self.t1.output,self.xor_iz_t2.output])
     self.xor_zt = Xor([self.shift_register1.output,self.shift_register2.output,
                     self.shift_register3.output,self.shift_register4.output,self.r1.least_significant()])