transform.asm
来自「DSP学习讲座」· 汇编 代码 · 共 59 行
ASM
59 行
.data
output .space 0x10000
input .copy imginput1
bos .usect"stack",8
_coeff_tran_start .sect"coeff_float"
.float 0.144
.float 0.587
.float 0.299
_coeff_tran_end
.text
.def tran_int
.def tran_start
.def big
.def small
tran_int:
mvkl _coeff_tran_start,b3
mvkh _coeff_tran_start,b3;变换系数指针
mvkl output,a0
mvkh output,a0;输出地址指针
mvkl input,a2
mvkh input,a2;输入地址指针
mvkl bos,a5
mvkh bos,a5;堆栈指针
stw b3,*a5;入栈
mvkl 65535,a1
mvkh 65535,a1
mvk 54,b2;头文件的字节数
tran_start:
add a2,b2,a2;跳过头文件
big: mvk 0,b8
mvk 3,b0;初始化循环计数器
small: ldw *b3++,b4
nop 5
ldbu *a2++,b1
nop 5
intsp b1,b2
nop 5
mpysp b2,b4,b7
nop 5
addsp b7,b8,b8
nop 5
sub b0,1,b0;完成单次乘操作
[b0]b small
nop 5
ldw *a5,b3
nop 5
spint b8,b8
nop 5
stb b8,*a0++
sub a1,1,a1;完成一个像素的变换
[a1]b big
nop 5
end: b end
nop 5
.end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?