📄 24c01.asm
字号:
; 78K/0 Series C Compiler V4.00 Assembler Source
; Date: 7 Apr 2009 Time:10:48:16
; Command : -cF0411 -yd:\program files\nec electronics tools\dev -_msgoff -a
; -zpn -w0 -no 24C01.c
; In-file : 24C01.c
; Asm-file : 24C01.asm
; Para-file :
$PROCESSOR(F0411)
$DEBUG
$NODEBUGA
$KANJICODE NONE
$TOL_INF 03FH, 0400H, 00H, 020H, 00H
$DGS FIL_NAM, .file, 092H, 0FFFEH, 03FH, 067H, 01H, 00H
$DGS AUX_FIL, 24C01.c
$DGS MOD_NAM, 24C01, 00H, 0FFFEH, 00H, 077H, 00H, 00H
$DGS SEC_NAM, @@BITS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CNST, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATA, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CALT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CODE, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CALF, U, U, 00H, 078H, 00H, 00H
$DGS ENM_TAG, _eepromtype, 00H, 0FFFEH, 0AH, 0FH, 01H, 00H
$DGS AUX_TAG, 01H, 01BH
$DGS MEB_ENM, _M2401, 00H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M2402, 01H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M2404, 02H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M2408, 03H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M2416, 04H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M2432, 05H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M2464, 06H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M24128, 07H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS MEB_ENM, _M24256, 08H, 0FFFFH, 04H, 010H, 00H, 00H
$DGS END_STR, .eos, 01H, 0FFFFH, 00H, 066H, 01H, 00H
$DGS AUX_EOS, 0EH, 01H
$DGS GLV_SYM, _I2C_pin_init, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 021H, 00H
$DGS BEG_FUN, ??bf_I2C_pin_init, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 014H, 00H, 021H
$DGS END_FUN, ??ef_I2C_pin_init, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 08H
$DGS GLV_SYM, _RW24XX, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 04CH, 00H
$DGS BEG_FUN, ??bf_RW24XX, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 02DH, 06H, 02EH
$DGS FUN_ARG, _DataBuff, 04H, 0FFFFH, 0CH, 09H, 00H, 01H
$DGS FUN_ARG, _ByteQuantity, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS FUN_ARG, _Address, 0CH, 0FFFFH, 0EH, 09H, 00H, 00H
$DGS FUN_ARG, _ControlByte, 0EH, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS FUN_ARG, _EepromType, 010H, 0FFFFH, 0AH, 09H, 01H, 00H
$DGS AUX_STR, 0EH, 00H, 01H, 00H, 00H, 00H, 00H
$DGS AUT_VAR, _j, 03H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _i, 02H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _errorflag, 01H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS BEG_BLK, ??bb00_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 06H, 00H, 030H
$DGS BEG_BLK, ??bb01_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 0CH, 00H, 034H
$DGS END_BLK, ??eb01_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 010H
$DGS BEG_BLK, ??bb02_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 015H, 00H, 036H
$DGS BEG_BLK, ??bb03_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 019H, 00H, 03CH
$DGS END_BLK, ??eb03_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01FH
$DGS END_BLK, ??eb02_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 023H
$DGS BEG_BLK, ??bb04_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 025H, 00H, 03EH
$DGS BEG_BLK, ??bb05_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 02BH, 00H, 046H
$DGS END_BLK, ??eb05_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 02EH
$DGS END_BLK, ??eb04_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 033H
$DGS END_BLK, ??eb00_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 034H
$DGS BEG_BLK, ??bb06_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 037H, 00H, 00H
$DGS END_BLK, ??eb06_RW24XX, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 03CH
$DGS END_FUN, ??ef_RW24XX, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 03EH
$DGS GLV_SYM, _IICStart, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 052H, 00H
$DGS BEG_FUN, ??bf_IICStart, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 070H, 00H, 052H
$DGS END_FUN, ??ef_IICStart, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 0FH
$DGS GLV_SYM, _IICStop, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 058H, 00H
$DGS BEG_FUN, ??bf_IICStop, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 082H, 00H, 058H
$DGS END_FUN, ??ef_IICStop, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 0DH
$DGS GLV_SYM, _IICRecAck, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 05EH, 00H
$DGS BEG_FUN, ??bf_IICRecAck, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 092H, 00H, 05EH
$DGS END_FUN, ??ef_IICRecAck, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 0EH
$DGS GLV_SYM, _IICACK, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 064H, 00H
$DGS BEG_FUN, ??bf_IICACK, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0A3H, 00H, 064H
$DGS END_FUN, ??ef_IICACK, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 0BH
$DGS GLV_SYM, _IICNoAck, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 06AH, 00H
$DGS BEG_FUN, ??bf_IICNoAck, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0B4H, 00H, 06AH
$DGS END_FUN, ??ef_IICNoAck, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 09H
$DGS GLV_SYM, _IICSendByte, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 07EH, 00H
$DGS BEG_FUN, ??bf_IICSendByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0C0H, 04H, 070H
$DGS FUN_ARG, _data_byte, 02H, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS AUT_VAR, _i, 01H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS BEG_BLK, ??bb00_IICSendByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 04H, 00H, 072H
$DGS BEG_BLK, ??bb01_IICSendByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 06H, 00H, 076H
$DGS END_BLK, ??eb01_IICSendByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 06H
$DGS BEG_BLK, ??bb02_IICSendByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 08H, 00H, 00H
$DGS END_BLK, ??eb02_IICSendByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 08H
$DGS END_BLK, ??eb00_IICSendByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 0EH
$DGS END_FUN, ??ef_IICSendByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 013H
$DGS GLV_SYM, _IICReceiveByte, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 08AH, 00H
$DGS BEG_FUN, ??bf_IICReceiveByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0D6H, 02H, 084H
$DGS REG_VAR, _data_byte, 06H, 0FFFFH, 010CH, 04H, 00H, 00H
$DGS REG_VAR, _i, 07H, 0FFFFH, 010CH, 04H, 00H, 00H
$DGS BEG_BLK, ??bb00_IICReceiveByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 07H, 00H, 00H
$DGS END_BLK, ??eb00_IICReceiveByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01EH
$DGS END_FUN, ??ef_IICReceiveByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 026H
$DGS GLV_SYM, _Delay, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 091H, 00H
$DGS BEG_FUN, ??bf_Delay, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0FFH, 02H, 091H
$DGS REG_PAR, _DelayCount, 06H, 0FFFFH, 010CH, 011H, 00H, 00H
$DGS END_FUN, ??ef_Delay, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 03H
$DGS STA_SYM, L0005, ?L0005, U, 05002H, 03H, 00H, 03H
$DGS GLV_SYM, _ERRORCOUNT, U, U, 0500CH, 020H, 00H, 00H
$DGS GLV_SYM, _CY, U, U, 034CH, 020H, 00H, 00H
PUBLIC _ERRORCOUNT
PUBLIC _CY
PUBLIC _I2C_pin_init
PUBLIC _RW24XX
PUBLIC _IICReceiveByte
PUBLIC _IICStart
PUBLIC _IICStop
PUBLIC _IICRecAck
PUBLIC _IICACK
PUBLIC _IICNoAck
PUBLIC _IICSendByte
PUBLIC _Delay
@@BITS BSEG
_CY DBIT
@@CNST CSEG UNITP
_ERRORCOUNT: DB 0AH ; 10
?L0005: DB '1'
DB 00H
DB (1)
@@R_INIT CSEG UNITP
@@INIT DSEG UNITP
@@DATA DSEG UNITP
@@R_INIS CSEG UNITP
@@INIS DSEG SADDRP
@@DATS DSEG SADDRP
@@CALT CSEG CALLT0
; line 4
; line 5
; line 6
; line 7
; line 8
; line 9
; line 10
; line 15
; line 17
; line 20
@@CODE CSEG
_I2C_pin_init:
$DGL 1,27
??bf_I2C_pin_init:
; line 23
$DGL 0,4
set1 PM1.2 ;[INF] 3, 8
; line 24
$DGL 0,5
clr1 PM1.3 ;[INF] 3, 8
; line 25
$DGL 0,6
clr1 PF1.3 ;[INF] 3, 8
; line 27
$DGL 0,8
??ef_I2C_pin_init:
ret ;[INF] 1, 6
??ee_I2C_pin_init:
; line 45
_RW24XX:
$DGL 1,33
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_RW24XX:
; line 47
$DGL 0,3
mov a,!_ERRORCOUNT ;[INF] 3, 8/9
mov [hl+2],a ; i ;[INF] 2, 8/9
; line 48
$DGL 0,4
movw ax,#?L0005 ;[INF] 3, 6
mov a,x ;[INF] 1, 2
mov [hl+1],a ; errorflag ;[INF] 2, 8/9
; line 49
$DGL 0,5
?L0006:
mov a,[hl+2] ; i ;[INF] 2, 8/9
dec a ;[INF] 1, 2
mov [hl+2],a ; i ;[INF] 2, 8/9
inc a ;[INF] 1, 2
bnz $$+5 ;[INF] 2, 6
br !?L0007 ;[INF] 3, 6
; line 50
??bb00_RW24XX:
; line 51
$DGL 0,7
call !_IICStart ;[INF] 3, 7
; line 52
$DGL 0,8
mov a,[hl+14] ; ControlByte ;[INF] 2, 8/9
and a,#0FEH ; 254 ;[INF] 2, 4
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_IICSendByte ;[INF] 3, 7
; line 53
$DGL 0,9
call !_IICRecAck ;[INF] 3, 7
bc $?L0006 ;[INF] 2, 6
; line 54
; line 55
$DGL 0,11
mov a,[hl+16] ; EepromType ;[INF] 2, 8/9
cmp a,#04H ; 4 ;[INF] 2, 4
or1 CY,a.7 ;[INF] 2, 4
bc $?L0012 ;[INF] 2, 6
bz $?L0012 ;[INF] 2, 6
; line 56
??bb01_RW24XX:
; line 57
$DGL 0,13
mov a,[hl+12] ; Address ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+13] ; Address ;[INF] 2, 8/9
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_IICSendByte ;[INF] 3, 7
; line 58
$DGL 0,14
call !_IICRecAck ;[INF] 3, 7
bc $?L0006 ;[INF] 2, 6
; line 59
?L0012:
??eb01_RW24XX:
; line 60
; line 61
$DGL 0,17
mov a,[hl+12] ; Address ;[INF] 2, 8/9
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_IICSendByte ;[INF] 3, 7
; line 62
$DGL 0,18
call !_IICRecAck ;[INF] 3, 7
bc $?L0006 ;[INF] 2, 6
; line 63
; line 64
$DGL 0,20
mov a,[hl+14] ; ControlByte ;[INF] 2, 8/9
bt a.0,$?L0016 ;[INF] 3, 8
; line 65
??bb02_RW24XX:
; line 66
$DGL 0,22
mov a,[hl+10] ; ByteQuantity ;[INF] 2, 8/9
mov [hl+3],a ; j ;[INF] 2, 8/9
; line 67
$DGL 0,23
mov a,#00H ; 0 ;[INF] 2, 4
mov [hl+1],a ; errorflag ;[INF] 2, 8/9
; line 68
$DGL 0,24
?L0018:
mov a,[hl+3] ; j ;[INF] 2, 8/9
dec a ;[INF] 1, 2
mov [hl+3],a ; j ;[INF] 2, 8/9
inc a ;[INF] 1, 2
bz $?L0019 ;[INF] 2, 6
; line 69
??bb03_RW24XX:
; line 70
$DGL 0,26
mov a,[hl+4] ; DataBuff ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+5] ; DataBuff ;[INF] 2, 8/9
movw de,ax ;[INF] 1, 4
incw ax ;[INF] 1, 4
mov [hl+5],a ; DataBuff ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl+4],a ; DataBuff ;[INF] 2, 8/9
mov a,[de] ;[INF] 1, 4/5
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_IICSendByte ;[INF] 3, 7
; line 71
$DGL 0,27
call !_IICRecAck ;[INF] 3, 7
bnc $?L0018 ;[INF] 2, 6
; line 72
; line 73
$DGL 0,29
mov a,#01H ; 1 ;[INF] 2, 4
mov [hl+1],a ; errorflag ;[INF] 2, 8/9
; line 74
??eb03_RW24XX:
; line 75
?L0019:
; line 76
$DGL 0,32
mov a,[hl+1] ; errorflag ;[INF] 2, 8/9
dec a ;[INF] 1, 2
bnz $?L0007 ;[INF] 2, 6
; line 77
$DGL 0,33
br $?L0006 ;[INF] 2, 6
; line 78
??eb02_RW24XX:
; line 79
?L0016:
; line 81
??bb04_RW24XX:
; line 82
$DGL 0,38
call !_IICStart ;[INF] 3, 7
; line 83
$DGL 0,39
mov a,[hl+14] ; ControlByte ;[INF] 2, 8/9
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_IICSendByte ;[INF] 3, 7
; line 84
$DGL 0,40
call !_IICRecAck ;[INF] 3, 7
bnc $$+5 ;[INF] 2, 6
br !?L0006 ;[INF] 3, 6
; line 85
?L0024:
; line 86
$DGL 0,42
mov a,[hl+10] ; ByteQuantity ;[INF] 2, 8/9
dec a ;[INF] 1, 2
mov [hl+10],a ; ByteQuantity ;[INF] 2, 8/9
bz $?L0027 ;[INF] 2, 6
; line 87
??bb05_RW24XX:
; line 88
$DGL 0,44
call !_IICReceiveByte ;[INF] 3, 7
mov a,[hl+4] ; DataBuff ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+5] ; DataBuff ;[INF] 2, 8/9
movw de,ax ;[INF] 1, 4
incw ax ;[INF] 1, 4
mov [hl+5],a ; DataBuff ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl+4],a ; DataBuff ;[INF] 2, 8/9
mov a,c ;[INF] 1, 2
mov [de],a ;[INF] 1, 4/5
; line 89
$DGL 0,45
call !_IICACK ;[INF] 3, 7
??eb05_RW24XX:
; line 90
$DGL 0,46
br $?L0024 ;[INF] 2, 6
?L0027:
; line 91
$DGL 0,47
call !_IICReceiveByte ;[INF] 3, 7
mov a,[hl+4] ; DataBuff ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+5] ; DataBuff ;[INF] 2, 8/9
movw de,ax ;[INF] 1, 4
mov a,c ;[INF] 1, 2
mov [de],a ;[INF] 1, 4/5
; line 92
$DGL 0,48
call !_IICNoAck ;[INF] 3, 7
; line 93
$DGL 0,49
mov a,#00H ; 0 ;[INF] 2, 4
mov [hl+1],a ; errorflag ;[INF] 2, 8/9
; line 94
??eb04_RW24XX:
; line 95
??eb00_RW24XX:
; line 96
?L0007:
; line 97
$DGL 0,53
call !_IICStop ;[INF] 3, 7
; line 98
$DGL 0,54
mov a,[hl+14] ; ControlByte ;[INF] 2, 8/9
bt a.0,$?L0028 ;[INF] 3, 8
; line 99
??bb06_RW24XX:
; line 100
$DGL 0,56
movw ax,#0FFH ; 255 ;[INF] 3, 6
call !_Delay ;[INF] 3, 7
; line 101
$DGL 0,57
movw ax,#0FFH ; 255 ;[INF] 3, 6
call !_Delay ;[INF] 3, 7
; line 102
$DGL 0,58
movw ax,#0FFH ; 255 ;[INF] 3, 6
call !_Delay ;[INF] 3, 7
; line 103
$DGL 0,59
movw ax,#0FFH ; 255 ;[INF] 3, 6
call !_Delay ;[INF] 3, 7
??eb06_RW24XX:
; line 104
?L0028:
; line 105
$DGL 0,61
mov a,[hl+1] ; errorflag ;[INF] 2, 8/9
mov b,#00H ; 0 ;[INF] 2, 4
xch a,c ;[INF] 1, 2
; line 106
$DGL 0,62
??ef_RW24XX:
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_RW24XX:
; line 112
_IICStart:
$DGL 1,76
??bf_IICStart:
; line 113
$DGL 0,2
clr1 P1.3 ;[INF] 2, 6
; line 114
$DGL 0,3
set1 P1.2 ;[INF] 2, 6
; line 115
$DGL 0,4
set1 P1.3 ;[INF] 2, 6
; line 116
$DGL 0,5
nop ;[INF] 1, 2
; line 117
$DGL 0,6
nop ;[INF] 1, 2
; line 118
$DGL 0,7
nop ;[INF] 1, 2
; line 119
$DGL 0,8
clr1 P1.2 ;[INF] 2, 6
; line 120
$DGL 0,9
nop ;[INF] 1, 2
; line 121
$DGL 0,10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -