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

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

?? 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一区二区三区免费野_久草精品视频
日韩美女精品在线| 亚洲成人tv网| 精品国产区一区| 欧美一级午夜免费电影| 欧美另类videos死尸| 欧美三日本三级三级在线播放| 色综合久久综合中文综合网| 国产ts人妖一区二区| 国产一区二区三区免费看| 麻豆国产精品777777在线| 久久爱www久久做| 国产综合色视频| 狠狠色综合日日| 国产精品99久久久久久久女警 | 91网上在线视频| 91免费在线视频观看| 色欧美片视频在线观看在线视频| 成人av网站大全| 欧美做爰猛烈大尺度电影无法无天| 色狠狠桃花综合| 欧美狂野另类xxxxoooo| 日韩一区二区三区视频在线观看| 日韩欧美三级在线| 国产视频不卡一区| 中文字幕一区二区三区视频 | 国产伦理精品不卡| 成人午夜看片网址| 色婷婷亚洲精品| 欧美一区二区三区影视| 久久亚洲综合色| 中文文精品字幕一区二区| 亚洲精品免费在线| 日本欧美一区二区三区| 国产乱码字幕精品高清av| 成人av电影在线| 欧美乱妇15p| 国产欧美日韩另类视频免费观看| 国产精品久久精品日日| 亚洲bt欧美bt精品777| 国产在线视频精品一区| 91在线云播放| 日韩亚洲欧美综合| 国产精品水嫩水嫩| 亚洲尤物视频在线| 国产精品一区二区三区99| 色综合久久88色综合天天免费| 91.麻豆视频| 国产精品国产自产拍在线| 亚洲成人资源在线| 成人免费看片app下载| 欧美日韩性生活| 久久精品日韩一区二区三区| 亚洲综合在线观看视频| 久久国产精品色婷婷| 91美女蜜桃在线| 日韩欧美国产麻豆| 伊人色综合久久天天人手人婷| 美女在线视频一区| 日本电影欧美片| 国产日产欧美精品一区二区三区| 亚洲1区2区3区视频| 国产91综合网| 91精品国产综合久久久久久 | 日韩成人免费电影| 91麻豆精品视频| 久久综合一区二区| 午夜成人在线视频| www.成人网.com| 26uuu色噜噜精品一区二区| 亚洲一卡二卡三卡四卡五卡| 成人激情免费电影网址| 欧美电视剧在线观看完整版| 亚洲综合男人的天堂| 国产高清不卡二三区| 欧美一区二区黄| 亚洲成人综合网站| 91色婷婷久久久久合中文| 久久蜜臀精品av| 蜜臀久久99精品久久久久久9| 色综合久久66| 亚洲欧美综合色| 国产麻豆成人精品| 久久这里都是精品| 秋霞影院一区二区| 欧美日韩情趣电影| 亚洲最新视频在线观看| 一本大道久久a久久综合| 日本一区二区三区电影| 国产一区二区在线免费观看| 欧美一区二区啪啪| 偷窥少妇高潮呻吟av久久免费| 色综合中文字幕国产 | 亚洲精选视频免费看| 成人黄页毛片网站| 国产欧美一区二区在线观看| 国产麻豆精品在线| 久久综合五月天婷婷伊人| 久久精品国产亚洲a| 精品日韩成人av| 久久精品国产在热久久| 日韩美女一区二区三区| 青青草原综合久久大伊人精品 | 欧美三级中文字幕在线观看| 亚洲男人的天堂av| 91小视频在线| 中文字幕日韩精品一区| jiyouzz国产精品久久| 国产精品久久久久久久久免费丝袜 | 94-欧美-setu| 一区二区三区欧美在线观看| 色婷婷久久久亚洲一区二区三区| 亚洲欧美另类久久久精品2019| 91丨porny丨国产| 亚洲精品成人悠悠色影视| 一本色道久久综合亚洲aⅴ蜜桃| 中文字幕中文字幕在线一区 | 粉嫩蜜臀av国产精品网站| 国产精品国产三级国产aⅴ原创 | 日韩欧美国产一区二区在线播放 | 色猫猫国产区一区二在线视频| 一区二区久久久久| 欧美午夜精品免费| 三级不卡在线观看| 精品久久久三级丝袜| 国产精品一线二线三线精华| 日本一区二区成人在线| 91美女在线观看| 天使萌一区二区三区免费观看| 日韩视频一区在线观看| 国产乱码一区二区三区| 国产精品日韩精品欧美在线| 在线免费观看成人短视频| 日韩精品一卡二卡三卡四卡无卡| 精品88久久久久88久久久| 成人av网在线| 亚洲va国产天堂va久久en| 日韩欧美在线1卡| 成人午夜激情片| 亚洲一区中文日韩| 精品国产不卡一区二区三区| 成人av免费网站| 五月天一区二区三区| 欧美精品一区二区三区久久久| av动漫一区二区| 日韩va欧美va亚洲va久久| 国产亚洲一区二区三区四区| 色又黄又爽网站www久久| 男人的j进女人的j一区| 中文字幕av一区 二区| 在线欧美小视频| 国产主播一区二区三区| 一区二区三区中文字幕电影| 日韩一区二区免费视频| 成av人片一区二区| 麻豆成人综合网| 洋洋成人永久网站入口| 久久久久久99久久久精品网站| 色综合久久久久综合99| 国内外成人在线| 亚洲影视资源网| 欧美激情一区二区三区| 91麻豆精品国产自产在线观看一区| 国产宾馆实践打屁股91| 午夜久久电影网| 亚洲欧洲性图库| 欧美精品一区在线观看| 欧美午夜寂寞影院| www.亚洲人| 精品在线播放免费| 一区二区三区高清在线| 国产午夜亚洲精品午夜鲁丝片| 欧美日韩一区二区在线观看| 国产成人综合自拍| 日本不卡一区二区三区| 亚洲精品日韩一| 国产色91在线| 日韩三级视频在线观看| 欧美亚洲愉拍一区二区| 99在线精品视频| 国产精品亚洲专一区二区三区| 婷婷六月综合亚洲| 亚洲免费观看高清完整版在线| 久久久久久久一区| 精品久久久久久综合日本欧美 | 国产精品国产a| 欧美精品一区二区三区蜜臀| 91精品国产乱| 欧美日韩一区在线观看| 91极品视觉盛宴| 波多野结衣欧美| 懂色一区二区三区免费观看| 精品一区二区在线视频| 日韩福利视频网| 亚洲午夜免费电影| 一区二区三区在线视频观看| 亚洲欧洲成人精品av97| 国产精品素人视频| 国产精品网曝门| 国产精品国产三级国产普通话三级 | 麻豆国产精品一区二区三区 |