📄 echo.asm
字号:
; BRANCH OCCURS ; |137|
;** --------------------------------------------------------------------------*
.line 18
;----------------------------------------------------------------------
; 138 | SYS_abort("Cannot get static buffer");
;----------------------------------------------------------------------
B .S1 _SYS_abort ; |138|
MVKL .S1 SL4+0,A0 ; |138|
MVKH .S1 SL4+0,A0 ; |138|
MVKL .S2 RL18,B3 ; |138|
STW .D2T1 A0,*+SP(4) ; |138|
MVKH .S2 RL18,B3 ; |138|
RL18: ; CALL OCCURS ; |138|
;** --------------------------------------------------------------------------*
L2:
.line 23
;----------------------------------------------------------------------
; 143 | inStreams[0] = &inStream0;
;----------------------------------------------------------------------
MVKL .S2 _inStream0,B4 ; |143|
MVKH .S2 _inStream0,B4 ; |143|
STW .D2T2 B4,*+SP(20) ; |143|
.line 24
;----------------------------------------------------------------------
; 144 | inStreams[1] = &inStream1;
;----------------------------------------------------------------------
MVKL .S1 _inStream1,A0 ; |144|
MVKH .S1 _inStream1,A0 ; |144|
STW .D2T1 A0,*+SP(24) ; |144|
.line 28
;----------------------------------------------------------------------
; 148 | while (TRUE) {
;----------------------------------------------------------------------
;** --------------------------------------------------------------------------*
L3:
.line 29
;----------------------------------------------------------------------
; 149 | mask = SIO_select(inStreams, 2, SYS_FOREVER);
;----------------------------------------------------------------------
B .S1 _SIO_select ; |149|
MVKL .S2 RL20,B3 ; |149|
MVK .S2 0x2,B4 ; |149|
ADD .D2 SP,20,B5 ; |149|
MVKH .S2 RL20,B3 ; |149|
MV .L1X B5,A4 ; |149|
|| MVK .S1 0xffffffff,A6 ; |149|
RL20: ; CALL OCCURS ; |149|
STW .D2T1 A4,*+SP(16) ; |149|
.line 31
;----------------------------------------------------------------------
; 151 | if (mask & CHAN_0_READY) {
;----------------------------------------------------------------------
AND .L1 1,A4,A1 ; |151|
[!A1] B .S1 L4 ; |151|
NOP 5
; BRANCH OCCURS ; |151|
;** --------------------------------------------------------------------------*
.line 32
;----------------------------------------------------------------------
; 152 | LOG_printf(&trace1, "channel 0");
;----------------------------------------------------------------------
B .S1 _LOG_printf ; |152|
MVKL .S2 SL5+0,B4 ; |152|
MVKL .S2 RL22,B3 ; |152|
MVKH .S2 SL5+0,B4 ; |152|
MVKL .S1 _trace1,A4 ; |152|
STW .D2T2 B4,*+SP(4) ; |152|
|| MVKH .S2 RL22,B3 ; |152|
|| MVKH .S1 _trace1,A4 ; |152|
RL22: ; CALL OCCURS ; |152|
.line 34
;----------------------------------------------------------------------
; 154 | if (!processChannel(&audioChannel[0], &buf)) {
;----------------------------------------------------------------------
B .S1 _processChannel ; |154|
MVKL .S2 RL24,B3 ; |154|
MVK .S1 (_audioChannel-$bss),A0 ; |154|
ADD .L1X DP,A0,A4 ;
ADD .L2 12,SP,B4 ; |154|
MVKH .S2 RL24,B3 ; |154|
RL24: ; CALL OCCURS ; |154|
MV .L1 A4,A1 ; |154|
[ A1] B .S1 L4 ; |154|
NOP 5
; BRANCH OCCURS ; |154|
;** --------------------------------------------------------------------------*
.line 35
;----------------------------------------------------------------------
; 155 | LOG_printf(&trace, "processing error on channel 0");
;----------------------------------------------------------------------
B .S1 _LOG_printf ; |155|
MVKL .S2 SL6+0,B4 ; |155|
MVKL .S2 RL26,B3 ; |155|
MVKH .S2 SL6+0,B4 ; |155|
MVKL .S1 _trace,A4 ; |155|
STW .D2T2 B4,*+SP(4) ; |155|
|| MVKH .S2 RL26,B3 ; |155|
|| MVKH .S1 _trace,A4 ; |155|
RL26: ; CALL OCCURS ; |155|
;** --------------------------------------------------------------------------*
L4:
.line 39
;----------------------------------------------------------------------
; 159 | if (mask & CHAN_1_READY) {
;----------------------------------------------------------------------
LDW .D2T2 *+SP(16),B4 ; |159|
NOP 4
AND .L2 2,B4,B0 ; |159|
[!B0] B .S1 L3 ; |159|
NOP 5
; BRANCH OCCURS ; |159|
;** --------------------------------------------------------------------------*
.line 40
;----------------------------------------------------------------------
; 160 | LOG_printf(&trace1, "channel 1");
;----------------------------------------------------------------------
B .S1 _LOG_printf ; |160|
MVKL .S2 SL7+0,B4 ; |160|
MVKL .S2 RL28,B3 ; |160|
MVKH .S2 SL7+0,B4 ; |160|
MVKL .S1 _trace1,A4 ; |160|
STW .D2T2 B4,*+SP(4) ; |160|
|| MVKH .S2 RL28,B3 ; |160|
|| MVKH .S1 _trace1,A4 ; |160|
RL28: ; CALL OCCURS ; |160|
.line 42
;----------------------------------------------------------------------
; 162 | if (!processChannel(&audioChannel[1], &buf)) {
;----------------------------------------------------------------------
B .S1 _processChannel ; |162|
MVKL .S2 RL30,B3 ; |162|
MVK .S1 (_audioChannel+12-$bss),A0 ; |162|
ADD .L1X DP,A0,A4 ;
ADD .L2 12,SP,B4 ; |162|
MVKH .S2 RL30,B3 ; |162|
RL30: ; CALL OCCURS ; |162|
MV .L1 A4,A1 ; |162|
[ A1] B .S1 L3 ; |162|
NOP 5
; BRANCH OCCURS ; |162|
;** --------------------------------------------------------------------------*
.line 43
;----------------------------------------------------------------------
; 163 | LOG_printf(&trace, "processing error on channel 1");
;----------------------------------------------------------------------
B .S1 _LOG_printf ; |163|
MVKL .S2 SL8+0,B4 ; |163|
MVKL .S2 RL32,B3 ; |163|
MVKH .S2 SL8+0,B4 ; |163|
MVKL .S1 _trace,A4 ; |163|
STW .D2T2 B4,*+SP(4) ; |163|
|| MVKH .S2 RL32,B3 ; |163|
|| MVKH .S1 _trace,A4 ; |163|
RL32: ; CALL OCCURS ; |163|
.line 48
B .S1 L3 ; |168|
NOP 5
; BRANCH OCCURS ; |168|
;** --------------------------------------------------------------------------*
.line 49
.endfunc 169,000080000h,32
.sect ".text"
.global _main
.sym _main,_main, 36, 2, 0
.func 171
;----------------------------------------------------------------------
; 171 | main()
;----------------------------------------------------------------------
;******************************************************************************
;* FUNCTION NAME: _main *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,SP *
;* Local Frame Size : 0 Args + 0 Auto + 4 Save = 4 byte *
;******************************************************************************
_main:
;** --------------------------------------------------------------------------*
STW .D2T2 B3,*SP--(8) ; |171|
.line 3
;----------------------------------------------------------------------
; 173 | CSL_Init();
;----------------------------------------------------------------------
B .S1 _CSL_Init ; |173|
MVKL .S2 RL34,B3 ; |173|
MVKH .S2 RL34,B3 ; |173|
NOP 3
RL34: ; CALL OCCURS ; |173|
ZERO .L1 A4 ; |173|
.line 4
LDW .D2T2 *++SP(8),B3 ; |174|
NOP 4
B .S2 B3 ; |174|
NOP 5
; BRANCH OCCURS ; |174|
.endfunc 174,000080000h,8
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".const"
SL1: .string "sio_get uses buffer 0x%x",0
SL2: .string "sio_get returns buffer 0x%x",0
SL3: .string "sio_put returns buffer 0x%x",0
SL4: .string "Cannot get static buffer",0
SL5: .string "channel 0",0
SL6: .string "processing error on channel 0",0
SL7: .string "channel 1",0
SL8: .string "processing error on channel 1",0
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _LOG_printf
.global _SYS_abort
.global _SIO_get
.global _SIO_staticbuf
.global _SIO_put
.global _SIO_select
.global _CSL6211_LIB_
.global _CSLINIT_Init
.global _doLoad
.global _outStream1
.global _inStream1
.global _outStream0
.global _trace
.global _trace1
.global _inStream0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -