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

📄 mult_64x.asm

📁 DSP芯片自检测程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:
		CMPEQ	.L2     B19, B20, B0	;B0 = 1
	[!B0]	B      .S1		ERRMULT47			;ERROR, if B0 !=0
		NOP 5
		
;checking instruction SSHVR
;Multiply Signed by Unsigned packed, 8-bit

		
		MVKL	.S2		0x80000000, B19	;B19 = result_1
		MVKH	.S2		0x80000000, B19	;B19 = result_1
		
		SSHVR	.M2		B16, B18, B20
		NOP	4							;Delay Slot	
		CMPEQ	.L2     B19, B20, B0	;B0 = 1
	[!B0]	B      .S1		ERRMULT48			;ERROR, if B0 !=0
		NOP 5

;checking instruction XPND2
;Expand bits to packed 16-bit masks

		MVKL	.S2		0xB1746CA1, B16	;B16 = src1
		MVKH	.S2		0xB1746CA1, B16	;B16 = src1 
		
		MVKL	.S2		0x0000FFFF, B19	;B19 = result_1
		MVKH	.S2		0x0000FFFF, B19	;B19 = result_1
		
		XPND2	.M2		B16, B20
		NOP	4							;Delay Slot	
		CMPEQ	.L2     B19, B20, B0	;B0 = 1
	[!B0]	B      .S1		ERRMULT49			;ERROR, if B0 !=0
		NOP 5

;checking instruction XPND4
;Expand bits to packed 8-bit masks

		MVKL	.S2		0xB1746CA4, B16	;B16 = src1
		MVKH	.S2		0xB1746CA4, B16	;B16 = src1 
		
		MVKL	.S2		0x00FF0000, B19	;B19 = result_1
		MVKH	.S2		0x00FF0000, B19	;B19 = result_1
		
		XPND4	.M2		B16, B20
		NOP	4							;Delay Slot	
		CMPEQ	.L2     B19, B20, B0	;B0 = 1
	[!B0]	B      .S1		ERRMULT50			;ERROR, if B0 !=0
		NOP 5
		
;Since all my branches for errors are taken for [!B0] I need to 
;set B0 equal to 0 so I dont get an overall error for Alu_6461
		MVKL	.S2		0x00000000, B0	
	
																																																												
;loading (or popping) appropriate registers from the stack
ENDMULT:
		LDW     .D2     *++B15[1], B13  ;from stack space
		LDW     .D2     *++B15[1], B12  ;this routine is 
		LDW     .D2     *++B15[1], B11  ;responsible for 
		LDW     .D2     *++B15[1], B10  ;before returning to
		LDW     .D2     *++B15[1], A10  ;the calling routine
		NOP     4

		B       .S2     B3      ;RETURN TO THE
		NOP     5               ;MAIN CONTROL SHELL

;*
;*Error Handlers
;*
		
ERRMULT1:       MVKL    .S2     31h, B0         ;MPY Error
		B       .S2     ENDMULT
		NOP     5

ERRMULT2:       MVKL    .S2     32h, B0         ;MPYH & MPYHUS Error
		B       .S2     ENDMULT
		NOP     5

ERRMULT3:       MVKL    .S2     33h, B0         ;MPYHU & MPYHSU Error
		B       .S2     ENDMULT
		NOP     5

ERRMULT4:       MVKL    .S2     34h, B0         ;MPYHL Error
		B       .S2     ENDMULT
		NOP     5

ERRMULT5:       MVKL    .S2     35h, B0         ;MPYLH Fail code
		B       .S2     ENDMULT
		NOP     5
		
;*************************************************************************		
;Code for instruction-set extended for C64x support						 *
;checking for instruction ABS2											 *
;*************************************************************************
		
ERRMULT6:       MVKL    .S2     0x9F019, B0         ;AVG2 Fail code
		MVKH    .S2     0x9F019, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT7:       MVKL    .S2     0x9F01A, B0         ;AVGU4 Fail code
		MVKH    .S2     0x9F01A, B0
		B       .S2     ENDMULT
		NOP     5
		
ERRMULT8:       MVKL    .S2     0x9F01B, B0         ;BITC4 Fail code
		MVKH    .S2     0x9F01B, B0
		B       .S2     ENDMULT
		NOP     5
	
ERRMULT9:       MVKL    .S2     0x9F01C, B0         ;BITR Fail code
		MVKH    .S2     0x9F01C, B0
		B       .S2     ENDMULT
		NOP     5
		
ERRMULT10:       MVKL    .S2     0x9F01D, B0         ;DEAL Fail code
		MVKH    .S2     0x9F01D, B0
		B       .S2     ENDMULT
		NOP     5	
		
ERRMULT11:       MVKL    .S2     0x9F01E, B0         ;DOTP2 Fail code
		MVKH    .S2     0x9F01E, B0
		B       .S2     ENDMULT
		NOP     5	
		
ERRMULT12:       MVKL    .S2     0x9F01F, B0         ;DOTPN2 Fail code
		MVKH    .S2     0x9F01F, B0
		B       .S2     ENDMULT
		NOP     5	
		
ERRMULT13:       MVKL    .S2     0x9F020, B0         ;DOTPNRSU2 Fail code
		MVKH    .S2     0x9F020, B0
		B       .S2     ENDMULT
		NOP     5
		
ERRMULT14:       MVKL    .S2     0x9F021, B0         ;DOTPNRUS2 Fail code
		MVKH    .S2     0x9F021, B0
		B       .S2     ENDMULT
		NOP     5
		
ERRMULT15:       MVKL    .S2     0x9F022, B0         ;DOTPRUS2 Fail code
		MVKH    .S2     0x9F022, B0
		B       .S2     ENDMULT
		NOP     5	
		
ERRMULT16:       MVKL    .S2     0x9F023, B0         ;DOTPRUS2 Fail code
		MVKH    .S2     0x9F023, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT17:       MVKL    .S2     0x9F024, B0         ;DOTPSU4 Fail code
		MVKH    .S2     0x9F024, B0
		B       .S2     ENDMULT
		NOP     5		

ERRMULT18:       MVKL    .S2     0x9F025, B0         ;DOTPUS4 Fail code
		MVKH    .S2     0x9F025, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT19:       MVKL    .S2     0x9F026, B0         ;DOTPU4 Fail code
		MVKH    .S2     0x9F026, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT20:       MVKL    .S2     0x9F027, B0         ;GMPY4 Fail code
		MVKH    .S2     0x9F027, B0
		B       .S2     ENDMULT
		NOP     5
		
ERRMULT21:       MVKL    .S2     0x9F028, B0         ;GMPY4 Fail code
		MVKH    .S2     0x9F028, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT22:       MVKL    .S2     0x9F029, B0         ;MPY2 Fail code
		MVKH    .S2     0x9F029, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT23:       MVKL    .S2     0x9F02A, B0         ;MPY2 Fail code
		MVKH    .S2     0x9F02A, B0
		B       .S2     ENDMULT
		NOP     5																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																
				
ERRMULT24:       MVKL    .S2     0x9F02B, B0         ;MPYHI Fail code
		MVKH    .S2     0x9F02B, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT25:       MVKL    .S2     0x9F02C, B0         ;MPYHI Fail code
		MVKH    .S2     0x9F02C, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT26:       MVKL    .S2     0x9F02D, B0         ;MPYIH Fail code
		MVKH    .S2     0x9F02D, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT27:       MVKL    .S2     0x9F02E, B0         ;MPYIH Fail code
		MVKH    .S2     0x9F02E, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT28:       MVKL    .S2     0x9F02F, B0         ;MPYHIR Fail code
		MVKH    .S2     0x9F02F, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT29:       MVKL    .S2     0x9F030, B0         ;MPYIHR Fail code
		MVKH    .S2     0x9F030, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT30:       MVKL    .S2     0x9F031, B0         ;MPYLI Fail code
		MVKH    .S2     0x9F031, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT31:       MVKL    .S2     0x9F032, B0         ;MPYLI Fail code
		MVKH    .S2     0x9F032, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT32:       MVKL    .S2     0x9F033, B0         ;MPYIH Fail code
		MVKH    .S2     0x9F033, B0
		B       .S2     ENDMULT
		NOP     5		

ERRMULT33:       MVKL    .S2     0x9F034, B0         ;MPYIH Fail code
		MVKH    .S2     0x9F034, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT34:       MVKL    .S2     0x9F035, B0         ;MPYLIR Fail code
		MVKH    .S2     0x9F035, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT35:       MVKL    .S2     0x9F036, B0         ;MPYILR Fail code
		MVKH    .S2     0x9F036, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT36:       MVKL    .S2     0x9F037, B0         ;MPYSU4 Fail code
		MVKH    .S2     0x9F037, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT37:       MVKL    .S2     0x9F038, B0         ;MPYSU4 Fail code
		MVKH    .S2     0x9F038, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT38:       MVKL    .S2     0x9F039, B0         ;MPYUS4 Fail code
		MVKH    .S2     0x9F039, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT39:       MVKL    .S2     0x9F03A, B0         ;MPYUS4 Fail code
		MVKH    .S2     0x9F03A, B0
		B       .S2     ENDMULT
		NOP     5																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																															
		
ERRMULT40:       MVKL    .S2     0x9F03B, B0         ;MPYU4 Fail code
		MVKH    .S2     0x9F03b, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT41:       MVKL    .S2     0x9F03C, B0         ;MPYU4 Fail code
		MVKH    .S2     0x9F03C, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT42:       MVKL    .S2     0x9F03D, B0         ;MVD Fail code
		MVKH    .S2     0x9F03D, B0
		B       .S2     ENDMULT
		NOP     5		

ERRMULT43:       MVKL    .S2     0x9F03E, B0         ;ROTL Fail code
		MVKH    .S2     0x9F03E, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT44:       MVKL    .S2     0x9F03F, B0         ;SHFL Fail code
		MVKH    .S2     0x9F03F, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT45:       MVKL    .S2     0x9F040, B0         ;SMPY2 Fail code
		MVKH    .S2     0x9F040, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT46:       MVKL    .S2     0x9F041, B0         ;SMPY2 Fail code
		MVKH    .S2     0x9F041, B0
		B       .S2     ENDMULT
		NOP     5																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																
	

ERRMULT47:       MVKL    .S2     0x9F042, B0         ;SSHVL Fail code
		MVKH    .S2     0x9F042, B0
		B       .S2     ENDMULT
		NOP     5

ERRMULT48:       MVKL    .S2     0x9F043, B0         ;SSHVR Fail code
		MVKH    .S2     0x9F043, B0
		B       .S2     ENDMULT
		NOP     5
		
ERRMULT49:       MVKL    .S2     0x9F044, B0         ;XPND2 Fail code
		MVKH    .S2     0x9F044, B0
		B       .S2     ENDMULT
		NOP     5	

ERRMULT50:       MVKL    .S2     0x9F045, B0         ;XPND4 Fail code
		MVKH    .S2     0x9F045, B0
		B       .S2     ENDMULT
		NOP     5																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																
	

⌨️ 快捷键说明

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