📄 udisk.s
字号:
ldi R24,1
sts _mCmdParam,R24
.dbline 692
xcall _CH375FileClose
sts _OperReturn,R16
.dbline 693
tst R16
breq L240
.dbline 694
.dbline 695
xcall _ReturnErrorCode
.dbline 696
xjmp L241
L240:
.dbline 698
.dbline 699
ldi R16,64
xcall _ReturnErrorCode
.dbline 700
L241:
.dbline 701
ldi R24,2
sts _B_status,R24
.dbline 702
xjmp L231
L242:
.dbline 704
clr R16
xcall _ModuleSetOffset
.dbline 705
xjmp L231
L243:
.dbline 707
ldi R16,255
xcall _ModuleSetOffset
.dbline 708
xjmp L231
L244:
.dbline 711
lds R2,_nComBuff+3+8
sts _mCmdParam+8,R2
.dbline 712
lds R2,_nComBuff+3+4
lds R3,_nComBuff+3+4+1
sts _mCmdParam+4+1,R3
sts _mCmdParam+4,R2
.dbline 713
lds R4,_nComBuff+3+2
lds R5,_nComBuff+3+2+1
lds R2,_nComBuff+3
lds R3,_nComBuff+3+1
sts _mCmdParam+1,R3
sts _mCmdParam,R2
sts _mCmdParam+2+1,R5
sts _mCmdParam+2,R4
.dbline 714
lds R2,_nComBuff+3+6
lds R3,_nComBuff+3+6+1
sts _mCmdParam+6+1,R3
sts _mCmdParam+6,R2
.dbline 715
xcall _CH375FileModify
sts _OperReturn,R16
.dbline 716
tst R16
breq L255
.dbline 717
.dbline 718
xcall _ReturnErrorCode
.dbline 719
xjmp L256
L255:
.dbline 721
.dbline 722
ldi R24,64
sts _nComBuff+2,R24
.dbline 723
lds R2,_mCmdParam+8
sts _nComBuff+3+8,R2
.dbline 724
lds R2,_mCmdParam+4
lds R3,_mCmdParam+4+1
sts _nComBuff+3+4+1,R3
sts _nComBuff+3+4,R2
.dbline 725
lds R4,_mCmdParam+2
lds R5,_mCmdParam+2+1
lds R2,_mCmdParam
lds R3,_mCmdParam+1
sts _nComBuff+3+1,R3
sts _nComBuff+3,R2
sts _nComBuff+3+2+1,R5
sts _nComBuff+3+2,R4
.dbline 726
lds R2,_mCmdParam+6
lds R3,_mCmdParam+6+1
sts _nComBuff+3+6+1,R3
sts _nComBuff+3+6,R2
.dbline 727
ldi R24,12
ldi R25,0
sts _nComBuff+1,R25
sts _nComBuff,R24
.dbline 728
L256:
.dbline 729
ldi R24,3
sts _B_status,R24
.dbline 730
xjmp L231
L230:
.dbline 732
ldi R16,72
xcall _ReturnErrorCode
.dbline 733
L231:
.dbline -2
L229:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym l rdcount 1 i
.dbend
.dbfunc e RecieveFrameProcess _RecieveFrameProcess fV
.even
_RecieveFrameProcess::
xcall push_gset1
.dbline -1
.dbline 742
.dbline 743
lds R24,_nComBuff+2
cpi R24,143
brne L269
.dbline 744
xjmp L268
L269:
.dbline 745
lds R20,_B_status
clr R21
cpi R20,1
ldi R30,0
cpc R21,R30
breq L275
cpi R20,2
ldi R30,0
cpc R21,R30
breq L277
cpi R20,3
ldi R30,0
cpc R21,R30
breq L278
xjmp L273
X9:
.dbline 746
L275:
.dbline 748
ldi R24,70
sts _nComBuff+2,R24
.dbline 749
ldi R24,255
sts _DataPrepared,R24
.dbline 750
ldi R24,3
ldi R25,0
sts _nComBuff+1,R25
sts _nComBuff,R24
.dbline 751
xjmp L273
L277:
.dbline 753
xcall _StatusReady
.dbline 754
xjmp L273
L278:
.dbline 757
xcall _StatusOpen
.dbline 758
.dbline 761
L273:
.dbline -2
L268:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbend
.dbfunc e variable _variable fV
.even
_variable::
.dbline -1
.dbline 771
.dbline 772
ldi R24,1
sts _B_status,R24
.dbline 773
ldi R24,<_nComBuff
ldi R25,>_nComBuff
sts _SlaveSendLength+1,R25
sts _SlaveSendLength,R24
.dbline 774
sts _I2cReceiveData+1,R25
sts _I2cReceiveData,R24
.dbline 775
sts _I2cSendData+1,R25
sts _I2cSendData,R24
.dbline 776
ldi R24,<_temp
ldi R25,>_temp
sts _UartRx+1,R25
sts _UartRx,R24
.dbline 777
ldi R24,70
sts _nComBuff+2,R24
.dbline 778
ldi R24,3
ldi R25,0
sts _nComBuff+1,R25
sts _nComBuff,R24
.dbline -2
L279:
.dbline 0 ; func end
ret
.dbend
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 785
.dbline 786
clr R2
out 0x1b,R2
.dbline 787
out 0x1a,R2
.dbline 788
ldi R24,255
out 0x18,R24
.dbline 789
ldi R24,3
out 0x17,R24
.dbline 790
ldi R24,255
out 0x15,R24
.dbline 791
ldi R24,192
out 0x14,R24
.dbline 792
ldi R24,255
out 0x12,R24
.dbline 793
ldi R24,241
out 0x11,R24
.dbline -2
L281:
.dbline 0 ; func end
ret
.dbend
.dbfunc e watchdog_init _watchdog_init fV
.even
_watchdog_init::
.dbline -1
.dbline 799
.dbline 800
wdr
.dbline 801
ldi R24,13
out 0x21,R24
.dbline -2
L282:
.dbline 0 ; func end
ret
.dbend
.dbfunc e timer0_init _timer0_init fV
.even
_timer0_init::
.dbline -1
.dbline 808
.dbline 809
clr R2
out 0x33,R2
.dbline 810
ldi R24,100
out 0x32,R24
.dbline 811
ldi R24,234
out 0x3c,R24
.dbline 812
ldi R24,5
out 0x33,R24
.dbline -2
L283:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 44
jmp _timer0_ovf_isr
.area text(rom, con, rel)
.dbfile E:\xm\jxf\u盘读写模块\code\udisk_test0827\udisk.c
.dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
.even
_timer0_ovf_isr::
st -y,R2
st -y,R24
in R2,0x3f
st -y,R2
.dbline -1
.dbline 817
.dbline 818
ldi R24,100
out 0x32,R24
.dbline 819
wdr
.dbline 820
lds R2,_ys20ms
tst R2
breq L285
.dbline 821
mov R24,R2
subi R24,1
sts _ys20ms,R24
L285:
.dbline -2
L284:
ld R2,y+
out 0x3f,R2
ld R24,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e init_devices _init_devices fV
.even
_init_devices::
.dbline -1
.dbline 827
.dbline 829
cli
.dbline 830
xcall _port_init
.dbline 831
xcall _watchdog_init
.dbline 832
xcall _timer0_init
.dbline 834
clr R2
out 0x35,R2
.dbline 835
out 0x3b,R2
.dbline 836
ldi R24,1
out 0x39,R24
.dbline 837
sei
.dbline -2
L287:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile E:\xm\jxf\u盘读写模块\code\udisk_test0827\udisk.c
_rdcount::
.blkb 1
.dbsym e rdcount _rdcount c
_DataPrepared::
.blkb 1
.dbsym e DataPrepared _DataPrepared c
_OperReturn::
.blkb 1
.dbsym e OperReturn _OperReturn c
_temp::
.blkb 10
.dbsym e temp _temp A[10:10]c
_B_status::
.blkb 1
.dbsym e B_status _B_status c
_ys20ms::
.blkb 1
.dbsym e ys20ms _ys20ms c
_nComBuff::
.blkb 517
.dbstruct 0 514 .4
.dbfield 0 Bytes i
.dbfield 2 DataBuff A[512:512]c
.dbend
.dbstruct 0 9 .5
.dbfield 0 FileSize l
.dbfield 4 FileDate i
.dbfield 6 FileTime i
.dbfield 8 FileAttr c
.dbend
.dbunion 0 514 .3
.dbfield 0 FileName A[255:255]c
.dbfield 0 SetOffset l
.dbfield 0 ReadBytes i
.dbfield 0 WriteDataVer S[.4]
.dbfield 0 ModifyFileAttrVer S[.5]
.dbend
.dbstruct 0 517 .2
.dbfield 0 FrameLen i
.dbfield 2 Com c
.dbfield 3 VeryData S[.3]
.dbend
.dbstruct 0 514 .8
.dbfield 0 ReadBytes i
.dbfield 2 DataBuff A[512:512]c
.dbend
.dbstruct 0 9 .9
.dbfield 0 FileSize l
.dbfield 4 FileDate i
.dbfield 6 FileTime i
.dbfield 8 FileAttr c
.dbend
.dbstruct 0 13 .10
.dbfield 0 DiskSize l
.dbfield 4 TotalSize l
.dbfield 8 FreeSize l
.dbfield 12 DiskFat c
.dbend
.dbstruct 0 9 .11
.dbfield 0 FileSize l
.dbfield 4 FileDate i
.dbfield 6 FileTime i
.dbfield 8 FileAttr c
.dbend
.dbunion 0 514 .7
.dbfield 0 RealWriteByte i
.dbfield 0 RealOffset l
.dbfield 0 ReadDataVer S[.8]
.dbfield 0 ReadFileAttrVer S[.9]
.dbfield 0 ReadDiskAttrVer S[.10]
.dbfield 0 ModifyFileAttrVer S[.11]
.dbend
.dbstruct 0 517 .6
.dbfield 0 FrameLen i
.dbfield 2 Ack c
.dbfield 3 VeryData S[.7]
.dbend
.dbunion 0 517 _COM_BUFF
.dbfield 0 FrameBuff A[517:517]c
.dbfield 0 ReqData S[.2]
.dbfield 0 AckData S[.6]
.dbend
.dbsym e nComBuff _nComBuff S[_COM_BUFF]
_FILE_DATA_BUF::
.blkb 512
.dbfile E:\xm\jxf\u盘读写模块\code\udisk_test0827/CH375HFB.h
.dbsym e FILE_DATA_BUF _FILE_DATA_BUF A[512:512]c
_DISK_BASE_BUF::
.blkb 512
.dbsym e DISK_BASE_BUF _DISK_BASE_BUF A[512:512]c
_mCmdParam::
.blkb 256
.dbstruct 0 30 .12
.dbfield 0 mBuffer A[30:30]c
.dbend
.dbstruct 0 13 .13
.dbfield 0 mDiskSizeSec l
.dbfield 4 mTotalSector l
.dbfield 8 mFreeSector l
.dbfield 12 mDiskFat c
.dbend
.dbstruct 0 30 .14
.dbfield 0 mPathName A[30:30]c
.dbend
.dbstruct 0 30 .15
.dbfield 0 mPathName A[30:30]c
.dbend
.dbstruct 0 1 .16
.dbfield 0 mUpdateLen c
.dbend
.dbstruct 0 30 .17
.dbfield 0 mPathName A[30:30]c
.dbend
.dbstruct 0 30 .18
.dbfield 0 mPathName A[30:30]c
.dbend
.dbstruct 0 9 .19
.dbfield 0 mFileSize l
.dbfield 4 mFileDate s
.dbfield 6 mFileTime s
.dbfield 8 mFileAttr c
.dbend
.dbstruct 0 4 .20
.dbfield 0 mSectorOffset l
.dbend
.dbstruct 0 1 .21
.dbfield 0 mSectorCount c
.dbend
.dbstruct 0 1 .22
.dbfield 0 mSectorCount c
.dbend
.dbstruct 0 10 .23
.dbfield 0 mSectorCount c
.dbfield 1 mReserved A[7:7]c
.dbfield 8 mDataBuffer pc
.dbend
.dbstruct 0 10 .24
.dbfield 0 mSectorCount c
.dbfield 1 mReserved A[7:7]c
.dbfield 8 mDataBuffer pc
.dbend
.dbstruct 0 4 .25
.dbfield 0 mDiskSizeSec l
.dbend
.dbstruct 0 4 .26
.dbfield 0 mByteOffset l
.dbend
.dbstruct 0 256 .27
.dbfield 0 mByteCount c
.dbfield 1 mByteBuffer A[255:255]c
.dbend
.dbstruct 0 256 .28
.dbfield 0 mByteCount c
.dbfield 1 mByteBuffer A[255:255]c
.dbend
.dbstruct 0 6 .29
.dbfield 0 mSaveVariable c
.dbfield 1 mReserved A[3:3]c
.dbfield 4 mBuffer pc
.dbend
.dbstruct 0 21 .31
.dbfield 0 mCBW_Sig l
.dbfield 4 mCBW_Tag l
.dbfield 8 mCBW_DataLen c
.dbfield 9 mCBW_DataLen1 c
.dbfield 10 mCBW_DataLen2 c
.dbfield 11 mCBW_DataLen3 c
.dbfield 12 mCBW_Flag c
.dbfield 13 mCBW_LUN c
.dbfield 14 mCBW_CB_Len c
.dbfield 15 mCBW_CB_Buf A[6:6]c
.dbend
.dbstruct 0 14 .32
.dbfield 0 mCSW_Sig l
.dbfield 4 mCSW_Tag l
.dbfield 8 mCSW_Residue l
.dbfield 12 mCSW_Status c
.dbfield 13 mReserved c
.dbend
.dbunion 0 21 .30
.dbfield 0 mCBW S[.31]
.dbfield 0 mCSW S[.32]
.dbend
.dbunion 0 256 _CMD_PARAM
.dbfield 0 Other S[.12]
.dbfield 0 Query S[.13]
.dbfield 0 Open S[.14]
.dbfield 0 Enumer S[.15]
.dbfield 0 Close S[.16]
.dbfield 0 Create S[.17]
.dbfield 0 Erase S[.18]
.dbfield 0 Modify S[.19]
.dbfield 0 Locate S[.20]
.dbfield 0 Read S[.21]
.dbfield 0 Write S[.22]
.dbfield 0 ReadX S[.23]
.dbfield 0 WriteX S[.24]
.dbfield 0 DiskSize S[.25]
.dbfield 0 ByteLocate S[.26]
.dbfield 0 ByteRead S[.27]
.dbfield 0 ByteWrite S[.28]
.dbfield 0 SaveVariable S[.29]
.dbfield 0 BOC S[.30]
.dbend
.dbsym e mCmdParam _mCmdParam S[_CMD_PARAM]
.area data(ram, con, rel)
.dbfile E:\xm\jxf\u盘读写模块\code\udisk_test0827/CH375HFB.h
L86:
.blkb 18
.area idata
.byte 'C,'o,'m,'m,'a,'n,'d,32,'r,'e,'c,'e,'i,'v,'e,'d
.byte 10,0
.area data(ram, con, rel)
.dbfile E:\xm\jxf\u盘读写模块\code\udisk_test0827/CH375HFB.h
L80:
.blkb 10
.area idata
.byte 'P,'r,'e,'p,'a,'r,'e,'d,10,0
.area data(ram, con, rel)
.dbfile E:\xm\jxf\u盘读写模块\code\udisk_test0827/CH375HFB.h
L58:
.blkb 7
.area idata
.byte 'S,'t,'a,'r,'t,10,0
.area data(ram, con, rel)
.dbfile E:\xm\jxf\u盘读写模块\code\udisk_test0827/CH375HFB.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -