Продолжение..
Теперь немного посвещу в теорию написания самой "прошивки" для робота.
Всё не так сложно как кажется. В самой программе реализован микропроцессор который обрабатывает ваши команды, работает над регистрами и т.п.
Суть проста: на ваше усмотрение предоставляется набор регистров от 0-200.
Думаю, что 200 регистров куда более достаточно. Регистры от 201 до 255 считаются служебными, тоесть пользуются самим процессором под всевозможные флаги. каждый регистр это однобайтовый код 0х00,0x01,0x02 .. 0xFF.
Каждая команда это тоже однобайтовый код.
Данные которые вы хотите использовать в своей прошивке рассматриваются как двухбайтовое число.
Например мнемонический код:
move r2,r1
Будет выглядеть как: (move r2,r1 - содержимое регистра r1 присвается регистру r2. Команда move имеет код 0xAA ) - AA 02 01
Таким образом мы видим, что полученный в результате этих действий код, заставляет процессор программы выполнять инструкции которые мы хотим получить. В результате этих действий процессор программы хранит у себя в памяти значения регистров. В дальнейшем коде нашей "прошивки" мы можем воспользоваться этими регистрами на своё усмотрение.
Например мнемонический код:
movedata r1,255 ;имеет код операции AD
move r2,r1
Код прошивки:
AD 01 00 FF AA 02 01
Продолжение следует...