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

📄 tcp.s

📁 AVR单片机系统开发经典实例部分源程序
💻 S
📖 第 1 页 / 共 5 页
字号:
	cpi R20,4
	ldi R30,0
	cpc R21,R30
	breq L97
	cpi R20,5
	ldi R30,0
	cpc R21,R30
	breq L98
	cpi R20,6
	ldi R30,0
	cpc R21,R30
	breq L99
	cpi R20,7
	ldi R30,0
	cpc R21,R30
	breq L100
	cpi R20,8
	ldi R30,0
	cpc R21,R30
	breq L101
	cpi R20,9
	ldi R30,0
	cpc R21,R30
	breq L102
	cpi R20,10
	ldi R30,0
	cpc R21,R30
	breq L103
	xjmp L90
X7:
	.dbline 273
; 	{
L93:
	.dbline 274
; 		case TCP_CLOSED			:	SendDebugRStr(tcp_str23);
	ldi R16,<_tcp_str23
	ldi R17,>_tcp_str23
	xcall _SendDebugRStr
	.dbline 275
; 									break;
	xjmp L91
L94:
	.dbline 276
; 		case TCP_LISTEN			:	SendDebugRStr(tcp_str24);
	ldi R16,<_tcp_str24
	ldi R17,>_tcp_str24
	xcall _SendDebugRStr
	.dbline 277
; 									break;
	xjmp L91
L95:
	.dbline 278
; 		case TCP_SYN_SENT		:	SendDebugRStr(tcp_str25);
	ldi R16,<_tcp_str25
	ldi R17,>_tcp_str25
	xcall _SendDebugRStr
	.dbline 279
; 									break;
	xjmp L91
L96:
	.dbline 280
; 		case TCP_SYN_RECEIVED	:	SendDebugRStr(tcp_str26);
	ldi R16,<_tcp_str26
	ldi R17,>_tcp_str26
	xcall _SendDebugRStr
	.dbline 281
; 									break;
	xjmp L91
L97:
	.dbline 282
; 		case TCP_ESTABLISHED	:	SendDebugRStr(tcp_str27);
	ldi R16,<_tcp_str27
	ldi R17,>_tcp_str27
	xcall _SendDebugRStr
	.dbline 283
; 									break;
	xjmp L91
L98:
	.dbline 284
; 		case TCP_FIN_WAIT_1		:	SendDebugRStr(tcp_str28);
	ldi R16,<_tcp_str28
	ldi R17,>_tcp_str28
	xcall _SendDebugRStr
	.dbline 285
; 									break;
	xjmp L91
L99:
	.dbline 286
; 		case TCP_FIN_WAIT_2		:	SendDebugRStr(tcp_str29);
	ldi R16,<_tcp_str29
	ldi R17,>_tcp_str29
	xcall _SendDebugRStr
	.dbline 287
; 									break;
	xjmp L91
L100:
	.dbline 288
; 		case TCP_CLOSE_WAIT		:	SendDebugRStr(tcp_str30);
	ldi R16,<_tcp_str30
	ldi R17,>_tcp_str30
	xcall _SendDebugRStr
	.dbline 289
; 									break;
	xjmp L91
L101:
	.dbline 290
; 		case TCP_CLOSING		:	SendDebugRStr(tcp_str31);
	ldi R16,<_tcp_str31
	ldi R17,>_tcp_str31
	xcall _SendDebugRStr
	.dbline 291
; 									break;
	xjmp L91
L102:
	.dbline 292
; 		case TCP_LAST_ACK		:	SendDebugRStr(tcp_str32);
	ldi R16,<_tcp_str32
	ldi R17,>_tcp_str32
	xcall _SendDebugRStr
	.dbline 293
; 									break;
	xjmp L91
L103:
	.dbline 294
; 		case TCP_TIME_WAIT		:	SendDebugRStr(tcp_str33);
	ldi R16,<_tcp_str33
	ldi R17,>_tcp_str33
	xcall _SendDebugRStr
	.dbline 295
; 									break;
	xjmp L91
L90:
	.dbline 296
	ldi R16,<_tcp_str34
	ldi R17,>_tcp_str34
	xcall _SendDebugRStr
	.dbline 297
L91:
	.dbline -2
L85:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r Socket 20 pS[TTCPSocket]
	.dbend
	.dbfunc e TCP_DisplaySocketState _TCP_DisplaySocketState fV
;         Socket -> R20,R21
	.even
_TCP_DisplaySocketState::
	xcall push_gset1
	movw R20,R16
	sbiw R28,4
	.dbline -1
	.dbline 302
; 		default					:	SendDebugRStr(tcp_str34);
; 									break;
; 	}
; }
; 
; void TCP_DisplaySocketState(T_TCP_Socket *Socket)
; {
	.dbline 303
; 	if (Socket == NULL) return;
	cpi R20,0
	cpc R20,R21
	brne L105
X8:
	.dbline 303
	xjmp L104
L105:
	.dbline 305
; 
; 	TCP_DisplaySocketStage(Socket);
	movw R16,R20
	xcall _TCP_DisplaySocketStage
	.dbline 307
; 
; 	SendDebugStr("\n");
	ldi R16,<L56
	ldi R17,>L56
	xcall _SendDebugStr
	.dbline 309
; 
; 	SendDebugRStr(TCP_Str50);
	ldi R16,<_TCP_Str50
	ldi R17,>_TCP_Str50
	xcall _SendDebugRStr
	.dbline 310
; 	sprintf((char*)ScratchPad, "%lums\n", u32_Get(&Socket->ConnectTime));
	movw R16,R20
	subi R16,255  ; offset = 1
	sbci R17,255
	xcall _u32_Get
	std y+0,R16
	std y+1,R17
	std y+2,R18
	std y+3,R19
	ldi R18,<L107
	ldi R19,>L107
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 311
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 313
; 
; 	SendDebugRStr(TCP_Str51);
	ldi R16,<_TCP_Str51
	ldi R17,>_TCP_Str51
	xcall _SendDebugRStr
	.dbline 314
; 	sprintf((char*)ScratchPad, "%lums\n", u32_Get(&Socket->LastRxData));
	movw R16,R20
	subi R16,251  ; offset = 5
	sbci R17,255
	xcall _u32_Get
	std y+0,R16
	std y+1,R17
	std y+2,R18
	std y+3,R19
	ldi R18,<L107
	ldi R19,>L107
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 315
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 317
; 
; 	SendDebugRStr(TCP_Str52);
	ldi R16,<_TCP_Str52
	ldi R17,>_TCP_Str52
	xcall _SendDebugRStr
	.dbline 318
; 	sprintf((char*)ScratchPad, "%u\n", Socket->TheirMaxSegSize);
	movw R30,R20
	ldd R2,z+14
	ldd R3,z+15
	std y+1,R3
	std y+0,R2
	ldi R18,<L82
	ldi R19,>L82
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 319
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 321
; 
; 	SendDebugRStr(TCP_Str53);
	ldi R16,<_TCP_Str53
	ldi R17,>_TCP_Str53
	xcall _SendDebugRStr
	.dbline 322
; 	sprintf((char*)ScratchPad, "%lu\n", Socket->TheirSequenceNum);
	movw R30,R20
	ldd R2,z+16
	ldd R3,z+17
	ldd R4,z+18
	ldd R5,z+19
	std y+0,R2
	std y+1,R3
	std y+2,R4
	std y+3,R5
	ldi R18,<L108
	ldi R19,>L108
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 323
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 325
; 
; 	SendDebugRStr(TCP_Str54);
	ldi R16,<_TCP_Str54
	ldi R17,>_TCP_Str54
	xcall _SendDebugRStr
	.dbline 326
; 	sprintf((char*)ScratchPad, "%lu\n", Socket->OurSequenceNum);
	movw R30,R20
	ldd R2,z+22
	ldd R3,z+23
	ldd R4,z+24
	ldd R5,z+25
	std y+0,R2
	std y+1,R3
	std y+2,R4
	std y+3,R5
	ldi R18,<L108
	ldi R19,>L108
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 327
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 329
; 
; 	SendDebugRStr(TCP_Str55);
	ldi R16,<_TCP_Str55
	ldi R17,>_TCP_Str55
	xcall _SendDebugRStr
	.dbline 330
; 	sprintf((char*)ScratchPad, "%u\n", Socket->TheirWindowSize);
	movw R30,R20
	ldd R2,z+20
	ldd R3,z+21
	std y+1,R3
	std y+0,R2
	ldi R18,<L82
	ldi R19,>L82
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 331
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 333
; 
; 	SendDebugRStr(TCP_Str56);
	ldi R16,<_TCP_Str56
	ldi R17,>_TCP_Str56
	xcall _SendDebugRStr
	.dbline 334
; 	sprintf((char*)ScratchPad, "%d\n", Socket->OurLastBytesSent);
	movw R30,R20
	ldd R2,z+26
	ldd R3,z+27
	std y+1,R3
	std y+0,R2
	ldi R18,<L109
	ldi R19,>L109
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 335
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 337
; 
; 	SendDebugRStr(TCP_Str57);
	ldi R16,<_TCP_Str57
	ldi R17,>_TCP_Str57
	xcall _SendDebugRStr
	.dbline 338
; 	IP_Str((char*)ScratchPad, Socket->RemoteIP.ip32);
	movw R30,R20
	ldd R2,z+28
	ldd R3,z+29
	ldd R4,z+30
	ldd R5,z+31
	std y+0,R4
	std y+1,R5
	movw R18,R2
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _IP_Str
	.dbline 339
; 	strcat((char*)ScratchPad, "\n");
	ldi R18,<L56
	ldi R19,>L56
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _strcat
	.dbline 340
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 342
; 
; 	SendDebugRStr(TCP_Str58);
	ldi R16,<_TCP_Str58
	ldi R17,>_TCP_Str58
	xcall _SendDebugRStr
	.dbline 343
; 	sprintf((char*)ScratchPad, "%u\n", Socket->RemotePort);
	movw R30,R20
	ldd R2,z+32
	ldd R3,z+33
	std y+1,R3
	std y+0,R2
	ldi R18,<L82
	ldi R19,>L82
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 344
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 346
; 
; 	SendDebugRStr(TCP_Str59);
	ldi R16,<_TCP_Str59
	ldi R17,>_TCP_Str59
	xcall _SendDebugRStr
	.dbline 347
; 	sprintf((char*)ScratchPad, "%u\n", Socket->LocalPort);
	movw R30,R20
	ldd R2,z+34
	ldd R3,z+35
	std y+1,R3
	std y+0,R2
	ldi R18,<L82
	ldi R19,>L82
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 348
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 350
; 
; 	SendDebugRStr(TCP_Str60);
	ldi R16,<_TCP_Str60
	ldi R17,>_TCP_Str60
	xcall _SendDebugRStr
	.dbline 351
; 	sprintf((char*)ScratchPad, "%ums\n", Socket->RoundTripTime);
	movw R30,R20
	ldd R2,z+36
	ldd R3,z+37
	std y+1,R3
	std y+0,R2
	ldi R18,<L110
	ldi R19,>L110
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 352
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 354
; 
; 	SendDebugRStr(TCP_Str61);
	ldi R16,<_TCP_Str61
	ldi R17,>_TCP_Str61
	xcall _SendDebugRStr
	.dbline 355
; 	sprintf((char*)ScratchPad, "%u\n", Socket->Retries);
	movw R30,R20
	ldd R2,z+38
	clr R3
	std y+1,R3
	std y+0,R2
	ldi R18,<L82
	ldi R19,>L82
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 356
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 358
; 
; 	SendDebugRStr(TCP_Str62);
	ldi R16,<_TCP_Str62
	ldi R17,>_TCP_Str62
	xcall _SendDebugRStr
	.dbline 359
; 	sprintf((char*)ScratchPad, "%ums\n", u16_Get(&Socket->Retry_Timer));
	movw R16,R20
	subi R16,217  ; offset = 39
	sbci R17,255
	xcall _u16_Get
	std y+1,R17
	std y+0,R16
	ldi R18,<L110
	ldi R19,>L110
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 360
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 362
; 
; 	SendDebugRStr(TCP_Str63);
	ldi R16,<_TCP_Str63
	ldi R17,>_TCP_Str63
	xcall _SendDebugRStr
	.dbline 363
; 	sprintf((char*)ScratchPad, "%d\n", Socket->TxBufferRd);
	movw R30,R20
	subi R30,215  ; addi 553
	sbci R31,253
	ldd R2,z+0
	ldd R3,z+1
	std y+1,R3
	std y+0,R2
	ldi R18,<L109
	ldi R19,>L109
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 364
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 366
; 
; 	SendDebugRStr(TCP_Str64);
	ldi R16,<_TCP_Str64
	ldi R17,>_TCP_Str64
	xcall _SendDebugRStr
	.dbline 367
; 	sprintf((char*)ScratchPad, "%d\n", Socket->TxBufferWr);
	movw R30,R20
	subi R30,213  ; addi 555
	sbci R31,253
	ldd R2,z+0
	ldd R3,z+1
	std y+1,R3
	std y+0,R2
	ldi R18,<L109
	ldi R19,>L109
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 368
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 370
; 
; 	SendDebugRStr(TCP_Str65);
	ldi R16,<_TCP_Str65
	ldi R17,>_TCP_Str65
	xcall _SendDebugRStr
	.dbline 371
; 	sprintf((char*)ScratchPad, "%d\n", Socket->RxBufferRd);
	movw R30,R20
	subi R30,211  ; addi 1069
	sbci R31,251
	ldd R2,z+0
	ldd R3,z+1
	std y+1,R3
	std y+0,R2
	ldi R18,<L109
	ldi R19,>L109
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 372
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline 374
; 
; 	SendDebugRStr(TCP_Str66);
	ldi R16,<_TCP_Str66
	ldi R17,>_TCP_Str66
	xcall _SendDebugRStr
	.dbline 375
; 	sprintf((char*)ScratchPad, "%d\n", Socket->RxBufferWr);
	movw R30,R20
	subi R30,209  ; addi 1071
	sbci R31,251
	ldd R2,z+0
	ldd R3,z+1
	std y+1,R3
	std y+0,R2
	ldi R18,<L109
	ldi R19,>L109
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _sprintf
	.dbline 376
; 	SendDebugStr((char*)ScratchPad);
	ldi R16,<_ScratchPad
	ldi R17,>_ScratchPad
	xcall _SendDebugStr
	.dbline -2
L104:
	adiw R28,4

⌨️ 快捷键说明

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