📄 test.lis
字号:
.module test.c
.area text(rom, con, rel)
0000 .dbfile test.c
0000 .dbfunc e DELAY_1US _DELAY_1US fV
.even
0000 _DELAY_1US::
0000 .dbline -1
0000 .dbline 28
0000 ; //*********************************************************
0000 ; //测试功能:测试9313放大n+1倍 现在放大2倍
0000 ; //测试方法:
0000 ; //测试结果:?
0000 ; //时钟频率:8m
0000 ; //管脚分配:Pd0为使能位,Pd1为时序发生位,Pd2为+或-位
0000 ; //
0000 ; //注意事项:
0000 ; //完成时间:2009.03.18
0000 ; //************************************************
0000 ;
0000 ; //*************************************************
0000 ; //头文件
0000 ; //************************************************
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; //************************************************
0000 ;
0000 ;
0000 ; //**********************************************************
0000 ; //函数名称:void DELAY_1US(void)
0000 ; //参数入口:无
0000 ; //参数出口:无
0000 ; //函数功能:延时1us
0000 ; //注意事项:
0000 ; //**********************************************************
0000 ; void DELAY_1US(void)
0000 ; {
0000 .dbline 29
0000 ; NOP();
0000 0000 nop
0002 .dbline -2
0002 L1:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e DELAY_NUS _DELAY_NUS fV
0004 ; n -> R20,R21
.even
0004 _DELAY_NUS::
0004 0E940000 xcall push_gset1
0008 A801 movw R20,R16
000A .dbline -1
000A .dbline 39
000A ; }
000A ; //**********************************************************
000A ; //函数名称:void DELAY_NUS(void)
000A ; //参数入口:无
000A ; //参数出口:无
000A ; //函数功能:延时nus
000A ; //注意事项:
000A ; //**********************************************************
000A ; void DELAY_NUS(unsigned int n)
000A ; {
000A .dbline 40
000A ; for(;n>0;n--)
000A 03C0 xjmp L6
000C L3:
000C .dbline 41
000C F9DF xcall _DELAY_1US
000E L4:
000E .dbline 40
000E 4150 subi R20,1
0010 5040 sbci R21,0
0012 L6:
0012 .dbline 40
0012 4030 cpi R20,0
0014 4507 cpc R20,R21
0016 D1F7 brne L3
0018 X0:
0018 .dbline -2
0018 L2:
0018 0E940000 xcall pop_gset1
001C .dbline 0 ; func end
001C 0895 ret
001E .dbsym r n 20 i
001E .dbend
001E .dbfunc e DELAY_1MS _DELAY_1MS fV
001E ; i -> R16,R17
.even
001E _DELAY_1MS::
001E .dbline -1
001E .dbline 51
001E ; DELAY_1US();
001E ; }
001E ; //**********************************************************
001E ; //函数名称:void DELAY_1MS(void)
001E ; //参数入口:无
001E ; //参数出口:无
001E ; //函数功能:延时1ms
001E ; //注意事项:i=143*n-2
001E ; //**********************************************************
001E ; void DELAY_1MS(void)
001E ; {
001E .dbline 53
001E ; unsigned int i;
001E ; for(i=1142;i>0;i--)
001E 06E7 ldi R16,1142
0020 14E0 ldi R17,4
0022 02C0 xjmp L11
0024 L8:
0024 .dbline 54
0024 L9:
0024 .dbline 53
0024 0150 subi R16,1
0026 1040 sbci R17,0
0028 L11:
0028 .dbline 53
0028 0030 cpi R16,0
002A 0107 cpc R16,R17
002C D9F7 brne L8
002E X1:
002E .dbline -2
002E L7:
002E .dbline 0 ; func end
002E 0895 ret
0030 .dbsym r i 16 i
0030 .dbend
0030 .dbfunc e DELAY_NMS _DELAY_NMS fV
0030 ; n -> R20,R21
.even
0030 _DELAY_NMS::
0030 0E940000 xcall push_gset1
0034 A801 movw R20,R16
0036 .dbline -1
0036 .dbline 64
0036 ; ;
0036 ; }
0036 ; //**********************************************************
0036 ; //函数名称:void DELAY_1MS(void)
0036 ; //参数入口:无
0036 ; //参数出口:无
0036 ; //函数功能:延时1ms
0036 ; //注意事项:i=143*n-2
0036 ; //**********************************************************
0036 ; void DELAY_NMS(unsigned int n)
0036 ; {
0036 .dbline 65
0036 ; for(;n>0;n--)
0036 03C0 xjmp L16
0038 L13:
0038 .dbline 66
0038 F2DF xcall _DELAY_1MS
003A L14:
003A .dbline 65
003A 4150 subi R20,1
003C 5040 sbci R21,0
003E L16:
003E .dbline 65
003E 4030 cpi R20,0
0040 4507 cpc R20,R21
0042 D1F7 brne L13
0044 X2:
0044 .dbline -2
0044 L12:
0044 0E940000 xcall pop_gset1
0048 .dbline 0 ; func end
0048 0895 ret
004A .dbsym r n 20 i
004A .dbend
004A .dbfunc e PORT_INIT _PORT_INIT fV
.even
004A _PORT_INIT::
004A .dbline -1
004A .dbline 76
004A ; DELAY_1MS();
004A ; }
004A ; //**********************************************************
004A ; //函数名称:void INIT_X9313(void)
004A ; //参数入口:无
004A ; //参数出口:无
004A ; //函数功能:是放大倍数为1
004A ; //注意事项:PD0为使能位,PD1为时序发生位,PD2为+或-位
004A ; //***************************************************
004A ; void PORT_INIT(void)
004A ; {
004A .dbline 77
004A ; DDRA|=0X07;
004A 8AB3 in R24,0x1a
004C 8760 ori R24,7
004E 8ABB out 0x1a,R24
0050 .dbline 78
0050 ; PORTA|=0X07;
0050 8BB3 in R24,0x1b
0052 8760 ori R24,7
0054 8BBB out 0x1b,R24
0056 .dbline -2
0056 L17:
0056 .dbline 0 ; func end
0056 0895 ret
0058 .dbend
0058 .dbfunc e INIT_X9313 _INIT_X9313 fV
0058 ; n -> R20
.even
0058 _INIT_X9313::
0058 0E940000 xcall push_gset1
005C .dbline -1
005C .dbline 88
005C ; }
005C ; //**********************************************************
005C ; //函数名称:void INIT_X9313(void)
005C ; //参数入口:无
005C ; //参数出口:无
005C ; //函数功能:是放大倍数为1
005C ; //注意事项:PD0为使能位,PD1为时序发生位,PD2为+或-位
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -