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

📄 wxjtest1.lst

📁 almegal128串口编程
💻 LST
📖 第 1 页 / 共 3 页
字号:
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/ccyqaaaa.s 			page 1


   1               		.file	"wxjtest1.c"
   2               		.arch atmega128
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               	_PC_ = 2
   9               		.global __do_copy_data
  10               		.global __do_clear_bss
  11               		.stabs	"C:\\nut\\app\\wxjuart1/",100,0,0,.Ltext0
  12               		.stabs	"wxjtest1.c",100,0,0,.Ltext0
  13               		.text
  14               	.Ltext0:
  15               		.stabs	"gcc2_compiled.",60,0,0,0
  16               		.stabs	"int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
  17               		.stabs	"char:t(0,2)=r(0,2);0;127;",128,0,0,0
  18               		.stabs	"long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0
  19               		.stabs	"unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0
  20               		.stabs	"long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0
  21               		.stabs	"long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,
  22               		.stabs	"long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,
  23               		.stabs	"short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
  24               		.stabs	"short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0
  25               		.stabs	"signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
  26               		.stabs	"unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
  27               		.stabs	"float:t(0,12)=r(0,1);4;0;",128,0,0,0
  28               		.stabs	"double:t(0,13)=r(0,1);4;0;",128,0,0,0
  29               		.stabs	"long double:t(0,14)=r(0,1);4;0;",128,0,0,0
  30               		.stabs	"complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0
  31               		.stabs	"complex float:t(0,16)=r(0,16);8;0;",128,0,0,0
  32               		.stabs	"complex double:t(0,17)=r(0,17);8;0;",128,0,0,0
  33               		.stabs	"complex long double:t(0,18)=r(0,18);8;0;",128,0,0,0
  34               		.stabs	"__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0
  35               		.stabs	"_Bool:t(0,21)=@s8;-16;",128,0,0,0
  36               		.stabs	"wxjtest1.c",130,0,0,0
  37               		.stabs	"c:/avrgcc/avr/include/io.h",130,0,0,0
  38               		.stabs	"c:/avrgcc/avr/include/iom128.h",130,0,0,0
  39               		.stabs	"c:/avrgcc/avr/include/sfr_defs.h",130,0,0,0
  40               		.stabn	162,0,0,0
  41               		.stabn	162,0,0,0
  42               		.stabn	162,0,0,0
  43               		.stabs	"c:/avrgcc/avr/include/interrupt.h",130,0,0,0
  44               		.stabn	162,0,0,0
  45               		.stabs	"c:/avrgcc/avr/include/signal.h",130,0,0,0
  46               		.stabs	"c:/avrgcc/avr/include/sig-avr.h",130,0,0,0
  47               		.stabn	162,0,0,0
  48               		.stabn	162,0,0,0
  49               		.stabs	"/avrgcc/include/fs/uromfs.h",130,0,0,0
  50               		.stabs	"c:/avrgcc/avr/include/pgmspace.h",130,0,0,0
  51               		.stabs	"c:/avrgcc/lib/gcc-lib/avr/3.2/include/stddef.h",130,0,0,0
  52               		.stabs	"size_t:t(10,1)=(0,4)",128,0,201,0
  53               		.stabn	162,0,0,0
  54               		.stabs	"prog_void:t(9,1)=(9,2)=(9,2)",128,0,69,0
  55               		.stabs	"prog_char:t(9,3)=(9,4)=@s8;r(9,4);-128;127;",128,0,70,0
  56               		.stabs	"prog_uchar:t(9,5)=(9,6)=@s8;r(9,6);0;255;",128,0,71,0
  57               		.stabs	"prog_int:t(9,7)=(9,8)=r(9,8);-32768;32767;",128,0,72,0
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/ccyqaaaa.s 			page 2


  58               		.stabs	"prog_long:t(9,9)=(9,10)=@s32;r(9,10);0020000000000;0017777777777;",128,0,73,0
  59               		.stabs	"prog_long_long:t(9,11)=(9,12)=@s64;r(9,12);01000000000000000000000;0777777777777777777777;
  60               		.stabs	"c:/avrgcc/avr/include/ina90.h",130,0,0,0
  61               		.stabs	"c:/avrgcc/avr/include/eeprom.h",130,0,0,0
  62               		.stabs	"c:/avrgcc/lib/gcc-lib/avr/3.2/include/stddef.h",130,0,0,0
  63               		.stabn	162,0,0,0
  64               		.stabn	162,0,0,0
  65               		.stabn	162,0,0,0
  66               		.stabn	162,0,0,0
  67               		.stabs	"/avrgcc/include/sys/types.h",130,0,0,0
  68               		.stabs	"/avrgcc/include/compiler.h",130,0,0,0
  69               		.stabn	162,0,0,0
  70               		.stabs	"u_char:t(14,1)=(0,11)",128,0,113,0
  71               		.stabs	"u_short:t(14,2)=(0,9)",128,0,115,0
  72               		.stabs	"u_int:t(14,3)=(0,4)",128,0,117,0
  73               		.stabs	"u_long:t(14,4)=(0,5)",128,0,119,0
  74               		.stabs	"u_longlong:t(14,5)=(0,7)",128,0,121,0
  75               		.stabs	"HANDLE:t(14,6)=(14,7)=*(0,20)",128,0,123,0
  76               		.stabn	162,0,0,0
  77               		.stabs	"ROMENTRY:t(8,1)=(8,2)=xs_ROMENTRY:",128,0,58,0
  78               		.stabs	"_ROMENTRY:T(8,2)=s8rome_next:(8,3)=*(8,1),0,16;rome_name:(8,4)=*(14,1),16,16;rome_size:(14
  79               		.stabs	"ROMFILE:t(8,6)=(8,7)=xs_ROMFILE:",128,0,83,0
  80               		.stabs	"_ROMFILE:T(8,7)=s4romf_entry:(8,3),0,16;romf_pos:(14,2),16,16;;",128,0,0,0
  81               		.stabn	162,0,0,0
  82               		.stabs	"u08:t(1,1)=(0,11)",128,0,28,0
  83               		.stabs	"s08:t(1,2)=(0,2)",128,0,29,0
  84               		.stabs	"u16:t(1,3)=(0,9)",128,0,30,0
  85               		.stabs	"s16:t(1,4)=(0,8)",128,0,31,0
  86               	.global	trans_cpl
  87               	.global	trans_cpl
  88               		.section .bss
  89               		.type	trans_cpl,@object
  90               		.size	trans_cpl,1
  91               	trans_cpl:
  92 0000 00        		.skip 1,0
  93               	.global	seriel_re_buf
  94               	.global	seriel_re_buf
  95               		.type	seriel_re_buf,@object
  96               		.size	seriel_re_buf,42
  97               	seriel_re_buf:
  98 0001 0000 0000 		.skip 42,0
  98      0000 0000 
  98      0000 0000 
  98      0000 0000 
  98      0000 0000 
  99               	.global	seriel_tx_buf
 100               		.data
 101               		.type	seriel_tx_buf,@object
 102               		.size	seriel_tx_buf,42
 103               	seriel_tx_buf:
 104 0000 4571 7569 		.string	"Equipment Is Ready,Enter Command"
 104      706D 656E 
 104      7420 4973 
 104      2052 6561 
 104      6479 2C45 
 105 0021 0000 0000 		.skip 9,0
 105      0000 0000 
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/ccyqaaaa.s 			page 3


 105      00
 106               	.global	size
 107               		.type	size,@object
 108               		.size	size,1
 109               	size:
 110 002a 28        		.byte	40
 111               		.text
 112               		.stabs	"uart_init:F(0,20)",36,0,73,uart_init
 113               		.stabs	"baud:P(1,3)",64,0,71,24
 114               	.global	uart_init
 115               		.type	uart_init,@function
 116               	uart_init:
   1:wxjtest1.c    **** /*
   2:wxjtest1.c    ****     Title:    AVR-GCC test program #1 for the STK200 eva board
   3:wxjtest1.c    ****     Author:   Volker Oth
   4:wxjtest1.c    ****     Date:     4/1999
   5:wxjtest1.c    ****     Purpose:  Flashes the LEDs on Port B with a hard coded delay loop
   6:wxjtest1.c    ****     needed
   7:wxjtest1.c    ****     Software: AVR-GCC
   8:wxjtest1.c    ****     needed
   9:wxjtest1.c    ****     Hardware: ATS90S8515/8535/2313/mega on STK200/STK300 board
  10:wxjtest1.c    ****     Note:     To contact me, mail to
  11:wxjtest1.c    ****                   volkeroth@gmx.de
  12:wxjtest1.c    ****               You might find more AVR related stuff at my homepage:
  13:wxjtest1.c    ****                   http://members.xoom.com/volkeroth
  14:wxjtest1.c    **** */
  15:wxjtest1.c    **** #include <io.h>
  16:wxjtest1.c    **** #include <interrupt.h>
  17:wxjtest1.c    **** #include <signal.h>
  18:wxjtest1.c    **** #include <sig-avr.h>Z
  19:wxjtest1.c    **** #include <fs/uromfs.h>
  20:wxjtest1.c    **** 
  21:wxjtest1.c    **** #define F_CPU            14745600      /* 4Mhz */
  22:wxjtest1.c    **** #define UART_BAUD_RATE       9600      /* 9600 baud */
  23:wxjtest1.c    **** 
  24:wxjtest1.c    **** 
  25:wxjtest1.c    **** #define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)
  26:wxjtest1.c    **** 
  27:wxjtest1.c    **** 
  28:wxjtest1.c    **** typedef unsigned char  u08;
  29:wxjtest1.c    **** typedef          char  s08;
  30:wxjtest1.c    **** typedef unsigned short u16;
  31:wxjtest1.c    **** typedef          short s16;
  32:wxjtest1.c    **** 
  33:wxjtest1.c    **** 
  34:wxjtest1.c    **** /* uart globals */
  35:wxjtest1.c    **** static volatile u08 *uart_data_ptr;
  36:wxjtest1.c    **** static volatile u08 uart_counter;
  37:wxjtest1.c    **** 
  38:wxjtest1.c    **** unsigned char led,seriel_data,seriel_re_time,trans_data,
  39:wxjtest1.c    **** 		seriel_tx_time,trans_cpl=0;
  40:wxjtest1.c    **** u16 rate;
  41:wxjtest1.c    **** void uart_init(u16 band);
  42:wxjtest1.c    **** u08 seriel_re_buf[42]={0};
  43:wxjtest1.c    **** u08 seriel_tx_buf[42]={"Equipment Is Ready,Enter Command"};
  44:wxjtest1.c    **** u08 seriel_trans_ok,xi,size=40;
  45:wxjtest1.c    **** /*prog_char message_to_kandshake[8][40]=
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/ccyqaaaa.s 			page 4


  46:wxjtest1.c    ****                   {
  47:wxjtest1.c    ****                    {"The eqiupment is ready."},
  48:wxjtest1.c    ****                    {"please enter the optional commands."},
  49:wxjtest1.c    ****                    {"please enter a new parameter!"},
  50:wxjtest1.c    ****                    {"gain_set:XX  freq_set:XX  outp_set:XX"},
  51:wxjtest1.c    ****                    {"work_status_check:"},
  52:wxjtest1.c    ****                    {"speed of comminication set:"},
  53:wxjtest1.c    ****                    {"maximum level of output:"},
  54:wxjtest1.c    ****                    {"command errer!"},
  55:wxjtest1.c    ****                    {"please enter a correct command."}
  56:wxjtest1.c    ****                   };*/
  57:wxjtest1.c    **** 
  58:wxjtest1.c    **** //SIGNAL(SIG_OVERFLOW0)        /* signal handler for tcnt0 overflow interrupt */
  59:wxjtest1.c    **** //{
  60:wxjtest1.c    ****  //   outp(~led, PORTB);       /* invert the output since a zero means: LED on */
  61:wxjtest1.c    ****  //   led <<= 1;               /* move to next LED */
  62:wxjtest1.c    ****  //   if (!led)                /* overflow: start with Port B0 again */
  63:wxjtest1.c    ****  //       led = 1;
  64:wxjtest1.c    ****  //   outp(0x40, TCNT0);          /* reset counter to get this interrupt again 
  65:wxjtest1.c    ****                                  //定时器初值*/
  66:wxjtest1.c    **** //}
  67:wxjtest1.c    ****                          
  68:wxjtest1.c    **** 
  69:wxjtest1.c    **** 
  70:wxjtest1.c    **** 
  71:wxjtest1.c    **** void uart_init(u16 baud)
  72:wxjtest1.c    ****          /* initialize uart */
  73:wxjtest1.c    **** {
 117               		.stabn 68,0,73,.LM1-uart_init
 118               	.LM1:
 119               	/* prologue: frame size=0 */
 120               	/* prologue end (size=0) */
  74:wxjtest1.c    ****     /* enable RxD/TxD and ints */
  75:wxjtest1.c    ****     outp((1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN),UCSR0B);
 121               		.stabn 68,0,75,.LM2-uart_init
 122               	.LM2:
 123 0000 88ED      		ldi r24,lo8(-40)
 124 0002 8AB9      		out 42-0x20,r24
  76:wxjtest1.c    ****     outp((1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN),UCSR1B);     
 125               		.stabn 68,0,76,.LM3-uart_init
 126               	.LM3:
 127 0004 8093 9A00 		sts 154,r24
  77:wxjtest1.c    ****     /*outp(1<<RXC,UCSR1A);*/     
  78:wxjtest1.c    ****     /* set baud rate */
  79:wxjtest1.c    ****     outp((u08)UART_BAUD_SELECT, UBRR0L);
 128               		.stabn 68,0,79,.LM4-uart_init
 129               	.LM4:
 130 0008 8FE5      		ldi r24,lo8(95)
 131 000a 89B9      		out 41-0x20,r24
  80:wxjtest1.c    ****     outp((u08)UART_BAUD_SELECT, UBRR1L);
 132               		.stabn 68,0,80,.LM5-uart_init
 133               	.LM5:
 134 000c 8093 9900 		sts 153,r24
  81:wxjtest1.c    ****     baud=UART_BAUD_SELECT;
  82:wxjtest1.c    ****     UBRR0H=(u08)baud>>8;
 135               		.stabn 68,0,82,.LM6-uart_init
 136               	.LM6:
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/ccyqaaaa.s 			page 5


 137 0010 80E0      		ldi r24,lo8(0)
 138 0012 90E0      		ldi r25,hi8(0)
 139 0014 8093 9000 		sts 144,r24
  83:wxjtest1.c    ****     UBRR1H=(u08)baud>>8;
 140               		.stabn 68,0,83,.LM7-uart_init
 141               	.LM7:
 142 0018 8093 9800 		sts 152,r24
  84:wxjtest1.c    ****     //outp((u08)baud,UBRR0L);         
  85:wxjtest1.c    **** }
 143               		.stabn 68,0,85,.LM8-uart_init
 144               	.LM8:
 145               	/* epilogue: frame size=0 */
 146 001c 0895      		ret
 147               	/* epilogue end (size=1) */
 148               	/* function uart_init size 15 (14) */
 149               	.Lfe1:
 150               		.size	uart_init,.Lfe1-uart_init
 151               	.Lscope0:
 152               		.stabs	"",36,0,0,.Lscope0-uart_init
 153               		.stabs	"__vector_20:F(0,20)",36,0,89,__vector_20
 154               	.global	__vector_20
 155               		.type	__vector_20,@function
 156               	__vector_20:
  86:wxjtest1.c    **** 
  87:wxjtest1.c    **** SIGNAL(SIG_UART0_TRANS)      
  88:wxjtest1.c    **** /* signal handler for uart txd ready interrupt */
  89:wxjtest1.c    **** {
 157               		.stabn 68,0,89,.LM9-__vector_20
 158               	.LM9:
 159               	/* prologue: frame size=0 */
 160 001e 1F92      		push __zero_reg__
 161 0020 0F92      		push __tmp_reg__
 162 0022 0FB6      		in __tmp_reg__,__SREG__
 163 0024 0F92      		push __tmp_reg__
 164 0026 1124      		clr __zero_reg__
 165 0028 8F93      		push r24
 166 002a 9F93      		push r25
 167 002c EF93      		push r30
 168 002e FF93      		push r31
 169               	/* prologue end (size=9) */
  90:wxjtest1.c    ****     seriel_tx_time++;
 170               		.stabn 68,0,90,.LM10-__vector_20
 171               	.LM10:
 172 0030 9091 0000 		lds r25,seriel_tx_time
 173 0034 9F5F      		subi r25,lo8(-(1))
 174 0036 9093 0000 		sts seriel_tx_time,r25
  91:wxjtest1.c    ****     //led=~led;
  92:wxjtest1.c    ****     /*outp(led,PORTB);*/
  93:wxjtest1.c    ****     if (uart_counter>0)
 175               		.stabn 68,0,93,.LM11-__vector_20
 176               	.LM11:
 177 003a 8091 0000 		lds r24,uart_counter
 178 003e 8823      		tst r24
 179 0040 71F0      		breq .L3
  94:wxjtest1.c    ****     {
  95:wxjtest1.c    ****     	uart_counter--;
 180               		.stabn 68,0,95,.LM12-__vector_20
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/ccyqaaaa.s 			page 6


 181               	.LM12:
 182 0042 8091 0000 		lds r24,uart_counter
 183 0046 8150      		subi r24,lo8(-(-1))
 184 0048 8093 0000 		sts uart_counter,r24
  96:wxjtest1.c    ****     	trans_data=(u08)seriel_tx_buf[seriel_tx_time];
 185               		.stabn 68,0,96,.LM13-__vector_20
 186               	.LM13:
 187 004c E0E0      		ldi r30,lo8(seriel_tx_buf)
 188 004e F0E0      		ldi r31,hi8(seriel_tx_buf)
 189 0050 E90F      		add r30,r25
 190 0052 F11D      		adc r31,__zero_reg__
 191 0054 8081      		ld r24,Z
 192 0056 8093 0000 		sts trans_data,r24
  97:wxjtest1.c    ****         outp(trans_data, UDR0);       /* write byte to data buffer */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -