📄 fm24c04a_drv.asm
字号:
; 78K/0 Series C Compiler V3.70 Assembler Source
; Date:25 Feb 2008 Time:17:34:14
; Command : -fFM24c04a_drv.pcc
; In-file : FM24c04a_drv.c
; Asm-file : FM24c04a_drv.asm
; Para-file : -cF051344
; -yC:\NECTools32\DEV\
; -a
; -zpn
; FM24c04a_drv.c
$PROCESSOR(F051344)
$DEBUG
$NODEBUGA
$KANJICODE NONE
$TOL_INF 03FH, 0370H, 00H, 020H, 00H
$DGS FIL_NAM, .file, 08FH, 0FFFEH, 03FH, 067H, 01H, 00H
$DGS AUX_FIL, FM24c04a_drv.c
$DGS MOD_NAM, FM24c04a, 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 GLV_SYM, _StartBit, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 014H, 00H
$DGS BEG_FUN, ??bf_StartBit, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 01AH, 00H, 014H
$DGS END_FUN, ??ef_StartBit, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 06H
$DGS GLV_SYM, _StopBit, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 01AH, 00H
$DGS BEG_FUN, ??bf_StopBit, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 02BH, 00H, 01AH
$DGS END_FUN, ??ef_StopBit, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 07H
$DGS GLV_SYM, _SendAByte, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 02CH, 00H
$DGS BEG_FUN, ??bf_SendAByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 03DH, 06H, 022H
$DGS FUN_ARG, _I_data, 04H, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS AUT_VAR, _i, 03H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _count, 02H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _b, 01H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS BEG_BLK, ??bb00_SendAByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 07H, 00H, 026H
$DGS END_BLK, ??eb00_SendAByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 011H
$DGS BEG_BLK, ??bb01_SendAByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 01FH, 00H, 00H
$DGS END_BLK, ??eb01_SendAByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 028H
$DGS END_FUN, ??ef_SendAByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 030H
$DGS GLV_SYM, _ReceiveAByte, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 038H, 00H
$DGS BEG_FUN, ??bf_ReceiveAByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 079H, 02H, 032H
$DGS REG_VAR, _i, 06H, 0FFFFH, 010CH, 04H, 00H, 00H
$DGS REG_VAR, _ddata, 07H, 0FFFFH, 010CH, 04H, 00H, 00H
$DGS BEG_BLK, ??bb00_ReceiveAByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 0BH, 00H, 00H
$DGS END_BLK, ??eb00_ReceiveAByte, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 015H
$DGS END_FUN, ??ef_ReceiveAByte, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 01CH
$DGS GLV_SYM, _FMWrite, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 054H, 00H
$DGS BEG_FUN, ??bf_FMWrite, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0A4H, 0CH, 046H
$DGS FUN_ARG, _buff, 0AH, 0FFFFH, 0CH, 09H, 00H, 01H
$DGS FUN_ARG, _addr, 010H, 0FFFFH, 0EH, 09H, 00H, 00H
$DGS FUN_ARG, _wlen, 012H, 0FFFFH, 0EH, 09H, 00H, 00H
$DGS AUT_VAR, _i, 09H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _n, 08H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _Page, 07H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _InPage, 06H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _tmpint, 04H, 0FFFFH, 0EH, 01H, 00H, 00H
$DGS AUT_VAR, _len, 00H, 0FFFFH, 0EH, 01H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 04H, 02H, 00H, 00H, 00H
$DGS BEG_BLK, ??bb00_FMWrite, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 012H, 00H, 04AH
$DGS END_BLK, ??eb00_FMWrite, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 016H
$DGS BEG_BLK, ??bb01_FMWrite, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 018H, 00H, 04EH
$DGS END_BLK, ??eb01_FMWrite, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01CH
$DGS BEG_BLK, ??bb02_FMWrite, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 01FH, 00H, 00H
$DGS END_BLK, ??eb02_FMWrite, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 023H
$DGS END_FUN, ??ef_FMWrite, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 027H
$DGS GLV_SYM, _FMRead, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 06FH, 00H
$DGS BEG_FUN, ??bf_FMRead, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0DAH, 0AH, 061H
$DGS FUN_ARG, _buff, 08H, 0FFFFH, 0CH, 09H, 00H, 01H
$DGS FUN_ARG, _addr, 0EH, 0FFFFH, 0EH, 09H, 00H, 00H
$DGS FUN_ARG, _rlen, 010H, 0FFFFH, 0EH, 09H, 00H, 00H
$DGS AUT_VAR, _i, 07H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _n, 06H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _Page, 05H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _InPage, 04H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _len, 00H, 0FFFFH, 0EH, 01H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 04H, 02H, 00H, 00H, 00H
$DGS BEG_BLK, ??bb00_FMRead, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 011H, 00H, 065H
$DGS END_BLK, ??eb00_FMRead, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 015H
$DGS BEG_BLK, ??bb01_FMRead, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 017H, 00H, 069H
$DGS END_BLK, ??eb01_FMRead, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01BH
$DGS BEG_BLK, ??bb02_FMRead, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 01EH, 00H, 00H
$DGS END_BLK, ??eb02_FMRead, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 022H
$DGS END_FUN, ??ef_FMRead, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 025H
$DGS GLV_SYM, _FMWriteBytes, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 07FH, 00H
$DGS BEG_FUN, ??bf_FMWriteBytes, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 010FH, 06H, 079H
$DGS FUN_ARG, _buff, 04H, 0FFFFH, 0CH, 09H, 00H, 01H
$DGS FUN_ARG, _page, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS FUN_ARG, _inpage, 0CH, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS FUN_ARG, _bytes, 0EH, 0FFFFH, 0EH, 09H, 00H, 00H
$DGS AUT_VAR, _p, 03H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _i, 01H, 0FFFFH, 0EH, 01H, 00H, 00H
$DGS BEG_BLK, ??bb00_FMWriteBytes, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 016H, 00H, 00H
$DGS END_BLK, ??eb00_FMWriteBytes, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 018H
$DGS END_FUN, ??ef_FMWriteBytes, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 01EH
$DGS GLV_SYM, _FMReadBytes, U, U, 0800CH, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 08FH, 00H
$DGS BEG_FUN, ??bf_FMReadBytes, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 013DH, 06H, 089H
$DGS FUN_ARG, _buff, 04H, 0FFFFH, 0CH, 09H, 00H, 01H
$DGS FUN_ARG, _page, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS FUN_ARG, _inpage, 0CH, 0FFFFH, 0CH, 09H, 00H, 00H
$DGS FUN_ARG, _bytes, 0EH, 0FFFFH, 0EH, 09H, 00H, 00H
$DGS AUT_VAR, _p, 03H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _i, 01H, 0FFFFH, 0EH, 01H, 00H, 00H
$DGS BEG_BLK, ??bb00_FMReadBytes, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 019H, 00H, 00H
$DGS END_BLK, ??eb00_FMReadBytes, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 026H
$DGS END_FUN, ??ef_FMReadBytes, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 02CH
$DGS GLV_SYM, _@RTARG0, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@iumul, U, U, 00H, 02H, 00H, 00H
EXTRN _@RTARG0
EXTRN @@iumul
PUBLIC _FMWrite
PUBLIC _FMRead
PUBLIC _StartBit
PUBLIC _StopBit
PUBLIC _SendAByte
PUBLIC _ReceiveAByte
PUBLIC _FMWriteBytes
PUBLIC _FMReadBytes
@@BITS BSEG
@@CNST CSEG UNITP
@@R_INIT CSEG UNITP
@@INIT DSEG UNITP
@@DATA DSEG UNITP
@@R_INIS CSEG UNITP
@@INIS DSEG SADDRP
@@DATS DSEG SADDRP
@@CALT CSEG CALLT0
; line 7
; line 8
; line 7
; line 8
; line 9
; line 10
; line 13
; line 14
; line 26
@@CODE CSEG
_StartBit:
$DGL 1,14
??bf_StartBit:
; line 27
$DGL 0,2
set1 P4.0 ;[INF] 2, 4
; line 28
$DGL 0,3
set1 P4.1 ;[INF] 2, 4
; line 29
$DGL 0,4
nop ;[INF] 1, 2
; line 30
$DGL 0,5
clr1 P4.1 ;[INF] 2, 4
; line 31
$DGL 0,6
??ef_StartBit:
ret ;[INF] 1, 6
??ee_StartBit:
; line 43
_StopBit:
$DGL 1,20
??bf_StopBit:
; line 44
$DGL 0,2
clr1 P4.1 ;[INF] 2, 4
; line 45
$DGL 0,3
nop ;[INF] 1, 2
; line 46
$DGL 0,4
set1 P4.0 ;[INF] 2, 4
; line 47
$DGL 0,5
nop ;[INF] 1, 2
; line 48
$DGL 0,6
set1 P4.1 ;[INF] 2, 4
; line 49
$DGL 0,7
??ef_StopBit:
ret ;[INF] 1, 6
??ee_StopBit:
; line 61
_SendAByte:
$DGL 1,26
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_SendAByte:
; line 66
$DGL 0,6
mov a,#00H ; 0 ;[INF] 2, 4
mov [hl+3],a ; i ;[INF] 2, 8
?L0007:
mov a,[hl+3] ; i ;[INF] 2, 8
cmp a,#08H ; 8 ;[INF] 2, 4
bnc $?L0008 ;[INF] 2, 6
; line 67
$DGL 0,7
??bb00_SendAByte:
; line 68
$DGL 0,8
clr1 P4.0 ;[INF] 2, 4
; line 69
$DGL 0,9
mov a,[hl+4] ; I_data ;[INF] 2, 8
and a,#080H ; 128 ;[INF] 2, 4
mov [hl+1],a ; b ;[INF] 2, 8
; line 70
$DGL 0,10
rol a,1 ;[INF] 1, 2
and a,#01H ; 1 ;[INF] 2, 4
mov [hl+1],a ; b ;[INF] 2, 8
; line 71
$DGL 0,11
rorc a,1 ;[INF] 1, 2
mov1 P4.1,CY ;[INF] 3, 6
; line 72
$DGL 0,12
nop ;[INF] 1, 2
; line 73
$DGL 0,13
set1 P4.0 ;[INF] 2, 4
; line 74
$DGL 0,14
nop ;[INF] 1, 2
; line 75
$DGL 0,15
nop ;[INF] 1, 2
; line 76
$DGL 0,16
mov a,[hl+4] ; I_data ;[INF] 2, 8
add a,a ;[INF] 2, 4
mov [hl+4],a ; I_data ;[INF] 2, 8
??eb00_SendAByte:
; line 77
$DGL 0,17
mov a,[hl+3] ; i ;[INF] 2, 8
inc a ;[INF] 1, 2
mov [hl+3],a ; i ;[INF] 2, 8
br $?L0007 ;[INF] 2, 6
?L0008:
; line 78
$DGL 0,18
clr1 P4.0 ;[INF] 2, 4
; line 79
$DGL 0,19
nop ;[INF] 1, 2
; line 80
$DGL 0,20
nop ;[INF] 1, 2
; line 81
$DGL 0,21
set1 P4.0 ;[INF] 2, 4
; line 83
$DGL 0,23
set1 PM4.1 ;[INF] 3, 8
; line 84
$DGL 0,24
nop ;[INF] 1, 2
; line 87
$DGL 0,27
mov a,#00H ; 0 ;[INF] 2, 4
mov [hl+2],a ; count ;[INF] 2, 8
; line 90
$DGL 0,30
?L0010:
bf P4.1,$?L0011 ;[INF] 4,10
; line 91
$DGL 0,31
??bb01_SendAByte:
; line 92
$DGL 0,32
mov WDTE,#0ACH ; 172 ;[INF] 3, 7
; line 95
$DGL 0,35
mov a,[hl+2] ; count ;[INF] 2, 8
inc a ;[INF] 1, 2
bnz $?L0012 ;[INF] 2, 6
movw bc,#0FFH ; 255 ;[INF] 3, 6
br $?L0006 ;[INF] 2, 6
?L0012:
; line 98
$DGL 0,38
mov a,[hl+2] ; count ;[INF] 2, 8
inc a ;[INF] 1, 2
mov [hl+2],a ; count ;[INF] 2, 8
??eb01_SendAByte:
br $?L0010 ;[INF] 2, 6
?L0011:
; line 102
$DGL 0,42
clr1 P4.0 ;[INF] 2, 4
; line 104
$DGL 0,44
clr1 PM4.1 ;[INF] 3, 8
; line 105
$DGL 0,45
nop ;[INF] 1, 2
; line 107
$DGL 0,47
movw bc,#00H ; 0 ;[INF] 3, 6
?L0006:
; line 108
$DGL 0,48
??ef_SendAByte:
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_SendAByte:
; line 121
_ReceiveAByte:
$DGL 1,44
push hl ;[INF] 1, 4
??bf_ReceiveAByte:
; line 125
$DGL 0,5
set1 PM4.1 ;[INF] 3, 8
; line 126
$DGL 0,6
nop ;[INF] 1, 2
; line 128
$DGL 0,8
mov l,#08H ; 8 ;[INF] 2, 4
; line 129
$DGL 0,9
mov h,#00H ; 0 ;[INF] 2, 4
; line 130
$DGL 0,10
?L0016:
dec l ;[INF] 1, 2
mov a,l ;[INF] 1, 2
inc a ;[INF] 1, 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -