program module

class program.ASMProgram(filename: str, mode: ProgramMode)[source]

Bases: object

Assembler program class.

This class represents an assembly program with its mnemonics, registers, and generation capabilities.

__init__(filename: str, mode: ProgramMode) None[source]

Initialize an assembly program.

Parameters:
  • filename – Name of the output file

  • mode – Program mode (16/32/64 bit)

add_mnemonic(mnemonic: BaseMnemonic) None[source]

Add a mnemonic to the program.

Parameters:

mnemonic – The mnemonic to add

Raises:

TypeError – If mnemonic is not a BaseMnemonic instance

clear() None[source]

Clear all mnemonics from the program.

generate() str[source]

Generate the assembly program.

Returns:

Formatted assembly program as string

property mnemonics: list[BaseMnemonic]

Get list of mnemonics in the program.

property registers: BaseRegisterSet | None

Get assembly registers for current mode.

set_indent_level(level: int) None[source]

Set indentation level for program generation.

class program.ProgramMode(*values)[source]

Bases: Enum

Program modes with corresponding bit sizes.

BIT_16 = '16'
BIT_32 = '32'
BIT_64 = '64'
property bit_size: int

Get bit size as integer.