⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 telnet.asm

📁 web51的开发库
💻 ASM
字号:
.nolist.include	"param.inc".include	"8019.inc".list	.global	telnet	.global	close_telnet	.text	.using	0telnet:;;send max. data_len bytes to serial line	mov	a,data_len+1	;LSB	mov	workreg+3,a	;LSB	mov	workreg+2,data_len	;MSB	orl	a,data_len	;MSB	jz	sendTelnetDtatgetbuf:	mov	Timeout1,#ethtiming	;restart retry timer;;  Retry1   = ETHRETRY1;	mov	Retry1,#ETHRETRY1	setb	flag1retry		;; NEW data in packet, send delayed Ack	LCALL   pcode;;  copy_r2s (buf, data_addr, sizeof(buf));      	.pcode pr2s BYTE buf, @data_addr, #BYTE sizeofbuf	;copy telnet data;;  data_addr += sizeof(buf);      	.pcode paddwi BYTE data_addr, #BYTE sizeofbuf	.byte 0	mov	R0,#buf-1tnxtin:inc	R0	mov	a,#(buf + sizeofbuf)	xrl	a,R0	jz	tgetbuf	mov	a,data_len	jnz	tdata	mov	a,data_len+1	jnz	tdata	sjmp	tallsendtdata:	mov	a,@r0	lcall	xputchar	jz	ttimeout;;  data_len--;	mov	a,data_len+1	; LSB	dec	a	mov	data_len+1,a	cjne	A,#0xFF,sndx	dec	data_len	; MSBsndx:;; FULL DUPLEX	MOV	A,tcpWritePointer	; MSB	anl	A,#0xFC			; send data only 					; if tcpWritePointer < 0x0400	jnz	tnxtin;; FULL DUPLEX = jsou-li v bufferu nejaka data vysli je	jnb	rxint,tnxtin	push	ar0	lcall	getchar	lcall	sendchar	pop	ar0	sjmp	tnxtinttimeout:;; workreg -= data_len;	mov	r0,#workreg+3	clr	C	mov	a,@r0	subb	a,data_len+1	mov	@r0,a	dec	r0	mov	a,@r0	subb	a,data_len	mov	@r0,atallsend:; Acknowledge only processed data;;  tx_eth_pkt.pkt.ip.ipdata.tcp.tcpheader.Ack =;;    rcvSeq + sendbytes;	mov	R7,workreg+3	;LSB	mov	R6,workreg+2	;MSB      	lcall	AckBytessendTelnetDta:	MOV	A,tcpWritePointer	; MSB	anl	A,#0xFC			; send data only 					; if tcpWritePointer < 0x0400	jnz	tnodata;; jsou-li v bufferu nejaka data vysli je	jnb	rxint,tnodata	lcall	getchar	lcall	sendchar	sjmp	sendTelnetDtatnodata:	retKillTelnetChar:	lcall	getcharclose_telnet:	;kill all chars in serial queue	jb	rxint,KillTelnetChar	jnb	xonxoff, KillT1	;restart serial line	clr	flagtxoff	clr	xoffrq	setb	xonrq		;request send XONKillT1:	ret;******************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -