亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? picnic.asm

?? PIC單片機(jī)實(shí)現(xiàn)的一種網(wǎng)絡(luò)單片機(jī)
?? ASM
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
;
;  Disassembly by PICDIS V0.3
;  www.picemulator.com
;
;  PICNIC.HEX
;
	__CONFIG _CP_OFF & _WDT_OFF & _HS_OSC & _BODEN_ON & _PWRTE_ON

        LIST   P=PIC16F877
        INCLUDE "P16F877.INC"
        INCLUDE "defs.inc"
;
        ORG     0x0000
;
Begin:
        MOVLW   HIGH Start
        MOVWF   PCLATH
        GOTO    Start & 0x7ff
;
        ORG     0x0004
;
interrupt:
        MOVWF   w_save
        SWAPF   STATUS,W
        CLRF    STATUS
        MOVWF   status_save
        MOVF    PCLATH,W
        MOVWF   pclath_save
        CLRF    PCLATH
        BCF     STATUS,IRP
        MOVF    FSR,W
        MOVWF   fsr_save

;-----------------------------------------------------------------------------------
;		◆RB0中斷處理
        BTFSS   INTCON,INTE
        GOTO    int_next2
        BTFSS   INTCON,INTF
        GOTO    int_next2
        BCF     INTCON,INTF
        BSF     STATUS,RP0
        BSF     STATUS,RP1
        BSF     on_flow,7			; 232數(shù)據(jù)請(qǐng)求
        BCF     STATUS,RP1
        BCF     STATUS,RP0

;-----------------------------------------------------------------------------------
;		◆定時(shí)器中斷處理(10ms)
int_next2:
        BTFSC   PIR1,TMR1IF
        GOTO    int_tmr1
        GOTO    int_next1
int_tmr1:
        BCF     PIR1,TMR1IF
        BSF     STATUS,RP0
        MOVF    dhcp_done & 0x7F,W
        ANDLW   0x7F
        BTFSS   STATUS,Z
        DECF    dhcp_done & 0x7F,F
        BCF     STATUS,RP0
int_tmr2:
        BSF     STATUS,RP0
        MOVLW   0x01
        ADDWF   timer & 0x7F,F
        BTFSC   STATUS,C
        GOTO    dec_tm
dec_tm9:
        CLRF    STATUS

;-----------------------------------------------------------------------------------
;		◆USART中斷處理
int_next1:
        BTFSS   INTCON,PEIE
        GOTO    int2
        BTFSS   PIR1,RCIF			; RS232C受信?
        GOTO    int2
        BSF     STATUS,RP0
        MOVLW   fifo_bottom - fifo_top
        SUBWF   fifo_cn & 0x7F,W		; buffer overflow ?
        BTFSC   STATUS,C
        GOTO    rec_over

        MOVF    fifo_buff & 0x7F,W
        MOVWF   FSR
        BCF     STATUS,RP0
        MOVF    RCREG,W
        MOVWF   INDF
        BSF     STATUS,RP0
        INCF    fifo_buff & 0x7F,F
        MOVLW   fifo_bottom
        SUBWF   fifo_buff & 0x7F,W
        BTFSS   STATUS,C
        GOTO    int1_1
        MOVLW   fifo_top
        MOVWF   fifo_buff & 0x7F
int1_1:
        INCF    fifo_cn & 0x7F,F
        MOVLW   (fifo_bottom - fifo_top)/2
        SUBWF   fifo_cn & 0x7F,W
        BTFSS   STATUS,C
        GOTO    int2
        BSF     STATUS,RP1
        BTFSS   on_flow,0
        GOTO    int2
        CLRF    STATUS
        BSF     PORTB,1
;	bsf	PORTB,7				; for debug
int2:
        CLRF    STATUS
;-----------------------------------------------------------------------
; 	Context恢復(fù)處理
        MOVF    fsr_save,W
        MOVWF   FSR
        MOVF    pclath_save,W
        MOVWF   PCLATH
        SWAPF   status_save,W
        MOVWF   STATUS
        SWAPF   w_save,F
        SWAPF   w_save,W
        RETFIE
;-----------------------------------------------------------------------------------
;		RS232C收信緩沖區(qū)溢出
rec_over:
        BCF     STATUS,RP0
        MOVF    RCREG,W
        BCF     STATUS,RP0
        GOTO    int2
;-----------------------------------------------------------------------------------
;		Socket的超時(shí)檢查
dec_tm:
        BSF     STATUS,IRP
        MOVLW   SOCKETS
        MOVWF   timer_cn & 0x7F
        MOVLW   skb+1
        MOVWF   FSR
dec_tm0:
        MOVF    INDF,W
        ANDLW   0xF0
        BTFSC   STATUS,Z
        GOTO    dec_tm1
        MOVLW   0x10
        SUBWF   INDF,F
        MOVF    INDF,W
        ANDLW   0xF0
        BTFSS   STATUS,Z
        GOTO    dec_tm1
        DECF    FSR,F
        CLRF    INDF
        INCF    FSR,F
dec_tm1:
        MOVLW   0x10
        ADDWF   FSR,F
        DECFSZ  timer_cn & 0x7F,F
        GOTO    dec_tm0
        BCF     STATUS,IRP
        GOTO    dec_tm9

;-----------------------------------------------------------------------------------
;		取得16進(jìn)制的文字
;
getascii:
        ANDLW   0x0F
        ADDWF   PCL,F
        DT      "0123456789ABCDEF"

;-----------------------------------------------------------------------------------
;		決定seq_no的初始化值
next_seq_no:
        BSF     STATUS,RP0
        MOVLW   0x01
        ADDWF   seq_no+2,F
        BTFSC   STATUS,C
        ADDWF   seq_no+3,F
        BCF     STATUS,RP0
        RETURN

;-----------------------------------------------------------------------------------
;		遞增TCP的seq_no
inc_seq_no:
        BSF     STATUS,IRP
        MOVLW   0x03
        ADDWF   FSR,F
        MOVLW   0x01
        ADDWF   INDF,F
        DECF    FSR,F
        BTFSC   STATUS,C
        ADDWF   INDF,F
        DECF    FSR,F
        BTFSC   STATUS,C
        ADDWF   INDF,F
        DECF    FSR,F
        BTFSC   STATUS,C
        ADDWF   INDF,F
        BCF     STATUS,IRP
        RETURN

;-----------------------------------------------------------------------------------
;		計(jì)算TCP的seq_no加ip_length
;
add_seq_no
        BSF     STATUS,IRP
        MOVLW   0x03
        ADDWF   FSR,F

        MOVF    ip_length+1,W
        ADDWF   INDF,F
        DECF    FSR,F
        MOVLW   0x01
        BTFSC   STATUS,C
        ADDWF   INDF,F
        DECF    FSR,F
        BTFSC   STATUS,C
        ADDWF   INDF,F
        DECF    FSR,F
        BTFSC   STATUS,C
        ADDWF   INDF,F

        MOVLW   0x02
        ADDWF   FSR,F
        MOVF    ip_length,W
        ADDWF   INDF,F
        DECF    FSR,F
        MOVLW   0x01
        BTFSC   STATUS,C
        ADDWF   INDF,F
        DECF    FSR,F
        BTFSC   STATUS,C
        ADDWF   INDF,F
        BCF     STATUS,IRP
        RETURN

;-----------------------------------------------------------------------------------
;		遞增TCP的ack_no
;
inc_ack_no:
        MOVLW   0x01
        ADDWF   tcp_seq_no+3,F
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no+2,F
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no+1,F
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no,F
        GOTO    copy_ack_no

;-----------------------------------------------------------------------------------
;		計(jì)算TCP的ack_no加上ip_length的值
;
add_ack_no
        MOVLW   0x28					; 20+20
        SUBWF   ip_length+1,F
        MOVLW   0x01
        BTFSS   STATUS,C
        SUBWF   ip_length,F

        MOVF    ip_length+1,W
        ADDWF   tcp_seq_no+3,F
        MOVLW   0x01
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no+2,F
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no+1,F
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no,F

        MOVF    ip_length,W
        ADDWF   tcp_seq_no+2,F
        MOVLW   0x01
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no+1,F
        BTFSC   STATUS,C
        ADDWF   tcp_seq_no,F
copy_ack_no:
        MOVF    com_fsr,W
        MOVWF   FSR
        MOVLW   .12
        ADDWF   FSR,F
        BSF     STATUS,IRP
        MOVF    tcp_seq_no,W
        MOVWF   INDF
        INCF    FSR,F
        MOVF    tcp_seq_no+1,W
        MOVWF   INDF
        INCF    FSR,F
        MOVF    tcp_seq_no+2,W
        MOVWF   INDF
        INCF    FSR,F
        MOVF    tcp_seq_no+3,W
        MOVWF   INDF
        BCF     STATUS,IRP
        RETURN

;-----------------------------------------------------------------------------------
;		清除checksum值
;
clear_sum:
        CLRF    sum
        CLRF    sum+1
        CLRF    bytes
        RETURN


;-----------------------------------------------------------------------------------
;		Error Recovery Routing
;-----------------------------------------------------------------------------------
overflow2
overflow:
        CLRF    STATUS
        CLRF    PORTC
        MOVLW   0x21				; RTL8019AS STOP
        CALL    assert_wr0
        MOVLW   HIGH wait_ms
        MOVWF   PCLATH
        MOVLW   0x02
        MOVWF   wait_cn
        CALL    wait_ms & 0x7ff			; 10ms wait
        CLRF    PCLATH

        MOVLW   0x0A
        MOVWF   PORTC
        dw	0x100
        CALL    assert_wr0

        MOVLW   0x0B
        MOVWF   PORTC
        dw	0x100
        CALL    assert_wr0

        CALL    initialize			; 初始化RTL8019

        MOVLW   0x0C
        MOVWF   PORTC				; RCR
        MOVLW   b'00000100'
        CALL    assert_wr0			; MONITOR解除

        MOVLW   0x0D
        MOVWF   PORTC				; TCR
        dw	0x100					; L/B解除
        CALL    assert_wr0

        GOTO    main0				; 返回通常的處理

;-----------------------------------------------------------------------------------
;		Main Routing
;-----------------------------------------------------------------------------------
main:
        CLRF    PORTC
        MOVLW   0x22
        CALL    assert_wr0			;返回PAGE0

        MOVLW   0x0C
        MOVWF   PORTC
        MOVLW   b'00000100'
        CALL    assert_wr0
        MOVLW   0x0D
        MOVWF   PORTC				;TCR
        dw	0x100					;L/B解除
        CALL    assert_wr0

        MOVLW   HIGH wait_ms
        MOVWF   PCLATH
        MOVLW   .100
        MOVWF   wait_cn
        CALL    wait_ms & 0x7ff			; 100ms Wait
        CLRF    PCLATH

        MOVLW   this_ip
        MOVWF   FSR
        MOVF    INDF,W
        INCF    FSR,F
        IORWF   INDF,W
        INCF    FSR,F
        IORWF   INDF,W
        INCF    FSR,F
        IORWF   INDF,W
        BTFSS   STATUS,Z
        GOTO    main0				;自己的IP地址是0.0.0.0 ?
do_dhcp:
        CLRF    STATUS
        MOVLW   HIGH dhcp
        MOVWF   PCLATH
        CALL    dhcp & 0x7ff
        MOVLW   HIGH $
        MOVWF   PCLATH
;-----------------------------------------------------------------------------------
;		Main Loop
;-----------------------------------------------------------------------------------
main0:
        BSF     STATUS,RP0
        MOVLW   0x00
        SUBWF   fifo_cn & 0x7F,W
        BTFSS   STATUS,Z			;RS232C受信?
        GOTO    receive232c
        MOVLW   0x80
        SUBWF   dhcp_done & 0x7F,W
        BTFSC   STATUS,Z			;DHCP Timeout?
        GOTO    do_dhcp
        BCF     STATUS,RP0

        CLRF    PCLATH
        MOVLW   0x07
        MOVWF   PORTC
        CALL    assert_rd			;RCR Lead

        BTFSC   mdata,4
        GOTO    overflow
        BTFSC   mdata,3
        GOTO    overflow
        BTFSC   mdata,2
        GOTO    overflow
        GOTO    get_packet			;有收到Packet
main99:
        GOTO    main0

receive232c:
        BCF     STATUS,RP0
        MOVLW   HIGH serial_tx
        MOVWF   PCLATH
        GOTO    serial_tx & 0x7ff		;轉(zhuǎn)到RS232收信處理

;-----------------------------------------------------------------------------------
;		Packet收信處理
;-----------------------------------------------------------------------------------
get_packet:
;	PAGE 1
        CLRF    PORTC
        MOVLW   b'01100010'
        CALL    assert_wr0			;設(shè)置為Page1

        MOVLW   0x07
        MOVWF   PORTC
        CALL    assert_rd
        MOVF    mdata,W
        MOVWF   curr				;取得當(dāng)前的Page
;	PAGE 0
        CLRF    PORTC
        MOVLW   b'00100010'
        CALL    assert_wr0			;返回Page0

        MOVLW   0x03
        MOVWF   PORTC
        CALL    assert_rd			;讀入BNDY

        INCF    mdata,F				;BNDY++
        MOVLW   PAGE_STOP
        SUBWF   mdata,W
        BTFSS   STATUS,C
        GOTO    packet1				;計(jì)算overlap
        MOVLW   PAGE_START
        MOVWF   mdata
packet1:
        MOVF    curr,W
        SUBWF   mdata,W
        BTFSC   STATUS,Z			;如果(BNDY+1)==CURR的話,則沒(méi)有新數(shù)據(jù)
        GOTO    main0				;中斷


;-----------------------------------------------------------------------------------
; 讀取RTL8019 Status 和 Ethernet Header
        CLRF    remote_adr
        MOVF    mdata,W
        MOVWF   remote_adr+1
        MOVLW   NE_SIZE+PACKET_SIZE
        MOVWF   remote_len
        CLRF    remote_len+1
        CALL    remote_read

        MOVLW   NE_SIZE+PACKET_SIZE
        MOVWF   gcn1				; Loop Counter
        BCF     STATUS,IRP
        MOVLW   ne_header
        MOVWF   FSR				;讀取ne_header的地址
        MOVLW   0x10
        MOVWF   PORTC
get_packet0:
        BCF     PORTE,RE0			;RD
        BTFSS   PORTC,RC5			;RDY, ~Wait
        GOTO    $-1
        MOVF    PORTD,W
        BSF     PORTE,RE0
        MOVWF   INDF				;"indirect = data Buffer
        INCF    FSR,F				;FSR++
        DECFSZ  gcn1,F
        GOTO    get_packet0
;
;	Ethernet Header的處理判斷
        BSF     STATUS,RP0
        BTFSS   ne_stat,0
        GOTO    main9
        MOVLW   COM_PROTO
        SUBWF   eth_type & 0x7F,W
        BTFSS   STATUS,Z			; 跳過(guò)type的高8bit以外
        GOTO    main9
        MOVLW   IP_PROTO
        SUBWF   eth_type+1,W
        BTFSC   STATUS,Z
        GOTO    do_ip				;處理IP協(xié)議
        MOVLW   ARP_PROTO
        SUBWF   eth_type+1,W
        BTFSC   STATUS,Z
        GOTO    do_arp				;處理ARP協(xié)議
main9:						;其他
        BCF     STATUS,IRP
        BCF     STATUS,RP1
        BSF     STATUS,RP0
        MOVLW   PAGE_START
        SUBWF   ne_next & 0x7F,W
        BTFSS   STATUS,C
        GOTO    overflow2			;Error Check and Recover
        MOVLW   PAGE_STOP
        SUBWF   ne_next & 0x7F,W
        BTFSC   STATUS,C
        GOTO    overflow			;Error Check and Recover

        DECF    ne_next & 0x7F,F		;計(jì)算下一個(gè)邊界
        MOVLW   PAGE_START
        SUBWF   ne_next & 0x7F,W
        BTFSC   STATUS,C
        GOTO    packet11
        MOVLW   PAGE_STOP-1
        MOVWF   ne_next & 0x7F

packet11:

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p亚洲精品色噜噜狠狠| 亚洲欧美一区二区三区久本道91| 欧美精品国产精品| 欧美专区日韩专区| 欧洲在线/亚洲| 欧美视频精品在线观看| 91年精品国产| 91国模大尺度私拍在线视频| 日本韩国欧美一区二区三区| 一本色道久久综合精品竹菊| caoporen国产精品视频| 91免费视频网址| 91免费视频网| 欧美日韩在线不卡| 日韩亚洲欧美一区| 亚洲精品一区二区三区影院| 久久男人中文字幕资源站| 精品久久久久久无| 中文字幕免费一区| 一区二区三区欧美| 亚洲1区2区3区视频| 老司机一区二区| 国产91精品一区二区| 99久久精品免费看| 在线亚洲精品福利网址导航| 欧美视频在线不卡| 欧美一级二级三级蜜桃| 久久久蜜桃精品| 综合婷婷亚洲小说| 亚洲不卡在线观看| 国产一区二区三区免费观看| 成人在线综合网站| 在线免费观看日本一区| 日韩亚洲欧美高清| 国产精品久久久久影院亚瑟| 亚洲午夜视频在线| 久久精品噜噜噜成人av农村| 成人一二三区视频| 欧美一a一片一级一片| 欧美电影免费观看高清完整版在线观看| 久久影院午夜论| 亚洲美女在线一区| 激情综合网av| 色综合天天综合给合国产| 9191国产精品| 国产亚洲欧美激情| 亚洲国产aⅴ成人精品无吗| 激情五月婷婷综合| 欧美在线三级电影| 久久夜色精品国产欧美乱极品| 亚洲另类在线视频| 精品中文字幕一区二区小辣椒| 97超碰欧美中文字幕| 日韩美女在线视频| 亚洲综合一区二区| 国产精品一色哟哟哟| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美精品一区二区三区久久久| 91视频xxxx| 亚洲一卡二卡三卡四卡无卡久久| 亚洲国产日韩一区二区| 韩国视频一区二区| www.av亚洲| 欧美精品一区二区三区高清aⅴ | 欧美在线你懂的| 久久免费看少妇高潮| 亚洲国产成人91porn| 高清beeg欧美| 欧美大片在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 理论电影国产精品| 欧美日韩综合不卡| 亚洲天堂精品在线观看| 国产在线视视频有精品| 欧美日韩国产美| 亚洲日本一区二区| 国产成人免费在线| 日韩一级黄色大片| 午夜精品免费在线观看| 91麻豆蜜桃一区二区三区| 国产三区在线成人av| 免费在线看成人av| 欧美日韩免费不卡视频一区二区三区| 国产精品电影一区二区三区| 激情综合一区二区三区| 日韩一级黄色大片| 午夜国产精品影院在线观看| 色哟哟精品一区| 亚洲日本va午夜在线电影| 成人在线一区二区三区| 国产人伦精品一区二区| 精品一区二区三区在线播放视频| 91精品国产高清一区二区三区蜜臀 | 欧美日韩aaaaaa| 亚洲激情在线激情| 一本色道久久综合狠狠躁的推荐| 国产精品久久久久aaaa| 床上的激情91.| 国产精品久久三区| 99精品久久只有精品| 18欧美乱大交hd1984| 97se狠狠狠综合亚洲狠狠| 国产精品高清亚洲| 99久久综合色| 中文字幕一区二区三区四区不卡 | 捆绑紧缚一区二区三区视频| 3d动漫精品啪啪1区2区免费| 午夜影院久久久| 在线综合视频播放| 免费成人在线影院| 日韩精品一区二区三区中文精品| 青草国产精品久久久久久| 日韩欧美国产综合| 国内成+人亚洲+欧美+综合在线| 精品国产污污免费网站入口 | 91论坛在线播放| 亚洲一区二区三区在线| 欧美精品久久99| 久久精品噜噜噜成人88aⅴ| 久久综合九色综合欧美亚洲| 国产成人av一区| 亚洲日本va午夜在线电影| 欧美影院午夜播放| 蜜桃av一区二区三区电影| 久久亚洲一级片| 成人黄色大片在线观看| 亚洲精品欧美二区三区中文字幕| 欧美性一二三区| 久久99国产精品成人| 国产欧美日韩三级| 在线一区二区三区做爰视频网站| 日韩国产高清在线| 久久婷婷成人综合色| 北岛玲一区二区三区四区| 亚洲高清中文字幕| xnxx国产精品| 色综合久久99| 久久精品99国产精品| 中文字幕国产精品一区二区| 色噜噜狠狠一区二区三区果冻| 日韩电影免费在线看| 精品国产伦一区二区三区观看方式| 国产91在线观看| 亚洲成人黄色小说| 久久久久久亚洲综合影院红桃| 91美女蜜桃在线| 看电视剧不卡顿的网站| 一色屋精品亚洲香蕉网站| 欧美日产国产精品| 国产成人免费9x9x人网站视频| 一区二区三区中文在线观看| 日韩午夜精品视频| 91视频免费播放| 韩国精品主播一区二区在线观看| 亚洲人成人一区二区在线观看| 日韩一级完整毛片| 色婷婷久久久亚洲一区二区三区 | 日韩小视频在线观看专区| 不卡区在线中文字幕| 日韩精品电影一区亚洲| 国产精品情趣视频| 日韩一级片在线观看| 日本韩国欧美在线| 国产麻豆精品一区二区| 亚洲第一福利一区| 国产精品久久久久7777按摩| 欧美一级片免费看| 色婷婷一区二区三区四区| 国产精品乡下勾搭老头1| 天堂va蜜桃一区二区三区漫画版| 国产精品盗摄一区二区三区| 日韩视频永久免费| 精品视频全国免费看| 91在线视频网址| 国产成人免费高清| 国产做a爰片久久毛片| 日韩在线一二三区| 一二三区精品视频| 欧美韩国日本不卡| 精品国产污污免费网站入口 | 色综合一区二区三区| 国产乱码精品一区二区三区av| 午夜在线成人av| 一区二区欧美视频| 成人欧美一区二区三区白人| 久久久美女艺术照精彩视频福利播放| 在线播放欧美女士性生活| 在线视频综合导航| 97se亚洲国产综合自在线不卡| 国产精品69毛片高清亚洲| 激情小说亚洲一区| 免费成人美女在线观看.| 亚洲妇熟xx妇色黄| 一区二区三区在线视频免费| 亚洲视频免费观看| 17c精品麻豆一区二区免费| 中文字幕av一区二区三区高| 欧美激情一区二区三区不卡| 久久九九久精品国产免费直播| 久久综合资源网|