📄 mult_64x.asm
字号:
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 + -