串行口中斷服務(wù)程序自發(fā)自收數(shù)據(jù),初始時發(fā)送數(shù)據(jù)個數(shù)在NUM變量,發(fā)送數(shù)據(jù)塊首地址在TXBUF變量,接收數(shù)據(jù)塊首地址在RXBUF變量。請寫出號碼處語句的操作和在程序中的作用。
AL EQU 26H NUM EQU 28H
SPTEMP EQU 30H ;注:SBUF
EQU 07H
TXBUF EQU 32H ;注:JBS
若指定位=1 跳轉(zhuǎn)
RXBUF EQU 34H ;注:JBC
若指定位=0 跳轉(zhuǎn)
Sp_int:
PUSHF ;①
LDB SPTEMP, SPSTAT ;
JBS SPTEMP , 5, TX ;
Next:
JBS SPTEMP , 6, RX ;
Return:
CLRB SPTEMP
POPF
RET
Tx:
DECB NUM ;
JE next ;②
LDB SBUF, [TXBUF]+ ;③
SJMP next ;④
rx:
JBS SPTEMP, 7, return ;
LDB AL, SBUF ;⑤
STB AL, [RXBUF] ;
SJMP return
感謝回答 |