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

📄 speech.lst

📁 凌阳单片机对语音的处理和调用
💻 LST
📖 第 1 页 / 共 2 页
字号:
Sunplus u'nSP Assembler - Ver. 1.14.4
              Listing File Has Been Relocated
                            		//  D:\PROGRA~1\Sunplus\UNSPID~1.3\\be::0.9.14
                            	
                            		//-----------------------------------------------------------
                            		// Compiling E:\A1600\speech.c (C:\DOCUME~1\dqs\LOCALS~1\Temp\ccB.3)
                            		//-----------------------------------------------------------
                            	
                            		//-----------------------------------------------------------
                            		// Options:
                            		//-----------------------------------------------------------
                            		//  Target:unSP, ISA:ISA_1.1, Pointer Size:32
                            		//  -O0	(Optimization level)
                            		//  -g2	(Debug level)
                            		//  -m1	(Report warnings)
                            		//-----------------------------------------------------------
                            	
                            	
00009A72                    	.code
                            	Ltext0:
                            	
0000017A                    	.iram
                            	.public	_StatusData
                            	_StatusData:
0000017A 00 00              		.dw 1 dup(0)
                            	.public	_toteldata
                            	_toteldata:
0000017B 00 00              		.dw 1 dup(0)
                            	.public	_data1
                            	_data1:
0000017C 00 00              		.dw 1 dup(0)
                            	.public	_data2
                            	_data2:
0000017D 00 00              		.dw 1 dup(0)
                            	.public	_data3
                            	_data3:
0000017E 00 00              		.dw 1 dup(0)
                            	.public	_data4
                            	_data4:
0000017F 00 00              		.dw 1 dup(0)
                            	.public	_VolumeValue
                            	_VolumeValue:
00000180 00 00              		.dw 1 dup(0)
00009A72                    	.code
                            	
                            		// Program Unit: KeyValue
                            	.public	_KeyValue
                            	_KeyValue: .proc	
                            		// old_frame_pointer = 0
                            		// return_address = 1
                            	// 	//.file	0 "E:\A1600\speech.c"
                            	// 	.loc	0	29	0
                            	//  25  //入口:无
                            	//  26  //出口:处理过的键值
                            	//  27  //-------------------------
                            	//  28  U16 KeyValue(void)
                            	//  29  {
                            	
                            	LM1:
                            	BB1_PU0:	// 0x0
                            	// BB:1 cycle count: 68
00009A72 88 DA              		     push BP to [SP]          	// [0:29]  
00009A73 08 0B 01 00        		     BP = SP + 1              	// [6:29]  
                            	// 	.loc	0	30	0
                            	//  30  	data1+=1;
                            	
                            	LM2:
00009A75 7F BC              		     SR = SR & 63             	// [10:30]  
00009A76 0E AD 00 00        		     SR = SR | high6 _data1   	// [12:30]  data1
00009A78 0C 99 7C 01        		     R4 = offset _data1       	// [16:30]  data1
00009A7A E4 98              		     R4 = DS:[R4]             	// [20:30]  
00009A7B 41 08              		     R4 = R4 + 1              	// [26:30]  
00009A7C 7F BC              		     SR = SR & 63             	// [28:30]  
00009A7D 0E AD 00 00        		     SR = SR | high6 _data1   	// [30:30]  data1
00009A7F 0B 97 7C 01        		     R3 = offset _data1       	// [34:30]  data1
00009A81 E3 D8              		     DS:[R3] = R4             	// [38:30]  
                            	// 	.loc	0	31	0
                            	//  31  	if (data1>=0x5f53)
                            	
                            	LM3:
00009A82 7F BC              		     SR = SR & 63             	// [44:31]  
00009A83 0E AD 00 00        		     SR = SR | high6 _data1   	// [46:31]  data1
00009A85 0C 99 7C 01        		     R4 = offset _data1       	// [50:31]  data1
00009A87 E4 98              		     R4 = DS:[R4]             	// [54:31]  
00009A88 0C 49 52 5F        		     cmp R4, 24402            	// [60:31]  
00009A8A 14 8E              		     jbe L_0_1                	// [64:31]  
                            	BB2_PU0:	// 0x19
                            	// BB:2 cycle count: 52
                            	// 	.loc	0	33	0
                            	//  32  	{
                            	//  33  		data1=0;
                            	
                            	LM4:
00009A8B 40 96              		     R3 = 0                   	// [0:33]  
00009A8C 7F BC              		     SR = SR & 63             	// [2:33]  
00009A8D 0E AD 00 00        		     SR = SR | high6 _data1   	// [4:33]  data1
00009A8F 0C 99 7C 01        		     R4 = offset _data1       	// [8:33]  data1
00009A91 E4 D6              		     DS:[R4] = R3             	// [12:33]  
                            	// 	.loc	0	34	0
                            	//  34  		data2+=1;
                            	
                            	LM5:
00009A92 7F BC              		     SR = SR & 63             	// [18:34]  
00009A93 0E AD 00 00        		     SR = SR | high6 _data2   	// [20:34]  data2
00009A95 0C 99 7D 01        		     R4 = offset _data2       	// [24:34]  data2
00009A97 E4 98              		     R4 = DS:[R4]             	// [28:34]  
00009A98 41 08              		     R4 = R4 + 1              	// [34:34]  
00009A99 7F BC              		     SR = SR & 63             	// [36:34]  
00009A9A 0E AD 00 00        		     SR = SR | high6 _data2   	// [38:34]  data2
00009A9C 0B 97 7D 01        		     R3 = offset _data2       	// [42:34]  data2
00009A9E E3 D8              		     DS:[R3] = R4             	// [46:34]  
                            	L_0_1:	// 0x2d
                            	// BB:3 cycle count: 30
                            	// 	.loc	0	36	0
                            	//  35  	}
                            	//  36  	return data2;
                            	
                            	LM6:
00009A9F 7F BC              		     SR = SR & 63             	// [0:36]  
00009AA0 0E AD 00 00        		     SR = SR | high6 _data2   	// [2:36]  data2
00009AA2 0C 99 7D 01        		     R4 = offset _data2       	// [6:36]  data2
00009AA4 E4 92              		     R1 = DS:[R4]             	// [10:36]  
00009AA5 88 98              		     pop BP from [SP]         	// [16:36]  
00009AA6 90 9A              		     retf                     	// [22:36]  
                            		.endp	
                            	LME1:
00009AA7                    	.code
                            	
                            		// Program Unit: PlaySpeech
                            	.public	_PlaySpeech
                            	_PlaySpeech: .proc	
                            		// key_value = 0
                            		// bit_exit = 1
                            		// old_frame_pointer = 2
                            		// return_address = 3
                            	// 	.loc	0	46	0
                            	//  42  //入口:Volume(音量0--3)  SongIndex(歌曲索引)
                            	//  43  //出口:无
                            	//  44  //----------------------------
                            	//  45  U16 PlaySpeech(U16 Volume,U16 SongIndex)
                            	//  46  {
                            	
                            	LM7:
                            	BB1_PU1:	// 0x35
                            	// BB:1 cycle count: 71
00009AA7 88 DA              		     push BP to [SP]          	// [0:46]  
00009AA8 42 20              		     SP = SP - 2              	// [6:46]  
00009AA9 08 0B 01 00        		     BP = SP + 1              	// [8:46]  
                            	LBB2:
                            	// 	.loc	0	47	0
                            	//  47  	U16 key_value=0,bit_exit=00;
                            	
                            	LM8:
00009AAB 40 98              		     R4 = 0                   	// [12:47]  
00009AAC 00 D8              		     [BP + 0] = R4            	// [14:47]  key_value
00009AAD 40 98              		     R4 = 0                   	// [20:47]  
00009AAE 01 D8              		     [BP + 1] = R4            	// [22:47]  bit_exit
                            	// 	.loc	0	49	0
                            	//  48  	
                            	//  49  	InilSpeech(SongIndex,Volume);            //---语音播放初始化 入口:音量(0-3)和歌曲索引  出口:无
                            	
                            	LM9:
00009AAF 42 20              		     SP = SP - 2              	// [28:49]  
00009AB0 06 96              		     R3 = [BP + 6]            	// [30:49]  SongIndex
00009AB1 08 09 01 00        		     R4 = SP + 1              	// [36:49]  
00009AB3 C4 D6              		     [R4] = R3                	// [40:49]  
00009AB4 05 96              		     R3 = [BP + 5]            	// [46:49]  Volume
00009AB5 08 09 02 00        		     R4 = SP + 2              	// [52:49]  
00009AB7 C4 D6              		     [R4] = R3                	// [56:49]  
00009AB8 40 F0 6D 99        		     call _InilSpeech         	// [62:49]  InilSpeech
                            	BB2_PU1:	// 0x48
                            	// BB:2 cycle count: 11
00009ABA 42 00              		     SP = SP + 2              	// [0:49]  
                            	// 	.loc	0	50	0
                            	//  50  	T_SACM_DVR1600_Status();      			//---在汇编中调用播放状态库函数 返回播放状态
                            	
                            	LM10:
00009ABB 40 F0 57 9A        		     call _T_SACM_DVR1600_Status	// [2:50]  T_SACM_DVR1600_Status
                            	L_1_1:	// 0x4b
                            	// BB:3 cycle count: 24
                            	// 	.loc	0	51	0
                            	//  51  	while((StatusData&0x03)!=0x00)
                            	
                            	LM11:
00009ABD 7F BC              		     SR = SR & 63             	// [0:51]  
00009ABE 0E AD 00 00        		     SR = SR | high6 _StatusData	// [2:51]  StatusData
00009AC0 0C 99 7A 01        		     R4 = offset _StatusData  	// [6:51]  StatusData
00009AC2 E4 98              		     R4 = DS:[R4]             	// [10:51]  
00009AC3 43 B8              		     R4 = R4 & 3              	// [16:51]  
00009AC4 40 48              		     cmp R4, 0                	// [18:51]  
00009AC5 11 5E              		     je L_1_2                 	// [20:51]  
                            	BB4_PU1:	// 0x54
                            	// BB:4 cycle count: 9
                            	// 	.loc	0	87	0
                            	//  83  //			break;
                            	//  84  //		}
                            	//  85  //		if (bit_exit==0x55)
                            	//  86  //			break;
                            	//  87  		T_SACM_DVR1600_ServiceLoop();        //---在汇编中调用解码库函数
                            	
                            	LM12:

⌨️ 快捷键说明

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