docs: def small_register_machine(rom_size = 50, ram_size = 200, flash_size = 500):
  	"""
  	An unprogrammend Register Machine with 
  
  	* one OutputRegister to ``sys.stdout`` (``out0``)
  	* 15 General Purpose Register (``r0 - r14``)
  
  	returns : ``(Processor, ROM, RAM, Flash)``
  	"""
  	rom = memory.ROM(rom_size)
  	ram = memory.RAM(ram_size)
  	flash = device.Flash(flash_size)
  
  	proc = processor.Processor()
  
  	proc.register_memory_device(rom)
  	proc.register_memory_device(ram)
  	proc.register_device(flash)
  
  	registers = [register.OutputRegister("out0", sys.stdout),
  		register.Register("r0"),
  		register.Register("r1"),
  		register.Register("r2"),
  		register.Register("r3"),
  		register.Register("r4"),
  		register.Register("r5"),
  		register.Register("r6"),
  		register.Register("r7"),
  		register.Register("r8"),
  		register.Register("r9"),
  		register.Register("r10"),
  		register.Register("r11"),
  		register.Register("r12"),
  		register.Register("r13"),
  		register.Register("r14")]
  
  	for r in registers:
  		proc.add_register(r)
  
  	for command in basic_commands:
  		proc.register_command(command)
  
  	return (proc, rom, ram, flash)