main.lss

来自「ARP协议,含ARP」· LSS 代码 · 共 2,272 行 · 第 1/5 页

LSS
2,272
字号
     1da:	f1 1d       	adc	r31, r1
     1dc:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     1de:	80 91 9b 00 	lds	r24, 0x009B
     1e2:	85 ff       	sbrs	r24, 5
     1e4:	fc cf       	rjmp	.-8      	; 0x1de <put_str_hex+0x30>
 	UDR1 = c;    /* 发送数据*/
     1e6:	e0 93 9c 00 	sts	0x009C, r30
{//发送字符串函数,发送数组
	
	while(0!=*p)
	{
		put_hex(*p);
		p++;		
     1ea:	11 96       	adiw	r26, 0x01	; 1
}

void put_str_hex(uc *p)
{//发送字符串函数,发送数组
	
	while(0!=*p)
     1ec:	9c 91       	ld	r25, X
     1ee:	99 23       	and	r25, r25
     1f0:	21 f7       	brne	.-56     	; 0x1ba <put_str_hex+0xc>
	{
		put_hex(*p);
		p++;		
	}
	
}
     1f2:	08 95       	ret

000001f4 <put_hex_2>:
void put_hex_2 (us n) {
     1f4:	df 93       	push	r29
     1f6:	cf 93       	push	r28
     1f8:	00 d0       	rcall	.+0      	; 0x1fa <put_hex_2+0x6>
     1fa:	cd b7       	in	r28, 0x3d	; 61
     1fc:	de b7       	in	r29, 0x3e	; 62
     1fe:	9a 83       	std	Y+2, r25	; 0x02
     200:	89 83       	std	Y+1, r24	; 0x01
    uc *p;

    p = (uc *)&n;
     202:	9e 01       	movw	r18, r28
     204:	2f 5f       	subi	r18, 0xFF	; 255
     206:	3f 4f       	sbci	r19, 0xFF	; 255

    put_hex (p[1]);
     208:	f9 01       	movw	r30, r18
     20a:	91 81       	ldd	r25, Z+1	; 0x01


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     20c:	a0 91 11 01 	lds	r26, 0x0111
     210:	b0 91 12 01 	lds	r27, 0x0112
     214:	89 2f       	mov	r24, r25
     216:	82 95       	swap	r24
     218:	8f 70       	andi	r24, 0x0F	; 15
     21a:	fd 01       	movw	r30, r26
     21c:	e8 0f       	add	r30, r24
     21e:	f1 1d       	adc	r31, r1
     220:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     222:	80 91 9b 00 	lds	r24, 0x009B
     226:	85 ff       	sbrs	r24, 5
     228:	fc cf       	rjmp	.-8      	; 0x222 <put_hex_2+0x2e>
 	UDR1 = c;    /* 发送数据*/
     22a:	e0 93 9c 00 	sts	0x009C, r30
void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
    idx = (ch & 0x0f);
    put_char (hex_char[idx]);
     22e:	9f 70       	andi	r25, 0x0F	; 15
     230:	fd 01       	movw	r30, r26
     232:	e9 0f       	add	r30, r25
     234:	f1 1d       	adc	r31, r1
     236:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     238:	80 91 9b 00 	lds	r24, 0x009B
     23c:	85 ff       	sbrs	r24, 5
     23e:	fc cf       	rjmp	.-8      	; 0x238 <put_hex_2+0x44>
 	UDR1 = c;    /* 发送数据*/
     240:	e0 93 9c 00 	sts	0x009C, r30
    uc *p;

    p = (uc *)&n;

    put_hex (p[1]);
    put_hex (p[0]);
     244:	f9 01       	movw	r30, r18
     246:	90 81       	ld	r25, Z


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     248:	89 2f       	mov	r24, r25
     24a:	82 95       	swap	r24
     24c:	8f 70       	andi	r24, 0x0F	; 15
     24e:	fd 01       	movw	r30, r26
     250:	e8 0f       	add	r30, r24
     252:	f1 1d       	adc	r31, r1
     254:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     256:	80 91 9b 00 	lds	r24, 0x009B
     25a:	85 ff       	sbrs	r24, 5
     25c:	fc cf       	rjmp	.-8      	; 0x256 <put_hex_2+0x62>
 	UDR1 = c;    /* 发送数据*/
     25e:	e0 93 9c 00 	sts	0x009C, r30
void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
    idx = (ch & 0x0f);
    put_char (hex_char[idx]);
     262:	9f 70       	andi	r25, 0x0F	; 15
     264:	a9 0f       	add	r26, r25
     266:	b1 1d       	adc	r27, r1
     268:	9c 91       	ld	r25, X
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     26a:	80 91 9b 00 	lds	r24, 0x009B
     26e:	85 ff       	sbrs	r24, 5
     270:	fc cf       	rjmp	.-8      	; 0x26a <put_hex_2+0x76>
 	UDR1 = c;    /* 发送数据*/
     272:	90 93 9c 00 	sts	0x009C, r25

    p = (uc *)&n;

    put_hex (p[1]);
    put_hex (p[0]);
}
     276:	0f 90       	pop	r0
     278:	0f 90       	pop	r0
     27a:	cf 91       	pop	r28
     27c:	df 91       	pop	r29
     27e:	08 95       	ret

00000280 <put_hex_4>:

void put_hex_4 (ul n) 
{
     280:	df 93       	push	r29
     282:	cf 93       	push	r28
     284:	00 d0       	rcall	.+0      	; 0x286 <put_hex_4+0x6>
     286:	00 d0       	rcall	.+0      	; 0x288 <put_hex_4+0x8>
     288:	cd b7       	in	r28, 0x3d	; 61
     28a:	de b7       	in	r29, 0x3e	; 62
     28c:	69 83       	std	Y+1, r22	; 0x01
     28e:	7a 83       	std	Y+2, r23	; 0x02
     290:	8b 83       	std	Y+3, r24	; 0x03
     292:	9c 83       	std	Y+4, r25	; 0x04
    uc *p;

    p = (uc *)&n;
     294:	9e 01       	movw	r18, r28
     296:	2f 5f       	subi	r18, 0xFF	; 255
     298:	3f 4f       	sbci	r19, 0xFF	; 255

    put_hex (p[3]);
     29a:	f9 01       	movw	r30, r18
     29c:	93 81       	ldd	r25, Z+3	; 0x03


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     29e:	a0 91 11 01 	lds	r26, 0x0111
     2a2:	b0 91 12 01 	lds	r27, 0x0112
     2a6:	89 2f       	mov	r24, r25
     2a8:	82 95       	swap	r24
     2aa:	8f 70       	andi	r24, 0x0F	; 15
     2ac:	fd 01       	movw	r30, r26
     2ae:	e8 0f       	add	r30, r24
     2b0:	f1 1d       	adc	r31, r1
     2b2:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     2b4:	80 91 9b 00 	lds	r24, 0x009B
     2b8:	85 ff       	sbrs	r24, 5
     2ba:	fc cf       	rjmp	.-8      	; 0x2b4 <put_hex_4+0x34>
 	UDR1 = c;    /* 发送数据*/
     2bc:	e0 93 9c 00 	sts	0x009C, r30
void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
    idx = (ch & 0x0f);
    put_char (hex_char[idx]);
     2c0:	9f 70       	andi	r25, 0x0F	; 15
     2c2:	fd 01       	movw	r30, r26
     2c4:	e9 0f       	add	r30, r25
     2c6:	f1 1d       	adc	r31, r1
     2c8:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     2ca:	80 91 9b 00 	lds	r24, 0x009B
     2ce:	85 ff       	sbrs	r24, 5
     2d0:	fc cf       	rjmp	.-8      	; 0x2ca <put_hex_4+0x4a>
 	UDR1 = c;    /* 发送数据*/
     2d2:	e0 93 9c 00 	sts	0x009C, r30
    uc *p;

    p = (uc *)&n;

    put_hex (p[3]);
    put_hex (p[2]);
     2d6:	f9 01       	movw	r30, r18
     2d8:	92 81       	ldd	r25, Z+2	; 0x02


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     2da:	89 2f       	mov	r24, r25
     2dc:	82 95       	swap	r24
     2de:	8f 70       	andi	r24, 0x0F	; 15
     2e0:	fd 01       	movw	r30, r26
     2e2:	e8 0f       	add	r30, r24
     2e4:	f1 1d       	adc	r31, r1
     2e6:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     2e8:	80 91 9b 00 	lds	r24, 0x009B
     2ec:	85 ff       	sbrs	r24, 5
     2ee:	fc cf       	rjmp	.-8      	; 0x2e8 <put_hex_4+0x68>
 	UDR1 = c;    /* 发送数据*/
     2f0:	e0 93 9c 00 	sts	0x009C, r30
void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
    idx = (ch & 0x0f);
    put_char (hex_char[idx]);
     2f4:	9f 70       	andi	r25, 0x0F	; 15
     2f6:	fd 01       	movw	r30, r26
     2f8:	e9 0f       	add	r30, r25
     2fa:	f1 1d       	adc	r31, r1
     2fc:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     2fe:	80 91 9b 00 	lds	r24, 0x009B
     302:	85 ff       	sbrs	r24, 5
     304:	fc cf       	rjmp	.-8      	; 0x2fe <put_hex_4+0x7e>
 	UDR1 = c;    /* 发送数据*/
     306:	e0 93 9c 00 	sts	0x009C, r30

    p = (uc *)&n;

    put_hex (p[3]);
    put_hex (p[2]);
    put_hex (p[1]);
     30a:	f9 01       	movw	r30, r18
     30c:	91 81       	ldd	r25, Z+1	; 0x01


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     30e:	89 2f       	mov	r24, r25
     310:	82 95       	swap	r24
     312:	8f 70       	andi	r24, 0x0F	; 15
     314:	fd 01       	movw	r30, r26
     316:	e8 0f       	add	r30, r24
     318:	f1 1d       	adc	r31, r1
     31a:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     31c:	80 91 9b 00 	lds	r24, 0x009B
     320:	85 ff       	sbrs	r24, 5
     322:	fc cf       	rjmp	.-8      	; 0x31c <put_hex_4+0x9c>
 	UDR1 = c;    /* 发送数据*/
     324:	e0 93 9c 00 	sts	0x009C, r30
void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
    idx = (ch & 0x0f);
    put_char (hex_char[idx]);
     328:	9f 70       	andi	r25, 0x0F	; 15
     32a:	fd 01       	movw	r30, r26
     32c:	e9 0f       	add	r30, r25
     32e:	f1 1d       	adc	r31, r1
     330:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     332:	80 91 9b 00 	lds	r24, 0x009B
     336:	85 ff       	sbrs	r24, 5
     338:	fc cf       	rjmp	.-8      	; 0x332 <put_hex_4+0xb2>
 	UDR1 = c;    /* 发送数据*/
     33a:	e0 93 9c 00 	sts	0x009C, r30
    p = (uc *)&n;

    put_hex (p[3]);
    put_hex (p[2]);
    put_hex (p[1]);
    put_hex (p[0]);
     33e:	f9 01       	movw	r30, r18
     340:	90 81       	ld	r25, Z


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     342:	89 2f       	mov	r24, r25
     344:	82 95       	swap	r24
     346:	8f 70       	andi	r24, 0x0F	; 15
     348:	fd 01       	movw	r30, r26
     34a:	e8 0f       	add	r30, r24
     34c:	f1 1d       	adc	r31, r1
     34e:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     350:	80 91 9b 00 	lds	r24, 0x009B
     354:	85 ff       	sbrs	r24, 5
     356:	fc cf       	rjmp	.-8      	; 0x350 <put_hex_4+0xd0>
 	UDR1 = c;    /* 发送数据*/
     358:	e0 93 9c 00 	sts	0x009C, r30
void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
    idx = (ch & 0x0f);
    put_char (hex_char[idx]);
     35c:	9f 70       	andi	r25, 0x0F	; 15
     35e:	a9 0f       	add	r26, r25
     360:	b1 1d       	adc	r27, r1
     362:	9c 91       	ld	r25, X
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 
    while (!(UCSR1A & (1<<UDRE1)));  /* 等待发送缓冲器为空*/
     364:	80 91 9b 00 	lds	r24, 0x009B
     368:	85 ff       	sbrs	r24, 5
     36a:	fc cf       	rjmp	.-8      	; 0x364 <put_hex_4+0xe4>
 	UDR1 = c;    /* 发送数据*/
     36c:	90 93 9c 00 	sts	0x009C, r25

    put_hex (p[3]);
    put_hex (p[2]);
    put_hex (p[1]);
    put_hex (p[0]);
}
     370:	0f 90       	pop	r0
     372:	0f 90       	pop	r0
     374:	0f 90       	pop	r0
     376:	0f 90       	pop	r0
     378:	cf 91       	pop	r28
     37a:	df 91       	pop	r29
     37c:	08 95       	ret

0000037e <put_hex_6>:

void put_hex_6 (uc *p) 
{
     37e:	dc 01       	movw	r26, r24


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     380:	40 91 11 01 	lds	r20, 0x0111
     384:	50 91 12 01 	lds	r21, 0x0112
     388:	20 e0       	ldi	r18, 0x00	; 0
void put_hex_6 (uc *p) 
{
	uc i;
	for(i=0;i<6;i++)
	{
		put_hex(*p);
     38a:	9c 91       	ld	r25, X


void put_hex (uc ch) {
    uc idx;
    idx = (ch >> 4);
    put_char (hex_char[idx]);
     38c:	89 2f       	mov	r24, r25
     38e:	82 95       	swap	r24
     390:	8f 70       	andi	r24, 0x0F	; 15
     392:	fa 01       	movw	r30, r20
     394:	e8 0f       	add	r30, r24
     396:	f1 1d       	adc	r31, r1
     398:	e0 81       	ld	r30, Z
extern volatile uc rx1_char;

void put_char(uc c)
{ 
 

⌨️ 快捷键说明

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