Patron, Vamos -- спасибо за критику и вклад в проект.
Сейчас станции уже начинают пытаться переговариваться, но сбиваются.



При этом на принимающей станции выпадает в СТОП.

Загрузчик из сети в ПЗУ (спасибо Alex_K):
Код:
; Загрузчик из сети
164160$:MTPS	#340		; Запретить прерывания
	MOVB	@#176561,R5	; Выделение в R5 номера сетевой станции
	MOV	R5,R0
	BIC	#177760,R5
	ASR	R0
	BIC	#177717,R0
	BIS	R0,R5
	MOVB	R5,164556$	; Сохранение номера сетевой станции
	MOVB	164572$,R0	; R0 = 173(8)
	XOR	R5,R0		; R0 = 173(8) XOR номер_сетевой_станции
	MOVB	R0,164572$
	MOV	#30,R0		; R0 = 30 (адрес вектора команды EMT)
	MOV	#164500$-164160$+1000,(R0)+ ; Установка вектора прерывания EMT
	CLR	(R0)+		; Установка ССП при вызове EMT
	MOV	#164512$-164160$+1000,(R0)+ ; Установка вектора прерывания TRAP
	CLR	(R0)+		; Установка ССП при вызове TRAP
164244$:MOV	#10000,SP	; Установка указателя стека
	MOV	#164526$-164160$+1000,@#100 ; Устан. вект. прер. сет. таймера
	CLR	@#102
	MTPS	#0		; Разрешить прерывания
	CLR	164534$		; Очистка счетчика ожидания
164272$:TRAP	0		; Чтение пришедшего байта
	CMP	164534$,#5	; Счетчик ожидания больше пяти
	BLO	164272$		; Нет
164304$:EMT	0		; Посылка и чтение очередного байта
	CMPB	#376,R0		; Пришедший байт равен 376(8)
	BNE	164304$		; Нет
	MOV	#164554$-164160$+1000,R1 ; R1 = адрес блока передачи
164320$:MOVB	(R1)+,R0	; R0 = очередной байт из блока передачи
	CMPB	#376,R0		; Он равен 376(8) ?
	BEQ	164334$		; Да
	EMT	0		; Посылка и чтение очередного байта
	BR	164320$
164334$:EMT	0		; Посылка и чтение очередного байта
	CMPB	#377,R0		; Прочитанный байт равен 377(8) ?
	BNE	164334$		; Нет
	EMT	0		; Посылка и чтение очередного байта
	CMPB	R5,R0		; Полученный байт равен номеру станции ?
	BNE	164334$		; Нет
	MOV	#377,R4		; R4 = 377(8) (контрольная сумма)
	XOR	R0,R4		; R4 = 377(8) XOR номер_сетевой_станции
	MOV	#50000,R1	; R1 = адрес расположения загрузчика
	EMT	0		; Посылка и чтение очередного байта
	MOV	R0,R3		; R3 = считанный байт
	XOR	R0,R4		; Подсчет контрольной суммы
164372$:EMT	0		; Посылка и чтение очередного байта
	CMPB	#373,R0		; Считанный байт равен 373(8) ?
	BLOS	164410$		; Выше или равен 373(8)
	XOR	R0,R4		; Подсчет контрольной суммы
	MOVB	R0,(R1)+	; Передача принятого байта в память
	BR	164372$
164410$:BNE	164426$		; Принятый байт равен не равен 373(8)
	EMT	0		; Посылка и чтение очередного байта
	COM	R0		; Инверсия принятого байта
	XOR	R0,R4		; Подсчет контрольной суммы
	MOVB	R0,(R1)+	; Передача принятого байта в память
	COM	R0		; Инверсия для передачи
	BR	164372$
164426$:CMPB	#374,R0		; Принятый байт равен 374(8)
	BNE	164244$		; Нет
	EMT	0		; Посылка и передача байта
	CMPB	R0,R4		; Он равен контрольной сумме ?
	BNE	164244$		; Нет
	EMT	0		; Посылка и передача байта
	BISB	#10,R0		; R0 = R0 OR 10(8)
	EMT	0		; Посылка и передача байта
	CMPB	#377,R0		; Принятый байт равен 377(8)
	BNE	164244$		; Нет
	EMT	0		; Посылка и передача байта
	MOV	#4,@#176560	; Включение кольцевой сети
	MTPS	#340		; Запретить прерывания
	JMP	@#50000		; Переход на исполнение загрузчика
; Подпрограмма передачи байта в локальную сеть (исполнение команды EMT)
164500$:TSTB	@#176564	; Передатчик СА готов ?
	BPL	164500$		; Нет
	MOVB	R0,@#176566	; Передача байта в сеть
; Подпрограмма чтения байта, пришедшего по сети (исполнение команды TRAP)
164512$:TSTB	@#176560	; Приемник СА готов ?
	BPL	164512$		; Нет
	MOVB	@#176562,R0	; Прием байта из сети
	RTI
; Подпрограмма исполнения прерываний таймера
164526$:CLR	@#176560	; Включение режима загрузки
	INC	(PC)+		; Инкремент счетчика ожидания
164534$:.WORD	0
	CMP	164534$,#1000	; Счетчик ожидания превысил лимит времени ?
	BHI	164550$		; Да
	RTI
164550$:JMP	164244$
; Блок передачи в сеть
164554$:.BYTE	377,0,0,204,0,0,0,0,0,0,0,0,0,374,173,60,377,376,0,0