eight_bit_computer.operations.push_op module¶
The PUSH operation.
Decrements PS, then stores a value from a module into memory at the new value of SP.
This uses the ALU but the flags generated are not stored.
-
eight_bit_computer.operations.push_op.
generate_signatures
()[source]¶ Generate the definitions of all possible arguments passable.
Returns: All possible arguments. See get_arg_def_template()
for more information.Return type: list(list(dict))
-
eight_bit_computer.operations.push_op.
generate_microcode_templates
()[source]¶ Generate microcode for all the PUSH operations.
Returns: DataTemplates for all the PUSH microcode. Return type: list(DataTemplate)
-
eight_bit_computer.operations.push_op.
generate_operation_templates
(signature)[source]¶ Create the DataTemplates to define a PUSH with the given args.
Parameters: signature (list(dict)) – List of argument definitions that specify which particular not operation to generate templates for. Returns: Datatemplates that define this push. Return type: list(DataTemplate)
-
eight_bit_computer.operations.push_op.
generate_instruction_byte_bitdefs
(signature)[source]¶ Generate bitdefs to specify the instruction byte for these args.
Parameters: signature (list(dict)) – List of argument definitions that specify which particular not operation to generate the instruction byte bitdefs for. Returns: Bitdefs that make up the instruction_byte Return type: list(str)
-
eight_bit_computer.operations.push_op.
parse_line
(line)[source]¶ Parse a line of assembly code to create machine code byte templates.
If a line is not identifiably an PUSH assembly line, return an empty list instead.
Parameters: line (str) – Assembly line to be parsed. Returns: List of instruction byte template dictionaries or an empty list. Return type: list(dict)