⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udisk.s

📁 AVR单片机平台Atmega32+CH375A芯片读写U盘代码
💻 S
📖 第 1 页 / 共 5 页
字号:
	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 + -