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

📄 sunsco-avr-m8-min-system.lss

📁 M8最小系统资料包
💻 LSS
字号:

SUNSCO-AVR-M8-MIN-SYSTEM.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000a2  00000000  00000000  00000054  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .debug_aranges 00000020  00000000  00000000  000000f6  2**0
                  CONTENTS, READONLY, DEBUGGING
  2 .debug_pubnames 0000001b  00000000  00000000  00000116  2**0
                  CONTENTS, READONLY, DEBUGGING
  3 .debug_info   00000130  00000000  00000000  00000131  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_abbrev 000000ca  00000000  00000000  00000261  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_line   00000150  00000000  00000000  0000032b  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_frame  00000020  00000000  00000000  0000047c  2**2
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_str    000000de  00000000  00000000  0000049c  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_loc    00000028  00000000  00000000  0000057a  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_ranges 00000048  00000000  00000000  000005a2  2**0
                  CONTENTS, READONLY, DEBUGGING

Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54	; 0x54 <__ctors_end>
   4:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
   8:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
   c:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  10:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  14:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  18:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  1c:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  20:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  24:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  28:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  2c:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  30:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  34:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  38:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  3c:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  40:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  44:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  48:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  4c:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>
  50:	0c 94 34 00 	jmp	0x68	; 0x68 <__bad_interrupt>

00000054 <__ctors_end>:
  54:	11 24       	eor	r1, r1
  56:	1f be       	out	0x3f, r1	; 63
  58:	cf e5       	ldi	r28, 0x5F	; 95
  5a:	d4 e0       	ldi	r29, 0x04	; 4
  5c:	de bf       	out	0x3e, r29	; 62
  5e:	cd bf       	out	0x3d, r28	; 61
  60:	0e 94 36 00 	call	0x6c	; 0x6c <main>
  64:	0c 94 4f 00 	jmp	0x9e	; 0x9e <_exit>

00000068 <__bad_interrupt>:
  68:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

0000006c <main>:
#include<avr/io.h>
#include<util/delay.h>

int main(void)
{
	DDRD=0xff;				//PA输出
  6c:	8f ef       	ldi	r24, 0xFF	; 255
  6e:	81 bb       	out	0x11, r24	; 17
	PORTD=0xff;				//PA置0
  70:	82 bb       	out	0x12, r24	; 18
  72:	30 e0       	ldi	r19, 0x00	; 0
  74:	21 e0       	ldi	r18, 0x01	; 1
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  76:	48 ec       	ldi	r20, 0xC8	; 200
  78:	50 e0       	ldi	r21, 0x00	; 0
  7a:	01 c0       	rjmp	.+2      	; 0x7e <main+0x12>
	{
		unsigned char i,a=1;	//定义变量
		for(i=0;i<8;i++)		//限制左移8次
		{
			PORTD=~a;			//赋值
			a=a<<1;				//左移1次
  7c:	22 0f       	add	r18, r18
	while(1)
	{
		unsigned char i,a=1;	//定义变量
		for(i=0;i<8;i++)		//限制左移8次
		{
			PORTD=~a;			//赋值
  7e:	82 2f       	mov	r24, r18
  80:	80 95       	com	r24
  82:	82 bb       	out	0x12, r24	; 18
  84:	88 ee       	ldi	r24, 0xE8	; 232
  86:	93 e0       	ldi	r25, 0x03	; 3
  88:	fa 01       	movw	r30, r20
  8a:	31 97       	sbiw	r30, 0x01	; 1
  8c:	f1 f7       	brne	.-4      	; 0x8a <main+0x1e>
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
  8e:	01 97       	sbiw	r24, 0x01	; 1
		__ticks = 1;
	else if (__tmp > 65535)
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
  90:	d9 f7       	brne	.-10     	; 0x88 <main+0x1c>
	DDRD=0xff;				//PA输出
	PORTD=0xff;				//PA置0
	while(1)
	{
		unsigned char i,a=1;	//定义变量
		for(i=0;i<8;i++)		//限制左移8次
  92:	3f 5f       	subi	r19, 0xFF	; 255
  94:	38 30       	cpi	r19, 0x08	; 8
  96:	90 f3       	brcs	.-28     	; 0x7c <main+0x10>
  98:	30 e0       	ldi	r19, 0x00	; 0
  9a:	21 e0       	ldi	r18, 0x01	; 1
  9c:	f0 cf       	rjmp	.-32     	; 0x7e <main+0x12>

0000009e <_exit>:
  9e:	f8 94       	cli

000000a0 <__stop_program>:
  a0:	ff cf       	rjmp	.-2      	; 0xa0 <__stop_program>

⌨️ 快捷键说明

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