INSiraJMENTS


///. Интерфейс с внешними устройствами


 


PUSH R13

MOV.В #00h, R15

MOV.В 26(SP), R8

MOV.В 28(SP), R7

MOV 24(SP), R9

CALL #sbit

CALL tsendzero

CALL #ack

CALL #sbyte

CALL #ack

CALL #rsbit

CALL CALL CALL MOV. В

#sendone #ack

#rbyte R14, 22 (SP)

CALL #sack

 

rblk rep CALL MOV. В #rbyte R14, 0(R9)
  INC R15
  INC R9
  CMP 22 (SP), R15
  JZ CALL blk done #sack
  CMP 22 (SP), R15
blk done JNZ CALL rblk rep #nack

циклический байтовый

счётчик

параметр команды

параметр адреса

стартовый адрес блока

отправить стартовую

посылку и адрес

отправить «О» для

записи

ждём подтверждения

(АСК)

отправить код команды

ждём подтверждения

(АСК)

отправить повторяющие­ся стартовую посылку и адрес

отправить «1» для чтения ждём подтверждения

(АСК)

поместить счётчик в стек

отправить подтвержде­ние (АСК)

принять байт данных переместить данные из блока

инкремент счётчика положения блока инкремент указателя блока

проверка завершения данных

повтор до завершения отправить подтвержде­ние (АСК)

проверка завершения данных

повтор до завершения отправить неподтверж­дение (NACK)