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

📄 laplacian.asm

📁 DSP学习讲座
💻 ASM
字号:
        
loopcount       .set 65022
imagesize       .set 256 
                    
operator        .sect"laplacian" 
                .byte -1
                .byte -1
                .byte -1                
                .byte -1
                .byte 8
                .byte -1
                .byte -1
                .byte -1
                .byte -1 ;输入拉普拉斯算子矩阵系数
operator_end
bos             .usect"stack",12 

                .data
output          .space 0x10000;把要处理的图像数据输入到RAM
input           .copy Lenna;初始化输出空间

                .text
                .def line
                .def end 
                .def laplacian_int
                .def laplacian_task
laplacian_int:
                mvkl input,a1
                mvkh input,a1;
                mvkl operator,a4
                mvkh operator,a4                
                mvkl bos,b15
                mvkh bos,b15
                mvkl output,b10
                mvkh output,b10
                mvkl loopcount,b0
                mvkh loopcount,b0
                mvkl imagesize,b9
                mvkh imagesize,b9
                stw  a4,*b15++
                stw  a1,*b15;入栈
                mvk  3,b2
                mvk  3,a2
                mvk  0,b6;累加器初始化                                
laplacian_task: 
line:           
                ldbu *a1++,b3
                nop  4
                ldb  *a4++,b4
                nop  4
                mpyus  b3,b4,b5
                nop                                                                                
                add  b5,b6,b6                                                                               
                sub  b2,1,b2;完成一次像素与系数相乘
            [b2]b    line
                nop  5                                                                                                   
                mvk  3,b2;
                sub  a1,3,a1;                
                add  a1,b9,a1
                sub  a2,1,a2
            [a2]b    line
                nop  5                                                                                                                                   
                mvk  3,a2;
                ldw  *b15,a1
                nop  4      
                add  a1,1,a1
                stw  a1,*b15
                ldw  *--b15,a4
                nop  4    
                abs  b6,b6               
                cmpgt b6,b9,b1
            [b1]mvk  255,b6                                  
                stb  b6,*b10++;
                mvk  0,b6;累加器初始化                
                sub  b0,1,b0 
                add  b15,4,b15                
            [b0]b    line
                nop  5                                                                                                                                                                                                               
end:            b    end
                nop  5
                .end

⌨️ 快捷键说明

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