Moved overflow check to self._check_overflow.
Replaced af word register by two independent byte registers.
- Added the _msb (returns the most significant bit of a number) method.
- Added the _bitmask method. This method is used to limit results which are greater in size than a byte or a word.
- Added _zero, sign & _half_carry to test the result of an instruction.
- Added methods to update the status of available flags.
- Added NIBBLE_SIZE, BYTE_SIZE & WORD_SIZE constants.
- Deleted the _update_flags call in the execute method.
- Updated _instruction_logic for Pop & Push instructions as af is no longer a word register.
- Added blank line.
- Renamed _decode_instruction method to _decode_and_execute_opcode.
- Updated PopQQ, PopIX & PopIY as the af is register no longer a word register.
- Replaced _decode_instruction call by _decode_and_execute_opcode.
- Replaced _decode_instruction call by _decode_and_execute_opcode.
- Deleted old & unused code.
- Z80FlagsRegister now inherits from Z80Register.
- Renamed method _apply_register_bit_mask to _apply_bit_mask.
- Added new arithmetic instructions.
- Updated decoder now includes some new arithmetic instructions.
- Added new tests on arithmetic instructions.
- Updated .gitignore.
- Updated run method. Added ram load & pc initial address.
- Renamed reset() method to clear().
- Added cli & launcher modules.
- Updated .gitignore.
- The nth_bit method now returns 0x01 or 0x00 instead of True/False values.
- Added Arithmetic8Bit class. This class holds all the dictionaries with the registers involved in every 8 bit arithmetic instruction.
- The _instruction_logic from Add8Bit & Sub8Bit now accept a list of operands making these methods more re-usable in the classes that inherit from these classes.