; this route is used I2C EESROM write and
; read; addressing mode is indirect
START
BSF RB_C,SDA
NOP
MOVFW RB_C
TRIS RB
BSF RB,SCL
NOP
BTFSS RB,SDA
GOTO ^-1
BCF RB_C,SDA
NOP
MOVFW RB_C
TRIS RB
NOP
BCF RB,SDA
NOP
NOP
NOP
NOP
BCF RB,SCL
RETLW 0H
STOP
BCF RB_C,SDA
NOP
MOVFW RB_C
TRIS RB
BCF RB,SDA
NOP
NOP
NOP
BSF RB,SCL
NOP
NOP
NOP
NOP
BSF RB,SDA
RETLW 0
TX
MOVLW 08H
MOVWF LOP1
MOVFW RB_C
ANDLW 7FH
TRIS RB
TXLP
BCF RB,SCL
BTFSC F0,7
GOTO ^+3
BCF RB,SDA
GOTO ^+2
BSF RB,SDA
BCF 3,0
RLF F0
NOP
BSF RB,SCL
NOP
NOP
NOP
DECFSZ LOP1
GOTO TXLP
BCF RB,SCL
ACKG
BSF RB_C,SDA
NOP
MOVFW RB_C
TRIS RB
BSF RB,SCL
NOP
NOP
NOP
BTFSC RB,SDA
GOTO ACKG
NOP
BCF RB,SCL
RETLW 0
RX
MOVLW 08H
MOVWF LOP1
BSF RB_C,SDA
CLRF F0
MOVFW RB_C
TRIS RB
RXLP
BCF RB,SCL
BCF 3,0
RLF F0
NOP
BSF RB,SCL
NOP
NOP
BTFSC RB,SDA
BSF F0,0
DECFSZ LOP1
GOTO RXLP
BCF RB,SCL
BTFSC MARK1,LAST
RETLW 0
MOVFW RB_C
ANDLW 7FH
TRIS RB
BCF RB,SDA
NOP
NOP
NOP
BSF RB,SCL
NOP
BCF RB,SCL
RETLW 0
RD24XX
BCF MARK1,LAST
MOVLW 03H
MOVWF LOP2
CALL START
MOVLW SLAVE
MOVWF F0
CALL TX
MOVFW READ_ADD
MOVWF F0
CALL TX
CALL START
MOVLW SLAVE
MOVWF F0
BSF F0,0
CALL TX
RXN
INCF FSR
BTFSS MARK1,READ
BSF MARK1,LAST
CALL RX
BTFSC MARK1,LAST
GOTO STOP
DECF LOP2
MOVFW LOP2
XORLW 01H
BTFSS 3,2
GOTO RXN
BSF MARK1,LAST
GOTO RXN
WR24XX
MOVLW 03H
MOVWF LOP2
CALL START
MOVLW SLAVE
MOVWF F0
CALL TX
MOVFW WRITE_ADD
MOVWF F0
CALL TX
WRITN
INCF FSR
CALL TX
BTFSS MARK1,WRITE
GOTO ^+3
DECFSZ LOP2
GOTO WRITN
GOTO STOP
凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。