📄 echo.asm
字号:
B .S1 _SYS_abort ; |201|
MVKL .S1 SL8+0,A0 ; |201|
MVKH .S1 SL8+0,A0 ; |201|
MVKL .S2 RL46,B3 ; |201|
STW .D2T1 A0,*+SP(4) ; |201|
MVKH .S2 RL46,B3 ; |201|
RL46: ; CALL OCCURS ; |201|
;** --------------------------------------------------------------------------*
L8:
.line 55
;----------------------------------------------------------------------
; 206 | if (SIO_issue(audioChannel[channelNum].inStream,
; 207 | audioChannel[channelNum].buf2,
; 208 | audioChannel[channelNum].bufSize,
; 209 | NULL) < 0) {
;----------------------------------------------------------------------
LDW .D2T2 *+SP(12),B4 ; |206|
MVK .S2 (_audioChannel-$bss),B5 ; |206|
MVK .S2 (_audioChannel+20-$bss),B6 ; |206|
MVK .S1 (_audioChannel+16-$bss),A3 ; |206|
ADD .L2 DP,B5,B5 ; |206|
SHL .S2 B4,5,B7 ; |206|
|| MV .L1X B4,A0 ; |206|
SUBAW .D2 B7,B4,B7 ; |206|
|| SHL .S1 A0,5,A4 ; |206|
|| SHL .S2 B4,5,B8 ; |206|
ADD .L2 B5,B7,B4 ; |206|
|| SUBAW .D2 B8,B4,B5 ; |206|
|| SUBAW .D1 A4,A0,A0 ; |206|
|| ADD .L1X DP,A3,A3 ; |206|
|| ADD .S2 DP,B6,B6 ; |206|
B .S1 _SIO_issue ; |206|
|| ADD .L2 B6,B5,B4 ; |206|
|| LDW .D2T1 *B4,A4 ;
|| ADD .L1 A3,A0,A0 ; |206|
LDW .D1T2 *A0,B4 ;
|| LDW .D2T1 *B4,A6 ;
MVKL .S2 RL48,B3 ; |206|
ZERO .L2 B6 ; |206|
MVKH .S2 RL48,B3 ; |206|
NOP 1
RL48: ; CALL OCCURS ; |206|
CMPLT .L1 A4,0,A1 ;
[!A1] B .S1 L9 ; |206|
NOP 5
; BRANCH OCCURS ; |206|
;** --------------------------------------------------------------------------*
.line 59
;----------------------------------------------------------------------
; 210 | SYS_abort("error on issue for chan %d", channelNum);
;----------------------------------------------------------------------
B .S1 _SYS_abort ; |210|
|| LDW .D2T2 *+SP(12),B4 ; |210|
MVKL .S1 SL6+0,A0 ; |210|
MVKH .S1 SL6+0,A0 ; |210|
STW .D2T1 A0,*+SP(4) ; |210|
MVKL .S2 RL50,B3 ; |210|
STW .D2T2 B4,*+SP(8) ; |210|
|| MVKH .S2 RL50,B3 ; |210|
RL50: ; CALL OCCURS ; |210|
;** --------------------------------------------------------------------------*
L9:
.line 61
;----------------------------------------------------------------------
; 212 | if (SIO_issue(audioChannel[channelNum].inStream,
; 213 | audioChannel[channelNum].buf1,
; 214 | audioChannel[channelNum].bufSize,
; 215 | NULL) < 0) {
;----------------------------------------------------------------------
LDW .D2T2 *+SP(12),B7 ; |212|
MVK .S2 (_audioChannel+20-$bss),B5 ; |212|
MVK .S1 (_audioChannel+12-$bss),A3 ; |212|
ADD .L2 DP,B5,B5 ; |212|
MVK .S2 (_audioChannel-$bss),B8 ; |212|
SHL .S2 B7,5,B4 ; |212|
SUBAW .D2 B4,B7,B6 ; |212|
|| MV .L1X B7,A4 ; |212|
|| SHL .S2 B7,5,B4 ; |212|
SUBAW .D2 B4,B7,B4 ; |212|
|| SHL .S1 A4,5,A0 ; |212|
ADD .L2 B5,B4,B4 ; |212|
|| SUBAW .D1 A0,A4,A0 ; |212|
|| ADD .S2 DP,B8,B8 ; |212|
|| ADD .L1X DP,A3,A3 ; |212|
B .S1 _SIO_issue ; |212|
|| LDW .D2T1 *B4,A6 ;
|| ADD .L1 A3,A0,A0 ; |212|
|| ADD .L2 B8,B6,B6 ; |212|
LDW .D1T2 *A0,B4 ;
|| LDW .D2T1 *B6,A4 ;
MVKL .S2 RL52,B3 ; |212|
ZERO .L2 B6 ; |212|
MVKH .S2 RL52,B3 ; |212|
NOP 1
RL52: ; CALL OCCURS ; |212|
CMPLT .L1 A4,0,A1 ;
[!A1] B .S1 L10 ; |212|
NOP 5
; BRANCH OCCURS ; |212|
;** --------------------------------------------------------------------------*
.line 65
;----------------------------------------------------------------------
; 216 | SYS_abort("error on issue for chan %d", channelNum);
;----------------------------------------------------------------------
B .S1 _SYS_abort ; |216|
|| LDW .D2T2 *+SP(12),B4 ; |216|
MVKL .S1 SL6+0,A0 ; |216|
MVKH .S1 SL6+0,A0 ; |216|
STW .D2T1 A0,*+SP(4) ; |216|
MVKL .S2 RL54,B3 ; |216|
STW .D2T2 B4,*+SP(8) ; |216|
|| MVKH .S2 RL54,B3 ; |216|
RL54: ; CALL OCCURS ; |216|
;** --------------------------------------------------------------------------*
L10:
.line 68
;----------------------------------------------------------------------
; 219 | while (TRUE) {
;----------------------------------------------------------------------
;** --------------------------------------------------------------------------*
L11:
.line 69
;----------------------------------------------------------------------
; 220 | LOG_printf(&trace1, "channel %d", channelNum);
;----------------------------------------------------------------------
B .S1 _LOG_printf ; |220|
|| LDW .D2T2 *+SP(12),B5 ; |220|
MVKL .S2 SL9+0,B4 ; |220|
MVKH .S2 SL9+0,B4 ; |220|
STW .D2T2 B4,*+SP(4) ; |220|
MVKL .S1 _trace1,A4 ; |220|
|| MVKL .S2 RL56,B3 ; |220|
STW .D2T2 B5,*+SP(8) ; |220|
|| MVKH .S2 RL56,B3 ; |220|
|| MVKH .S1 _trace1,A4 ; |220|
RL56: ; CALL OCCURS ; |220|
.line 71
;----------------------------------------------------------------------
; 222 | if (!processChannel(&audioChannel[channelNum])) {
;----------------------------------------------------------------------
LDW .D2T2 *+SP(12),B5 ; |222|
MVK .S1 (_audioChannel-$bss),A0 ; |222|
B .S1 _processChannel ; |222|
MVKL .S2 RL58,B3 ; |222|
ADD .L1X DP,A0,A0 ; |222|
SHL .S2 B5,5,B4 ; |222|
SUBAW .D2 B4,B5,B4 ; |222|
ADD .L1X A0,B4,A4 ; |222|
|| MVKH .S2 RL58,B3 ; |222|
RL58: ; CALL OCCURS ; |222|
MV .L1 A4,A1 ; |222|
[ A1] B .S1 L11 ; |222|
NOP 5
; BRANCH OCCURS ; |222|
;** --------------------------------------------------------------------------*
.line 72
;----------------------------------------------------------------------
; 223 | LOG_printf(&trace, "processing error on channel %d", channelNum);
;----------------------------------------------------------------------
B .S1 _LOG_printf ; |223|
|| LDW .D2T2 *+SP(12),B5 ; |223|
MVKL .S2 SL10+0,B4 ; |223|
MVKH .S2 SL10+0,B4 ; |223|
STW .D2T2 B4,*+SP(4) ; |223|
MVKL .S1 _trace,A4 ; |223|
|| MVKL .S2 RL60,B3 ; |223|
STW .D2T2 B5,*+SP(8) ; |223|
|| MVKH .S2 RL60,B3 ; |223|
|| MVKH .S1 _trace,A4 ; |223|
RL60: ; CALL OCCURS ; |223|
.line 75
B .S1 L11 ; |226|
NOP 5
; BRANCH OCCURS ; |226|
;** --------------------------------------------------------------------------*
.line 76
.endfunc 227,000080000h,16
.sect ".text"
.global _main
.sym _main,_main, 36, 2, 0
.func 229
;----------------------------------------------------------------------
; 229 | main()
;----------------------------------------------------------------------
;******************************************************************************
;* FUNCTION NAME: _main *
;* *
;* Regs Modified : A0,A3,A4,B3,B4,B5,SP *
;* Regs Used : A0,A3,A4,B3,B4,B5,SP *
;* Local Frame Size : 0 Args + 0 Auto + 4 Save = 4 byte *
;******************************************************************************
_main:
;** --------------------------------------------------------------------------*
STW .D2T2 B3,*SP--(8) ; |229|
.line 3
;----------------------------------------------------------------------
; 231 | initChannelData();
;----------------------------------------------------------------------
B .S1 _initChannelData ; |231|
MVKL .S2 RL62,B3 ; |231|
MVKH .S2 RL62,B3 ; |231|
NOP 3
RL62: ; CALL OCCURS ; |231|
ZERO .L1 A4 ; |231|
.line 4
LDW .D2T2 *++SP(8),B3 ; |232|
NOP 4
B .S2 B3 ; |232|
NOP 5
; BRANCH OCCURS ; |232|
.endfunc 232,000080000h,8
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".const"
SL1: .string "sio_issue in uses buffer 0x%x",0
SL2: .string "sio_reclaim in returns buffer 0x%x",0
SL3: .string "sio_issue out uses buffer 0x%x",0
SL4: .string "sio_reclaim out returns buffer 0x%x",0
SL5: .string "MEM_alloc failed",0
SL6: .string "error on issue for chan %d",0
SL7: .string "sio_issue uses buffer 0x%x",0
SL8: .string "Cannot get static buffer",0
SL9: .string "channel %d",0
SL10: .string "processing error on channel %d",0
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _MEM_alloc
.global _LOG_printf
.global _SYS_abort
.global _SIO_staticbuf
.global _SIO_issue
.global _SIO_reclaim
.global _doLoad
.global _IDRAM
.global _outStream1
.global _inStream1
.global _outStream0
.global _trace
.global _trace1
.global _inStream0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -