📄 test.asm
字号:
;* Regs Used : A0,B0,B3,B4,B5,B6,SP *
;* Local Frame Size : 0 Args + 8 Auto + 0 Save = 8 byte *
;******************************************************************************
_test_write:
;** --------------------------------------------------------------------------*
.line 2
.sym _i,4, 4, 1, 32
.sym _buffer_addr,8, 4, 1, 32
SUB .D2 SP,8,SP ; |91|
.line 3
MVKL .S1 0xa0004100,A0 ; |92|
MVKH .S1 0xa0004100,A0 ; |92|
STW .D2T1 A0,*+SP(8) ; |92|
NOP 2
.line 5
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L5
;** --------------------------------------------------------------------------*
L5:
.line 7
ZERO .D2 B4 ; |96|
CMPLT .L2 B4,10,B0 ; |96|
[!B0] B .S1 L5 ; |96|
STW .D2T2 B4,*+SP(4) ; |96|
NOP 3
ZERO .S2 B6 ; |97|
; BRANCH OCCURS ; |96|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L6:
.line 8
LDW .D2T2 *+SP(8),B4 ; |97|
|| MV .S2 B4,B5
NOP 4
STB .D2T2 B6,*+B4[B5] ; |97|
LDW .D2T2 *+SP(4),B4 ; |97|
NOP 4
ADD .D2 1,B4,B4 ; |97|
CMPLT .L2 B4,10,B0 ; |97|
[ B0] B .S1 L6 ; |97|
NOP 4
STW .D2T2 B4,*+SP(4) ; |97|
; BRANCH OCCURS ; |97|
;** --------------------------------------------------------------------------*
.line 9
B .S1 L5 ; |98|
NOP 5
; BRANCH OCCURS ; |98|
;** --------------------------------------------------------------------------*
.endfunc 100,000000000h,8
.sect ".text"
.global _test_read
.sym _test_read,_test_read, 32, 2, 0
.func 102
;******************************************************************************
;* FUNCTION NAME: _test_read *
;* *
;* Regs Modified : A0,B0,B4,B5,SP *
;* Regs Used : A0,B0,B3,B4,B5,SP *
;* Local Frame Size : 0 Args + 8 Auto + 0 Save = 8 byte *
;******************************************************************************
_test_read:
;** --------------------------------------------------------------------------*
.line 2
.sym _i,4, 2, 1, 8
.sym _data,5, 2, 1, 8
.sym _buffer_addr,8, 4, 1, 32
SUB .D2 SP,8,SP ; |103|
.line 4
MVKL .S1 0xa0004100,A0 ; |105|
MVKH .S1 0xa0004100,A0 ; |105|
STW .D2T1 A0,*+SP(8) ; |105|
NOP 2
.line 6
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L7
;** --------------------------------------------------------------------------*
L7:
.line 8
ZERO .D2 B4 ; |109|
STB .D2T2 B4,*+SP(4) ; |109|
LDB .D2T2 *+SP(4),B4 ; |109|
NOP 4
CMPLT .L2 B4,10,B0 ; |109|
[!B0] B .S1 L7 ; |109|
NOP 5
; BRANCH OCCURS ; |109|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L8:
.line 9
LDB .D2T2 *+SP(4),B5 ; |110|
LDW .D2T2 *+SP(8),B4 ; |110|
NOP 4
LDB .D2T2 *+B4[B5],B4 ; |110|
NOP 4
STB .D2T2 B4,*+SP(5) ; |110|
LDB .D2T2 *+SP(4),B4 ; |110|
NOP 4
ADD .D2 1,B4,B4 ; |110|
STB .D2T2 B4,*+SP(4) ; |110|
LDB .D2T2 *+SP(4),B4 ; |110|
NOP 4
CMPLT .L2 B4,10,B0 ; |110|
[ B0] B .S1 L8 ; |110|
NOP 5
; BRANCH OCCURS ; |110|
;** --------------------------------------------------------------------------*
.line 11
B .S1 L7 ; |112|
NOP 5
; BRANCH OCCURS ; |112|
;** --------------------------------------------------------------------------*
.endfunc 114,000000000h,8
.sect ".text"
.global _test_led
.sym _test_led,_test_led, 32, 2, 0
.func 117
;******************************************************************************
;* FUNCTION NAME: _test_led *
;* *
;* 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 *
;******************************************************************************
_test_led:
;** --------------------------------------------------------------------------*
.line 2
STW .D2T2 B3,*SP--(8) ; |118|
NOP 2
.line 3
CALL .S1 _ce1_config ; |119|
MVKL .S2 RL8,B3 ; |119|
MVKH .S2 RL8,B3 ; |119|
MVK .S1 0xffffff23,A4 ; |119|
NOP 2
RL8: ; CALL OCCURS ; |119|
.line 4
CALL .S1 _display_num ; |120|
MVKL .S2 RL9,B3 ; |120|
MVKH .S2 RL9,B3 ; |120|
MVK .S1 0x2,A4 ; |120|
NOP 2
RL9: ; CALL OCCURS ; |120|
.line 5
CALL .S1 _led_blink ; |121|
MVKL .S2 RL10,B3 ; |121|
MVK .S2 0x3e8,B4 ; |121|
MVKH .S2 RL10,B3 ; |121|
MVK .S1 0x3,A4 ; |121|
NOP 1
RL10: ; CALL OCCURS ; |121|
.line 6
LDW .D2T2 *++SP(8),B3 ; |122|
NOP 4
RET .S2 B3 ; |122|
NOP 5
; BRANCH OCCURS ; |122|
.endfunc 122,000080000h,8
.sect ".text"
.global _test_flash
.sym _test_flash,_test_flash, 32, 2, 0
.func 124
;******************************************************************************
;* FUNCTION NAME: _test_flash *
;* *
;* 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 : 8 Args + 0 Auto + 4 Save = 12 byte *
;******************************************************************************
_test_flash:
;** --------------------------------------------------------------------------*
.line 2
STW .D2T2 B3,*SP--(16) ; |125|
NOP 2
.line 3
CALL .S1 _ce1_config ; |126|
MVKL .S2 RL13,B3 ; |126|
MVKH .S2 RL13,B3 ; |126|
MVK .S1 0xffffff03,A4 ; |126|
NOP 2
RL13: ; CALL OCCURS ; |126|
.line 7
CALL .S1 _flash_bootblock_detect ; |130|
MVKL .S2 RL15,B3 ; |130|
MVKH .S2 RL15,B3 ; |130|
NOP 2
ZERO .D1 A4 ; |130|
RL15: ; CALL OCCURS ; |130|
CALL .S1 _printf ; |130|
MVKL .S1 SL2+0,A0 ; |130|
MVKH .S1 SL2+0,A0 ; |130|
STW .D2T1 A0,*+SP(4) ; |130|
MVKL .S2 RL16,B3 ; |130|
|| STW .D2T1 A4,*+SP(8) ; |130|
MVKH .S2 RL16,B3 ; |130|
RL16: ; CALL OCCURS ; |130|
.line 8
CALL .S1 _flash_erase ; |131|
MVKL .S2 RL17,B3 ; |131|
MVKH .S2 RL17,B3 ; |131|
NOP 3
RL17: ; CALL OCCURS ; |131|
.line 9
CALL .S1 _flash_bootblock_detect ; |132|
MVKL .S2 RL19,B3 ; |132|
ZERO .D1 A4 ; |132|
NOP 2
MVKH .S2 RL19,B3 ; |132|
RL19: ; CALL OCCURS ; |132|
CALL .S1 _printf ; |132|
MVKL .S2 SL2+0,B4 ; |132|
MVKH .S2 SL2+0,B4 ; |132|
STW .D2T2 B4,*+SP(4) ; |132|
MVKL .S2 RL20,B3 ; |132|
|| STW .D2T1 A4,*+SP(8) ; |132|
MVKH .S2 RL20,B3 ; |132|
RL20: ; CALL OCCURS ; |132|
.line 10
LDW .D2T2 *++SP(16),B3 ; |133|
NOP 4
RET .S2 B3 ; |133|
NOP 5
; BRANCH OCCURS ; |133|
.endfunc 133,000080000h,16
.sect ".text"
.global _test_pci
.sym _test_pci,_test_pci, 32, 2, 0
.func 135
;******************************************************************************
;* FUNCTION NAME: _test_pci *
;* *
;* 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 : 16 Args + 16 Auto + 4 Save = 36 byte *
;******************************************************************************
_test_pci:
;** --------------------------------------------------------------------------*
.line 2
.sym _device_addr,20, 14, 1, 32
.sym _memory_addr,24, 14, 1, 32
.sym _write_data,28, 4, 1, 32
.sym _data,32, 4, 1, 32
STW .D2T2 B3,*SP--(40) ; |136|
NOP 2
.line 3
MVK .S1 80,A0 ; |137|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -