串行口中斷服務程序自發自收數據,初始時發送數據個數在NUM變量,發送數據塊首地址在TXBUF變量,接收數據塊首地址在RXBUF變量。請寫出號碼處語句的操作和在程序中的作用。
AL EQU 26H NUM EQU 28H
SPTEMP EQU 30H ;注:SBUF
EQU 07H
TXBUF EQU 32H ;注:JBS
若指定位=1 跳轉
RXBUF EQU 34H ;注:JBC
若指定位=0 跳轉
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
感謝回答 |