def get_global_register_bitsets(self, register_addresses):  
register_bitsets = []<EOL>for register_address in register_addresses:<EOL><INDENT>register_objects = self.get_global_register_objects(addresses=register_address)<EOL>register_bitset = bitarray(<NUM_LIT:16>, endian='<STR_LIT>')  <EOL>register_bitset.setall(<NUM_LIT:0>)<EOL>register_littleendian = False<EOL>for register_object in register_objects:<EOL><INDENT>if register_object['<STR_LIT>']:  <EOL><INDENT>register_littleendian = True<EOL><DEDENT>if (<NUM_LIT:16> * register_object['<STR_LIT:address>'] + register_object['<STR_LIT>'] < <NUM_LIT:16> * (register_address + <NUM_LIT:1>) and <NUM_LIT:16> * register_object['<STR_LIT:address>'] + register_object['<STR_LIT>'] + register_object['<STR_LIT>'] > <NUM_LIT:16> * register_address):<EOL><INDENT>reg = bitarray_from_value(value=register_object['<STR_LIT:value>'], size=register_object['<STR_LIT>'])<EOL>if register_object['<STR_LIT>']:<EOL><INDENT>reg.reverse()<EOL><DEDENT><DEDENT><DEDENT><DEDENT>er_bitset[max(<NUM_LIT:0>, <NUM_LIT:16> * (register_object['<STR_LIT:address>'] - register_address) + register_object['<STR_LIT>']):min(<NUM_LIT:16>, <NUM_LIT:16> * (register_object['<STR_LIT:address>'] - register_address) + register_object['<STR_LIT>'] + register_object['<STR_LIT>'])] |= reg[max(<NUM_LIT:0>, <NUM_LIT:16> * (register_address - register_object['<STR_LIT:address>']) - register_object['<STR_LIT>']):min(register_object['<STR_LIT>'], <NUM_LIT:16> * (register_address - register_object['<STR_LIT:address>'] + <NUM_LIT:1>) - register_object['<STR_LIT>'])]  <EOL><INDENT>register_bitset[max(<NUM_LIT:0>, <NUM_LIT:16> - <NUM_LIT:16> * (register_object['<STR_LIT:address>'] - register_address) - register_object['<STR_LIT>'] - register_object['<STR_LIT>']):min(<NUM_LIT:16>, <NUM_LIT:16> - <NUM_LIT:16> * (register_object['<STR_LIT:address>'] - register_address) - register_object['<STR_LIT>'])] |= reg[max(<NUM_LIT:0>, register_object['<STR_LIT>'] - <NUM_LIT:16> - <NUM_LIT:16> * (register_address - register_object['<STR_LIT:address>']) + register_object['<STR_LIT>']):min(register_object['<STR_LIT>'], register_object['<STR_LIT>'] + <NUM_LIT:16> - <NUM_LIT:16> * (register_address - register_object['<STR_LIT:address>'] + <NUM_LIT:1>) + register_object['<STR_LIT>'])]  <EOL>
Calculating register bitsets from register addresses.

        Usage: get_global_register_bitsets([regaddress_1, regaddress_2, ...])
        Receives: list of register addresses
        Returns: list of register bitsets