f& Texas iNSiraJMENTS | ///. Интерфейс с внешними устройствами | ||
MOV. В | #00h, R15 ; | циклический байтовый | |
; | счётчик | ||
CALL | #sbit ; | отправить стартовую | |
; | посылку и адрес | ||
CALL | #sendzero ; | отправить «0» для | |
г | записи | ||
CALL | #ack ; | ждём подтверждения | |
г | (АСК) | ||
CALL | #sbyte ; | отправить код команды | |
CALL | #ack ; | ждём подтверждения | |
; | (АСК) | ||
MOV. В | 22 (SP), R8 ; | копировать счётчик | |
Г | байт | ||
CALL | #sbyte ; | отправить счётчик байт | |
CALL | #ack ; | ждём подтверждения | |
r | (АСК) | ||
blk rep | MOV. В | 0(R9) , R8 ; | передать данные |
; | из блока | ||
CALL | #sbyte ; | отправить байт данных | |
CALL | #ack ; | ждём подтверждения | |
r | (АСК) | ||
INC | R15 ; | инкремент счётчика | |
r | положения блока | ||
INC | R9 ; | инкремент указателя | |
; | блока | ||
CMP | 22 (SP), R15; | проверка завершения | |
; | данных | ||
JNZ | blk rep ; | повтор до завершения | |
CALL | #pblt ; | отправить стоповую | |
r | посылку | ||
MOV. В | #01h, 30(SP) | ; возвращает «1» при | |
r | успешном завершении |
POP | R13 |
POP | R12 |
POP | Rll |
POP | RIO |
POP | R15 |
POP | R14 |
POP | R9 |
POP | R8 |
POP | R7 |
POP | SR |
RET |