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

📄 time_server.asm

📁 主要介绍一些常用的关于TCP/IP的命令集,有助于工程人员快速地查阅
💻 ASM
字号:
*hit651 voice platform software
*=================== time_server.asm ========================
*2004.1.3 hit651


        .mmregs
		.include c54.inc
		.include ref.inc
		.include union.inc
		.include macro.inc
		.include netcard.inc
		.def timer0
        .ref ss
        .ref send_packet ,send_data,send_ack
  
        .text

*************************** timer0 ***************************        
timer0:		
		PSHM AL 
		PSHM AH
		PSHM AG
		PSHM AR1
		PSHM AR2
		PSHM AR3
		PSHM ST0


;test mc14lc5480 start 数据自环。
		CMPM *(bsp_in_frbuf_full_request),#0xffff
		BC aictest1,NTC
		STM #bsp_in_frbuf,AR2
		STM txdatabuf,AR3
		RPT #((mcbspbuf_len*2)-1)
		MVDD *AR2+,*AR3+
		ST #0,*(bsp_in_frbuf_full_request)
		ST #0,*(send_on)
		
;		STM #bsp_in_frbuf,AR2
;		STM rxdatabuf,AR3
;		RPT #((mcbspbuf_len*2)-1)
;		MVDD *AR2+,*AR3+
		
aictest1:
		CMPM *(recv_on),#0
		BC aictest2,TC
		
		CMPM *(bsp_out_frbuf_empty_request),#0xffff
		BC aictest2,NTC
		STM #bsp_out_frbuf,AR3
		
		CMPM *(rxdatabuf_p),#0
		BC first_load,TC
				
		CMPM *(rxdatabuf_p),#1
		BC second_load,TC
				
		CMPM *(rxdatabuf_p),#2
		BC thee_load,TC
		
first_load:
		STM #(rxdatabuf),AR2
		RPT #((mcbspbuf_len*2)-1)
		MVDD *AR2+,*AR3+
		ST #0,*(bsp_out_frbuf_empty_request)
		
		STM #(rxdatabuf),AR2
		RPT #(720-1)
		ST #0,*AR2+
		
		ST #0x100,*(ack_number)
		CALL send_ack
		ST #1,*(rxdatabuf_p)
		B aictest2
		
second_load:
		STM #(rxdatabuf+768),AR2
		RPT #((mcbspbuf_len*2)-1)
		MVDD *AR2+,*AR3+
		ST #0,*(bsp_out_frbuf_empty_request)
		
		STM #(rxdatabuf+768),AR2
		RPT #(720-1)
		ST #0,*AR2+
		
		ST #0x200,*(ack_number)
		CALL send_ack
		ST #2,*(rxdatabuf_p)
		B aictest2
		
thee_load:
		STM #(rxdatabuf+1536),AR2
		RPT #((mcbspbuf_len*2)-1)
		MVDD *AR2+,*AR3+
		ST #0,*(bsp_out_frbuf_empty_request)
		
		STM #(rxdatabuf+1536),AR2
		RPT #(720-1)
		ST #0,*AR2+
		
		ST #0x300,*(ack_number)
		CALL send_ack
		ST #0,*(rxdatabuf_p)
		B aictest2						
		
		
aictest2:
;test aic23 end

send_new_data:		
		CMPM *(send_on),#0xffff
		BC timer0_1,TC
		
timer0_2:
		CALL send_data
		ST #0xffff,*(send_on)

timer0_1:		
		CALL as8019_send
		
		ADDM #1,*(ss)
		CMPM *(ss),#3906
		BC timer0exit,NTC
		ST #0,*(ss)
		
		XORM #0x01,*(exoutport_map)
		PORTW *(exoutport_map),exoutport
		NOP
		NOP
		
timer0exit:
		POPM ST0
		POPM AR3
		POPM AR2
		POPM AR1
		POPM AG
		POPM AH
		POPM AL
		RET
*
**********************as8019_send************************
as8019_send:
		BITF *(txbuf_select),#0x01
		BC as8019_busy,TC	
		
		BITF *(txbuf_select),#0x80
		BC as8019_send_a,TC
		
		BITF *(txbuf_select),#0x40
		BC as8019_send_b,TC
		
		B as8019_exit
		
as8019_send_a:
		ADDM #1,*(a_count)
		ANDM #0x3fff,*(a_count)	
		ORM #0x20,*(txbuf_select)
		ANDM #0xfb,*(txbuf_select)
		WRITE 0x40,NET_REG_TPSR
		LD *(a_len),A
		AND #0xffff,A
		STL A,-8,*(send_packet_x)
		PORTW *(send_packet_x),NET_REG_TBCR1
		DELAY 20
		
		AND #0xff,A				
		STL A,*(send_packet_x)
		PORTW *(send_packet_x),NET_REG_TBCR0
		DELAY 20
		B as8019_send_data
as8019_send_b:
		ADDM #1,*(b_count)
		ANDM #0x3fff,*(b_count)	
		ORM #0x10,*(txbuf_select)
		ORM #0x04,*(txbuf_select)
		WRITE 0x46,NET_REG_TPSR
		LD *(b_len),A
		AND #0xffff,A
		STL A,-8,*(send_packet_x)
		PORTW *(send_packet_x),NET_REG_TBCR1
		DELAY 20
		
		AND #0xff,A				
		STL A,*(send_packet_x)
		PORTW *(send_packet_x),NET_REG_TBCR0
		DELAY 20	
as8019_send_data:	
		
		ORM #0x01,*(txbuf_select)
		WRITE 0x3e,NET_REG_CR
		B as8019_exit
;-------------------------------------------------------
as8019_busy:
		PORTR NET_REG_TSR,*(send_packet_x)
		BITF *(send_packet_x),#0x01
		STM txbuf_select,AR1
		BC as8019_exit, NTC
		
		BITF *AR1,#0x20
		nop
		nop
		XC 2,TC
		ANDM #0x5f,*AR1
		
		BITF *AR1,#0x10
		nop
		nop
		XC 2,TC
		ANDM #0xaf,*AR1
		
		ANDM #0xfe,*AR1
		
as8019_exit:
		RET

		.end

⌨️ 快捷键说明

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