eight_bit_computer.assembly_validity module¶
Validity checks on the processed assembly lines
-
eight_bit_computer.assembly_validity.
check_structure_validity
(asm_line_infos, variable_start_offset)[source]¶ Check the processed assembly lines for consistency/correctness.
Parameters: asm_line_infos (list(dict)) – List of dictionaries (conforming to get_assembly_line_template()
) with information about all the lines in the assembly file.
-
eight_bit_computer.assembly_validity.
check_multiple_label_defs
(asm_line_infos)[source]¶ Check if the same label been defined more than once.
Parameters: asm_line_infos (list(dict)) – List of dictionaries (conforming to get_assembly_line_template()
) with information about all the lines in the assembly file.Raises: AssemblyError
– If the same label been defined more than once.
-
eight_bit_computer.assembly_validity.
check_multiple_label_assignment
(asm_line_infos)[source]¶ Check if a single line been assigned more than one label.
Parameters: asm_line_infos (list(dict)) – List of dictionaries (conforming to get_assembly_line_template()
) with information about all the lines in the assembly file.Raises: AssemblyError
– If a single line been assigned more than one label.
-
eight_bit_computer.assembly_validity.
check_undefined_label_ref
(asm_line_infos)[source]¶ Check if an operation is using a label that hasn’t been defined.
Parameters: asm_line_infos (list(dict)) – List of dictionaries (conforming to get_assembly_line_template()
) with information about all the lines in the assembly file.Raises: AssemblyError
– If an operation is using a label that hasn’t been defined.
-
eight_bit_computer.assembly_validity.
check_multiple_variable_def
(asm_line_infos)[source]¶ Has the same variable been defined multiple times.
Parameters: asm_line_infos (list(dict)) – List of dictionaries (conforming to get_assembly_line_template()
) with information about all the lines in the assembly file.Raises: AssemblyError
– If a variable has been defined more than once.
-
eight_bit_computer.assembly_validity.
check_num_variables
(asm_line_infos, variable_start_offset)[source]¶ Check there are more variables defined than will fit in data mem.
There are 255 bytes of data memory available and the start offset may eat into this.
Parameters: - asm_line_infos (list(dict)) – List of dictionaries (conforming to
get_assembly_line_template()
) with information about all the lines in the assembly file. - variable_start_offset (int) – How far in memory to offset when defining the first variable.
Raises: AssemblyError
– If there are more variables defined than will fit in data memory.- asm_line_infos (list(dict)) – List of dictionaries (conforming to
-
eight_bit_computer.assembly_validity.
check_num_instruction_bytes
(assembly_lines)[source]¶ Check there aren’t too many instruction_bytes.
Parameters: asm_line_infos (list(dict)) – List of dictionaries (conforming to get_assembly_line_template()
) with information about all the lines in the assembly file.Raises: AssemblyError
– If there are more instruction bytes than will fit in program memory.