📄 text1.lst
字号:
// 82 break;
LM30:
00009AAD 00 EE jmp Lt_1_2 // [18:82]
Lt_1_2: // 0xc8
// BB:25 cycle count: 14
// .loc 0 84 0
// 83 }
// 84 if (bit_exit==0x55)
LM31:
00009AAE 00 98 R4 = [BP + 0] // [0:84] bit_exit
00009AAF 0C 49 55 00 cmp R4, 85 // [6:84]
00009AB1 01 4E jne L_1_21 // [10:84]
BB26_PU1: // 0xcc
// BB:26 cycle count: 4
// .loc 0 85 0
// 85 break;
LM32:
00009AB2 08 EE jmp Lt_1_8 // [0:85]
L_1_21: // 0xcd
// BB:27 cycle count: 9
// .loc 0 86 0
// 86 T_SACM_DVR1600_ServiceLoop(); //---在汇编中调用解码库函数
LM33:
00009AB3 40 F0 E2 9B call _T_SACM_DVR1600_ServiceLoop // [0:86] T_SACM_DVR1600_ServiceLoop
BB28_PU1: // 0xcf
// BB:28 cycle count: 9
// .loc 0 87 0
// 87 FillRamBuf(); //---手动模式下填写播放内容 入口:无 出口:无
LM34:
00009AB5 40 F0 99 9B call _FillRamBuf // [0:87] FillRamBuf
BB29_PU1: // 0xd1
// BB:29 cycle count: 9
// .loc 0 88 0
// 88 T_SACM_DVR1600_Status(); //---在汇编中调用播放状态库函数 返回播放状态
LM35:
00009AB7 40 F0 E7 9B call _T_SACM_DVR1600_Status // [0:88] T_SACM_DVR1600_Status
BB30_PU1: // 0xd3
// BB:30 cycle count: 5
00009AB9 80 FE 2F 9A goto L_1_17 // [0:88]
L_1_18: // 0xd5
Lt_1_8: // 0xd5
// BB:31 cycle count: 9
// .loc 0 91 0
// 89 }
// 90 //---播放结束后复位一些用到的寄存器
// 91 T_Stop_Play();
LM36:
00009ABB 40 F0 78 9B call _T_Stop_Play // [0:91] T_Stop_Play
BB32_PU1: // 0xd7
// BB:32 cycle count: 16
00009ABD 42 00 SP = SP + 2 // [0:91]
00009ABE 88 98 pop BP from [SP] // [2:91]
00009ABF 90 9A retf // [8:91]
LBE2:
.endp
LME2:
00009AC0 .code
// Program Unit: main
.public _main
_main: .proc
// uiErr = 0
// i = 1
// old_frame_pointer = 2
// return_address = 3
// .loc 0 96 0
// 92 }
// 93
// 94
// 95 main()
// 96 {
LM37:
BB1_PU2: // 0xda
// BB:1 cycle count: 82
00009AC0 88 DA push BP to [SP] // [0:96]
00009AC1 42 20 SP = SP - 2 // [6:96]
00009AC2 08 0B 01 00 BP = SP + 1 // [8:96]
LBB3:
// .loc 0 97 0
// 97 U16 uiErr=0,i;
LM38:
00009AC4 40 98 R4 = 0 // [12:97]
00009AC5 00 D8 [BP + 0] = R4 // [14:97] uiErr
// .loc 0 98 0
// 98 VolumeValue=0;
LM39:
00009AC6 40 96 R3 = 0 // [20:98]
00009AC7 7F BC SR = SR & 63 // [22:98]
00009AC8 0E AD 00 00 SR = SR | high6 _VolumeValue // [24:98] VolumeValue
00009ACA 0C 99 7F 01 R4 = offset _VolumeValue // [28:98] VolumeValue
00009ACC E4 D6 DS:[R4] = R3 // [32:98]
// .loc 0 99 0
// 99 data1=0;data2=0;
LM40:
00009ACD 40 96 R3 = 0 // [38:99]
00009ACE 7F BC SR = SR & 63 // [40:99]
00009ACF 0E AD 00 00 SR = SR | high6 _data1 // [42:99] data1
00009AD1 0C 99 7B 01 R4 = offset _data1 // [46:99] data1
00009AD3 E4 D6 DS:[R4] = R3 // [50:99]
00009AD4 40 96 R3 = 0 // [56:99]
00009AD5 7F BC SR = SR & 63 // [58:99]
00009AD6 0E AD 00 00 SR = SR | high6 _data2 // [60:99] data2
00009AD8 0C 99 7C 01 R4 = offset _data2 // [64:99] data2
00009ADA E4 D6 DS:[R4] = R3 // [68:99]
// .loc 0 101 0
// 100
// 101 for (i=0;i<57;i++)
LM41:
00009ADB 40 98 R4 = 0 // [74:101]
00009ADC 01 D8 [BP + 1] = R4 // [76:101] i
L_2_2: // 0xf7
// BB:2 cycle count: 12
00009ADD 01 98 R4 = [BP + 1] // [0:101] i
00009ADE 78 48 cmp R4, 56 // [6:101]
00009ADF 15 9E ja L_2_3 // [8:101]
BB3_PU2: // 0xfa
// BB:3 cycle count: 53
// .loc 0 103 0
// 102 {
// 103 PlaySpeech(i,VolumeValue);
LM42:
00009AE0 42 20 SP = SP - 2 // [0:103]
00009AE1 01 96 R3 = [BP + 1] // [2:103] i
00009AE2 08 09 01 00 R4 = SP + 1 // [8:103]
00009AE4 C4 D6 [R4] = R3 // [12:103]
00009AE5 7F BC SR = SR & 63 // [18:103]
00009AE6 0E AD 00 00 SR = SR | high6 _VolumeValue // [20:103] VolumeValue
00009AE8 0C 99 7F 01 R4 = offset _VolumeValue // [24:103] VolumeValue
00009AEA E4 96 R3 = DS:[R4] // [28:103]
00009AEB 08 09 02 00 R4 = SP + 2 // [34:103]
00009AED C4 D6 [R4] = R3 // [38:103]
00009AEE 40 F0 1B 9A call _PlaySpeech // [44:103] PlaySpeech
BB4_PU2: // 0x10a
// BB:4 cycle count: 2
00009AF0 42 00 SP = SP + 2 // [0:103]
Lt_2_1: // 0x10b
// BB:5 cycle count: 18
// .loc 0 101 0
LM43:
00009AF1 01 98 R4 = [BP + 1] // [0:101] i
00009AF2 41 08 R4 = R4 + 1 // [6:101]
00009AF3 01 D8 [BP + 1] = R4 // [8:101] i
00009AF4 58 EE jmp L_2_2 // [14:101]
L_2_3: // 0x10f
// BB:6 cycle count: 35
// .loc 0 106 0
// 104 }
// 105
// 106 PlaySpeech(1,1);
LM44:
00009AF5 42 20 SP = SP - 2 // [0:106]
00009AF6 41 96 R3 = 1 // [2:106]
00009AF7 08 09 01 00 R4 = SP + 1 // [4:106]
00009AF9 C4 D6 [R4] = R3 // [8:106]
00009AFA 41 96 R3 = 1 // [14:106]
00009AFB 08 09 02 00 R4 = SP + 2 // [16:106]
00009AFD C4 D6 [R4] = R3 // [20:106]
00009AFE 40 F0 1B 9A call _PlaySpeech // [26:106] PlaySpeech
BB7_PU2: // 0x11a
// BB:7 cycle count: 2
00009B00 42 00 SP = SP + 2 // [0:106]
L_2_4: // 0x11b
// BB:8 cycle count: 4
// .loc 0 107 0
// 107 while(1) ;
LM45:
00009B01 41 EE jmp L_2_4 // [0:107]
L_2_5: // 0x11c
// BB:9 cycle count: 16
00009B02 42 00 SP = SP + 2 // [0:107]
00009B03 88 98 pop BP from [SP] // [2:107]
00009B04 90 9A retf // [8:107]
LBE3:
.endp
LME3:
.external _InilSpeech
.external _T_SACM_DVR1600_Status
.external _T_SACM_DVR1600_Volume
.external _T_SACM_DVR1600_Pause
.external _T_SACM_DVR1600_Resume
.external _T_SACM_DVR1600_ServiceLoop
.external _FillRamBuf
.external _T_Stop_Play
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -