📄 main.c.o.lst
字号:
ANSI-C/cC++ Compiler for HC12 V-5.0.35 Build 8093, Apr 3 2008
1: #include <hidef.h> /* common defines and macros */
2: #include <MC9S12XS128.h> /* derivative information */
3: #pragma LINK_INFO DERIVATIVE "mc9s12xs128"
4:
5: void PWM_Init(void)
6: {
Function: PWM_Init
Source : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106
7: //SB,B for ch2367
8: //SA,A for ch0145
9: PWMPRCLK = 0X55; //clockA,CLK B 32分频:500khz
0000 cc0255 [2] LDD #597
0003 7b0000 [3] STAB _PWMPRCLK
10: PWMSCLA = 0x02; //对clock SA 进行2*PWMSCLA=4分频;pwm clock=clockA/4=125KHz;
0006 7a0000 [3] STAA _PWMSCLA
11: PWMSCLB = 0X02; //clk SB=clk B/(2*pwmsclb)=125KHZ
0009 7a0000 [3] STAA _PWMSCLB
12: //pwm1
13: PWMCNT1 = 0;
000c 790000 [3] CLR _PWMCNT01:1
14: PWMCAE_CAE1=0;
000f 1d000002 [4] BCLR _PWMCAE,#2
15: PWMPOL_PPOL1=0;
0013 1d000002 [4] BCLR _PWMPOL,#2
16: PWMPER1 =125;
0017 c67d [1] LDAB #125
0019 7b0000 [3] STAB _PWMPER01:1
17: PWMDTY1 =100;
001c c664 [1] LDAB #100
001e 7b0000 [3] STAB _PWMDTY01:1
18: PWMCLK_PCLK1 = 1;
0021 1c000002 [4] BSET _PWMCLK,#2
19: PWME_PWME1 = 0;
0025 1d000002 [4] BCLR _PWME,#2
20: }
0029 3d [5] RTS
21:
22:
23: #define BusClock 8000000 //8MHz
24: #define BaudRate 9600 //SCI baud rate (hz)
25:
26:
27:
28:
29: /*=========================================================
30: GLOBAL VIRIABLE DEFINE ( FirstSndThd )
31: ==========================================================*/
32:
33:
34:
35:
36:
37:
38: /*=========================================================
39: FUNCTION DECLARE ( Module_Func_ADDITION() ) ( GE = general )
40: ==========================================================*/
41:
42: void GE_Delay( unsigned int x ); //延时控制
43:
44: void SCI_Init( void ); //SCI初始化函数,波特率根据宏定义
45: void SCI_Tx( byte TxData ); //SCI发送数据函数
46: //byte SCI_Rx( void ); //SCI接收数据函数
47: interrupt void SCI_Rx_IRS( void ); //SCI接收中断处理【回显】函数
48:
49:
50:
51:
52:
53: /*==========================================================
54: FUNCTION DEFINE
55: ===========================================================*/
56:
57: void main(void)
58: {
Function: main
Source : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106
59: DisableInterrupts;
0000 1410 [1] SEI
60:
61: SCI_Init();
0002 160000 [4] JSR SCI_Init
62:
63: EnableInterrupts;
0005 10ef [1] CLI
64:
65: for( ; ; )
66: {
67: SCI_Tx( 'a' );
0007 c661 [1] LDAB #97
0009 160000 [4] JSR SCI_Tx
68: GE_Delay( 50 );
000c c632 [1] LDAB #50
000e 87 [1] CLRA
000f 160000 [4] JSR GE_Delay
0012 20f3 [3] BRA *-11 ;abs = 0007
69: }
70:
71: }
72:
73:
74: void GE_Delay( unsigned int x )
75: {
Function: GE_Delay
Source : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106
0000 6cac [2] STD 4,-SP
76: unsigned int i,j;
77: for( i=0;i<=x;i++ )
0002 186982 [3] CLRW 2,SP
0005 200b [3] BRA *+13 ;abs = 0012
78: for( j=0;j<=10000;j++ )
0007 1887 [2] CLRX
0009 08 [1] INX
000a 8e2710 [2] CPX #10000
000d 23fa [3/1] BLS *-4 ;abs = 0009
000f 186282 [4] INCW 2,SP
0012 ec82 [3] LDD 2,SP
0014 ac80 [3] CPD 0,SP
0016 23ef [3/1] BLS *-15 ;abs = 0007
79: ;
80: }
0018 1b84 [2] LEAS 4,SP
001a 3d [5] RTS
81:
82: void SCI_Init( void )
83: {
Function: SCI_Init
Source : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106
84: SCI0BDL = ( byte ) ( BusClock / BaudRate / 16 ); //必须/16,不能写出后两项相乘
0000 cc2c34 [2] LDD #11316
0003 5b00 [2] STAB _SCI0BD:1
85: SCI0CR1 = 0x00; //8位数据位,1位停止位,无校验
0005 790000 [3] CLR _SCI0ACR2
86: SCI0CR2 = 0x2C; //接收中断使能,使能发送与接收
0008 5a00 [2] STAA _SCI0CR2
87: }
000a 3d [5] RTS
88:
89: void SCI_Tx( byte TxData )
90: {
Function: SCI_Tx
Source : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106
91: unsigned char ReadStatus1;
92:
93: // ReadStatus1 = SCI0SR1; //为清除标志位,读状态寄存器【下次写入后完全清除】
94: SCI0DRH = 0;
0000 790000 [3] CLR _SCI0DRH
95: SCI0DRL = TxData; //将待发数据写入寄存器
0003 5b00 [2] STAB _SCI0DRL
96: while( !SCI0SR1_TDRE ); //等待发送结束
0005 4f0080fc [4] BRCLR _SCI0SR1,#128,*+0 ;abs = 0005
97: ReadStatus1 = SCI0SR1; //为清除标志位,读状态寄存器【下次写入后完全清除】
0009 d600 [3] LDAB _SCI0SR1
98: }
000b 3d [5] RTS
99:
100: /*
101: byte SCI_Rx_IRS( void );
102: */
103:
104:
105: //不能有返回值
106: interrupt 20 void SCI_Rx_IRS( void )
107: {
Function: SCI_Rx_IRS
Source : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106
0000 3b [2] PSHD
108: byte ReadStatus1 , RxData;
109:
110: DisableInterrupts;
0001 1410 [1] SEI
111:
112: ReadStatus1 = SCI0SR1;
0003 d600 [3] LDAB _SCI0SR1
0005 6b81 [2] STAB 1,SP
113: RxData = ( byte ) SCI0DRL;
0007 d600 [3] LDAB _SCI0DRL
0009 6b80 [2] STAB 0,SP
114: SCI_Tx( RxData );
000b 0700 [4] BSR SCI_Tx
115: EnableInterrupts;
000d 10ef [1] CLI
116: }
000f 3a [3] PULD
0010 0b [8] RTI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -