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

📄 int2mu.asm

📁 DSP芯片TMS320C5416实验程序
💻 ASM
字号:
; INT2MU.ASM
;
; u律编码 = u律符号位 : u律段落码 : u律电平码
;
; u律段落码 = (19h - T|EXP)<<4
; 			= 190h - (T|EXP)*16
; 			= 180h - (T|EXP)*16 + 10h
;
; u律符号位 = (AH * (-1)) <<7
; 			= (AH * FFFFh) * 128 = AH * (FFFFh * 128)
; 			= AH * (FFFFh << 7) = AH * FF80h
;
; u律电平码 = (((|int| + 33) << (T|EXP)) << -26) - 10h
;
; 将 8-bit u律编码反向:
;
; 反向u律编码' = FF - u律编码 
;              = FF - u律符号位 - u律段落码 - u律电平码
;
; 反向u律编码' = FF-180h-AH*FF80h+(T|EXP)*16-((|int|+33)<<(T|EXP))>>26
;

		.def INT2MU
		.mmregs
		.data
		
BIAS1 	.word 0FFh-180h
BIAS2 	.word 0FF80h
BIAS3 	.word 21h
BIAS4 	.word 16
TABLEINT  .word -2460,-1505,-650,-338,-90,-1,102,169,420,499,980,7000
RESULTMU  .space 16*16

		.text
INT2MU 	
		LD 		#BIAS1, 	DP
		
		STM     #TABLEINT, 	AR0
		STM     #RESULTMU, 	AR1
		STM     #12, 		AR2
		
cbeg 	LD 		*AR0+, A 			;读取需要转换的整数
		LD 		BIAS1, B 			;装载常数 (FFh-180h)
		MASA 	BIAS2, B 			;B = (FFh-180h-AH*FF80h)
		ABS 	A 					;A = |int|
		ADD 	BIAS3, A 			;A = |int| + 33 (33 = 21H)
		EXP 	A 					;# 前导0 -> (T|EXP)
		MAC 	BIAS4, B 			;B += (T|EXP)*16
		NORM 	A 					;A<<(T|EXP)
		SFTA 	A,-16 				;(A<<(T|EXP))>>16
		SUB 	A,-10, B 			;反向u律编码' = B - (A<<(T|EXP))>>26
		STL     B, *AR1+			;保存结果
		BANZ    cbeg,  *AR2-		;计算下一个
		
		RET

⌨️ 快捷键说明

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