📄 flash.dis
字号:
/*************************************************************************/
/* FUNCTION : push 1 data into ring buf */
/* PURPOSE : */
/* INPUT NOTES : */
/* RETURN NOTES : None */
/* WARNING : None */
/*************************************************************************/
uint8_t push_dpb_data(DP_BUF_tag* pt,uint8_t data)
{
318: 94 21 ff e0 stwu r1,-32(r1)
31c: 93 e1 00 1c stw r31,28(r1)
320: 7c 3f 0b 78 mr r31,r1
324: 90 7f 00 08 stw r3,8(r31)
328: 7c 80 23 78 mr r0,r4
32c: 98 1f 00 0c stb r0,12(r31)
..\src\FESC_src\/FESC_5554_general.c:84
EnterCritical();
330: 7c 00 01 46 wrteei 0
..\src\FESC_src\/FESC_5554_general.c:86
if (pt->n < pt->len) /* buffer full? */
334: 81 3f 00 08 lwz r9,8(r31)
338: 81 7f 00 08 lwz r11,8(r31)
33c: 81 29 00 00 lwz r9,0(r9)
340: 80 0b 00 0c lwz r0,12(r11)
344: 7f 89 00 40 cmplw cr7,r9,r0
348: 40 9c 00 7c bge- cr7,3c4 <push_dpb_data+0xac>
..\src\FESC_src\/FESC_5554_general.c:87
{ *(pt->addr + pt->in_n) = data; /* Put character into buffer */
34c: 81 7f 00 08 lwz r11,8(r31)
350: 81 3f 00 08 lwz r9,8(r31)
354: 81 29 00 04 lwz r9,4(r9)
358: 80 0b 00 10 lwz r0,16(r11)
35c: 7d 29 02 14 add r9,r9,r0
360: 88 1f 00 0c lbz r0,12(r31)
364: 98 09 00 00 stb r0,0(r9)
..\src\FESC_src\/FESC_5554_general.c:88
pt->n++; /* No, increment character count */
368: 81 7f 00 08 lwz r11,8(r31)
36c: 81 3f 00 08 lwz r9,8(r31)
370: 81 29 00 00 lwz r9,0(r9)
374: 38 09 00 01 addi r0,r9,1
378: 90 0b 00 00 stw r0,0(r11)
..\src\FESC_src\/FESC_5554_general.c:90
/* the n and data must be coherenct */
ExitCritical();
37c: 7c 00 81 46 wrteei 1
..\src\FESC_src\/FESC_5554_general.c:91
pt->in_n++;
380: 81 7f 00 08 lwz r11,8(r31)
384: 81 3f 00 08 lwz r9,8(r31)
388: 81 29 00 04 lwz r9,4(r9)
38c: 38 09 00 01 addi r0,r9,1
390: 90 0b 00 04 stw r0,4(r11)
..\src\FESC_src\/FESC_5554_general.c:92
if (pt->in_n == pt->len)
394: 81 3f 00 08 lwz r9,8(r31)
398: 81 7f 00 08 lwz r11,8(r31)
39c: 81 29 00 04 lwz r9,4(r9)
3a0: 80 0b 00 0c lwz r0,12(r11)
3a4: 7f 89 00 00 cmpw cr7,r9,r0
3a8: 40 9e 00 10 bne- cr7,3b8 <push_dpb_data+0xa0>
..\src\FESC_src\/FESC_5554_general.c:93
pt->in_n = 0;
3ac: 81 3f 00 08 lwz r9,8(r31)
3b0: 38 00 00 00 li r0,0
3b4: 90 09 00 04 stw r0,4(r9)
..\src\FESC_src\/FESC_5554_general.c:94
return(DP_BUF_SBP_RTSTUS_OK);
3b8: 38 00 00 01 li r0,1
3bc: 90 1f 00 10 stw r0,16(r31)
3c0: 48 00 00 10 b 3d0 <push_dpb_data+0xb8>
..\src\FESC_src\/FESC_5554_general.c:97
}
else
{ ExitCritical();
3c4: 7c 00 81 46 wrteei 1
..\src\FESC_src\/FESC_5554_general.c:98
return(DP_BUF_FULL);
3c8: 38 00 00 11 li r0,17
3cc: 90 1f 00 10 stw r0,16(r31)
..\src\FESC_src\/FESC_5554_general.c:100
}
}
3d0: 80 7f 00 10 lwz r3,16(r31)
3d4: 81 61 00 00 lwz r11,0(r1)
3d8: 83 eb ff fc lwz r31,-4(r11)
3dc: 7d 61 5b 78 mr r1,r11
3e0: 4e 80 00 20 blr
000003e4 <push_dpb_block>:
push_dpb_block():
..\src\FESC_src\/FESC_5554_general.c:103
uint8_t push_dpb_block(DP_BUF_tag* pt,uint8_t* buf,uint8_t len)
{ uint8_t i;
3e4: 94 21 ff d0 stwu r1,-48(r1)
3e8: 93 e1 00 2c stw r31,44(r1)
3ec: 7c 3f 0b 78 mr r31,r1
3f0: 90 7f 00 08 stw r3,8(r31)
3f4: 90 9f 00 0c stw r4,12(r31)
3f8: 7c a0 2b 78 mr r0,r5
3fc: 98 1f 00 10 stb r0,16(r31)
..\src\FESC_src\/FESC_5554_general.c:106
uint8_t* addr;
addr = (pt->addr + pt->in_n);
400: 81 3f 00 08 lwz r9,8(r31)
404: 81 7f 00 08 lwz r11,8(r31)
408: 81 29 00 10 lwz r9,16(r9)
40c: 80 0b 00 04 lwz r0,4(r11)
410: 7c 09 02 14 add r0,r9,r0
414: 90 1f 00 14 stw r0,20(r31)
..\src\FESC_src\/FESC_5554_general.c:107
EnterCritical();
418: 7c 00 01 46 wrteei 0
..\src\FESC_src\/FESC_5554_general.c:108
if ((pt->n+len) < pt->len) /* buffer full? */
41c: 81 7f 00 08 lwz r11,8(r31)
420: 88 1f 00 10 lbz r0,16(r31)
424: 54 09 06 3e clrlwi r9,r0,24
428: 80 0b 00 00 lwz r0,0(r11)
42c: 7d 69 02 14 add r11,r9,r0
430: 81 3f 00 08 lwz r9,8(r31)
434: 80 09 00 0c lwz r0,12(r9)
438: 7f 8b 00 40 cmplw cr7,r11,r0
43c: 40 9c 00 d8 bge- cr7,514 <RWSC_5+0x14>
..\src\FESC_src\/FESC_5554_general.c:109
{ pt->n += len;
440: 81 5f 00 08 lwz r10,8(r31)
444: 81 7f 00 08 lwz r11,8(r31)
448: 88 1f 00 10 lbz r0,16(r31)
44c: 54 09 06 3e clrlwi r9,r0,24
450: 80 0b 00 00 lwz r0,0(r11)
454: 7c 00 4a 14 add r0,r0,r9
458: 90 0a 00 00 stw r0,0(r10)
..\src\FESC_src\/FESC_5554_general.c:110
for(i=0;i<len;i++) *(addr+i) = *(buf+i); /* Put character into buffer */
45c: 38 00 00 00 li r0,0
460: 98 1f 00 11 stb r0,17(r31)
464: 88 1f 00 11 lbz r0,17(r31)
468: 54 09 06 3e clrlwi r9,r0,24
46c: 88 1f 00 10 lbz r0,16(r31)
470: 54 00 06 3e clrlwi r0,r0,24
474: 7f 89 00 40 cmplw cr7,r9,r0
478: 40 9c 00 3c bge- cr7,4b4 <DEPTH_1+0xb4>
47c: 88 1f 00 11 lbz r0,17(r31)
480: 54 09 06 3e clrlwi r9,r0,24
484: 80 1f 00 14 lwz r0,20(r31)
488: 7d 69 02 14 add r11,r9,r0
48c: 88 1f 00 11 lbz r0,17(r31)
490: 54 09 06 3e clrlwi r9,r0,24
494: 80 1f 00 0c lwz r0,12(r31)
498: 7d 29 02 14 add r9,r9,r0
49c: 88 09 00 00 lbz r0,0(r9)
4a0: 98 0b 00 00 stb r0,0(r11)
4a4: 89 3f 00 11 lbz r9,17(r31)
4a8: 38 09 00 01 addi r0,r9,1
4ac: 98 1f 00 11 stb r0,17(r31)
4b0: 4b ff ff b4 b 464 <DEPTH_1+0x64>
..\src\FESC_src\/FESC_5554_general.c:112
/* the n and data must be coherenct */
ExitCritical();
4b4: 7c 00 81 46 wrteei 1
..\src\FESC_src\/FESC_5554_general.c:113
pt->in_n+=len;
4b8: 81 5f 00 08 lwz r10,8(r31)
4bc: 81 7f 00 08 lwz r11,8(r31)
4c0: 88 1f 00 10 lbz r0,16(r31)
4c4: 54 09 06 3e clrlwi r9,r0,24
4c8: 80 0b 00 04 lwz r0,4(r11)
4cc: 7c 00 4a 14 add r0,r0,r9
4d0: 90 0a 00 04 stw r0,4(r10)
..\src\FESC_src\/FESC_5554_general.c:114
if (pt->in_n >= pt->len)
4d4: 81 3f 00 08 lwz r9,8(r31)
4d8: 81 7f 00 08 lwz r11,8(r31)
4dc: 81 29 00 04 lwz r9,4(r9)
4e0: 80 0b 00 0c lwz r0,12(r11)
4e4: 7f 89 00 40 cmplw cr7,r9,r0
4e8: 41 9c 00 20 blt- cr7,508 <RWSC_5+0x8>
..\src\FESC_src\/FESC_5554_general.c:115
pt->in_n -= pt->len;
4ec: 81 5f 00 08 lwz r10,8(r31)
4f0: 81 3f 00 08 lwz r9,8(r31)
4f4: 81 7f 00 08 lwz r11,8(r31)
4f8: 81 29 00 04 lwz r9,4(r9)
4fc: 80 0b 00 0c lwz r0,12(r11)
500: 7c 00 48 50 subf r0,r0,r9
504: 90 0a 00 04 stw r0,4(r10)
..\src\FESC_src\/FESC_5554_general.c:116
return(DP_BUF_SBP_RTSTUS_OK);
508: 38 00 00 01 li r0,1
50c: 90 1f 00 18 stw r0,24(r31)
510: 48 00 00 10 b 520 <RWSC_5+0x20>
..\src\FESC_src\/FESC_5554_general.c:119
}
else
{ ExitCritical();
514: 7c 00 81 46 wrteei 1
..\src\FESC_src\/FESC_5554_general.c:120
return(DP_BUF_FULL);
518: 38 00 00 11 li r0,17
51c: 90 1f 00 18 stw r0,24(r31)
..\src\FESC_src\/FESC_5554_general.c:122
}
}
520: 80 7f 00 18 lwz r3,24(r31)
524: 81 61 00 00 lwz r11,0(r1)
528: 83 eb ff fc lwz r31,-4(r11)
52c: 7d 61 5b 78 mr r1,r11
530: 4e 80 00 20 blr
00000534 <pop_dpb_data>:
pop_dpb_data():
..\src\FESC_src\/FESC_5554_general.c:131
/*************************************************************************/
/* FUNCTION : pop 1 data from ring buf */
/* PURPOSE : */
/* INPUT NOTES : */
/* RETURN NOTES : None */
/* WARNING : None */
/*************************************************************************/
uint8_t pop_dpb_data(DP_BUF_tag* pt,uint8_t* data)
{
534: 94 21 ff e0 stwu r1,-32(r1)
538: 93 e1 00 1c stw r31,28(r1)
53c: 7c 3f 0b 78 mr r31,r1
540: 90 7f 00 08 stw r3,8(r31)
544: 90 9f 00 0c stw r4,12(r31)
..\src\FESC_src\/FESC_5554_general.c:132
EnterCritical();
548: 7c 00 01 46 wrteei 0
..\src\FESC_src\/FESC_5554_general.c:133
if (pt->n >0) /* buffer empty? */
54c: 81 3f 00 08 lwz r9,8(r31)
550: 80 09 00 00 lwz r0,0(r9)
554: 2f 80 00 00 cmpwi cr7,r0,0
558: 41 9e 00 80 beq- cr7,5d8 <pop_dpb_data+0xa4>
..\src\FESC_src\/FESC_5554_general.c:134
{ pt->n--; /* No, increment character count */
55c: 81 7f 00 08 lwz r11,8(r31)
560: 81 3f 00 08 lwz r9,8(r31)
564: 81 29 00 00 lwz r9,0(r9)
568: 38 09 ff ff addi r0,r9,-1
56c: 90 0b 00 00 stw r0,0(r11)
..\src\FESC_src\/FESC_5554_general.c:135
*data = *(pt->addr + pt->out_n); /* Put character into buffer */
570: 81 5f 00 0c lwz r10,12(r31)
574: 81 7f 00 08 lwz r11,8(r31)
578: 81 3f 00 08 lwz r9,8(r31)
57c: 81 29 00 08 lwz r9,8(r9)
580: 80 0b 00 10 lwz r0,16(r11)
584: 7d 29 02 14 add r9,r9,r0
588: 88 09 00 00 lbz r0,0(r9)
58c: 98 0a 00 00 stb r0,0(r10)
..\src\FESC_src\/FESC_5554_general.c:136
ExitCritical();
590: 7c 00 81 46 wrteei 1
..\src\FESC_src\/FESC_5554_general.c:137
pt->out_n++;
594: 81 7f 00 08 lwz r11,8(r31)
598: 81 3f 00 08 lwz r9,8(r31)
59c: 81 29 00 08 lwz r9,8(r9)
5a0: 38 09 00 01 addi r0,r9,1
5a4: 90 0b 00 08 stw r0,8(r11)
..\src\FESC_src\/FESC_5554_general.c:138
if (pt->out_n == pt->len) pt->out_n = 0;
5a8: 81 3f 00 08 lwz r9,8(r31)
5ac: 81 7f 00 08 lwz r11,8(r31)
5b0: 81 29 00 08 lwz r9,8(r9)
5b4: 80 0b 00 0c lwz r0,12(r11)
5b8: 7f 89 00 00 cmpw cr7,r9,r0
5bc: 40 9e 00 10 bne- cr7,5cc <pop_dpb_data+0x98>
5c0: 81 3f 00 08 lwz r9,8(r31)
5c4: 38 00 00 00 li r0,0
5c8: 90 09 00 08 stw r0,8(r9)
..\src\FESC_src\/FESC_5554_general.c:139
return(DP_BUF_SBP_RTSTUS_OK);
5cc: 38 00 00 01 li r0,1
5d0: 90 1f 00 10 stw r0,16(r31)
5d4: 48 00 00 10 b 5e4 <pop_dpb_data+0xb0>
..\src\FESC_src\/FESC_5554_general.c:142
}
else
{ ExitCritical();
5d8: 7c 00 81 46 wrteei 1
..\src\FESC_src\/FESC_5554_general.c:143
return( DP_BUF_EMPTY);
5dc: 38 00 00 12 li r0,18
5e0: 90 1f 00 10 stw r0,16(r31)
..\src\FESC_src\/FESC_5554_general.c:145
}
}
5e4: 80 7f 00 10 lwz r3,16(r31)
5e8: 81 61 00 00 lwz r11,0(r1)
5ec: 83 eb ff fc lwz r31,-4(r11)
5f0: 7d 61 5b 78 mr r1,r11
5f4: 4e 80 00 20 blr
000005f8 <init_ESCI>:
init_ESCI():
..\src\FESC_src\/FESC_5554_ESCI.c:6
/* ESCI */
/*================================================*/
/**************************************************************************/
void init_ESCI()
{
5f8: 94 21 ff f0 stwu r1,-16(r1)
5fc: 7c 08 02 a6 mflr r0
600: 93 e1 00 0c stw r31,12(r1)
604: 90 01 00 14 stw r0,20(r1)
608: 7c 3f 0b 78 mr r31,r1
..\src\FESC_src\/FESC_5554_ESCI.c:11
//ESCI_A.CR1.R = 0x01A1000C; //19200@128MHz
//ESCI_A.CR1.R = 0x0341000C; //9600@128MHz
//ESCI_A.CR1.R = 0x0187000C; //19200@120MHz
//ESCI_A.CR1.R = 0x030D000C; //9600@120MHz
ESCI_A.CR1.R = 0x0041000C; //115200@120MHz
60c: 3d 20 ff fb lis r9,-5
610: 3c 00 00 41 lis r0,65
614: 60 00 00 0c ori r0,r0,12
618: 90 09 00 00 stw r0,0(r9)
..\src\FESC_src\/FESC_5554_ESCI.c:13
pad_func_config(PIN_TXD_A_GPIO89,PRIMARY_FUNCTION); //SCI
61c: 38 60 00 59 li r3,89
620: 38 80 0c 00 li r4,3072
624: 4b ff f9 e5 bl 8 <PEFILL>
..\src\FESC_src\/FESC_5554_ESCI.c:14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -