Раздел: Документация
0 ... 34 35 36 37 38 39 40 ... 55 prgrsds.asm OUTBYTE macro ; Байт в Ы local MET1.MET3 mov dx,3fdh MET1: in al,dx test al,20h ; Проверка вх. буфера в машине(transmitter empty) jz MET1 mov al.bl mov dx,3f8h out dx.al ; Вывод байта mov dx,3fdh MET3: in al,dx test al,40h ; Transm. holding reg. empty. OK to send, jz MET3 endm PROGRAM segment org lOOh assume cs:PROGRAM,ds:PROGRAM,es:PROGRAM,ss:PROGRAM START: push bp mov bp,sp push es push ds lesdi, [bp+6] movdx, ds : [0] movds,dx movsi,es : [di + 2] movcx,es:[di] andcx,7fffh ; Длина в cx Передача файла по послед, порту mov Ы,с1 OUTBYTE mov bl,ch OUTBYTE MET: mov bl,byte ptr [si] OUTBYTE; Байт в Ы inc si loop MET pop ds pop es pop bp PROGRAM ends end START Программа 4 Inline-подпрограммы П/п передачи файла из компьютера в программатор по С0М1 без передачи ее длины. sub RECO inline $inline "prgrsds.com" end sub Инициализация порта els Установка скорости 9600*12 бод OUT &H3FB,bH80 OUT &H3F8,12 1-115200 ,2-57600, 3-38400, 4-28800, 6-19200, 12-9600. OUT &H3F9,0 Установка режима OUT SH3FB,SH03 1 стоп-бит,8бит,нет паритета out Sh3f9,0 Запрет всех прерываний по порту 3f8h Инициализация микроконтроллера out Sh3fc,0Установка RTS=-9b, DTR=-9b. print "3fc=0: PSEN=1,RST=1 - Общий сброс" xxxx xx00 RTS--*A--DTR delay .3 A%=INP(&H3F8) Холостой ввод out bh3fc,2 Установка RTS=9b, DTR=-9b. print "3fc=2: PSEN=0,RST=1 - Условия для загрузки" 0 ... 34 35 36 37 38 39 40 ... 55
|