📄 w_filter.asm
字号:
;=====================================================================
; File name : W_FILTER.asm
; Module Name : OMIGA_FILTER,OMIGA_FILTER_INIT
; Description : 求平均值滤波器
;
;
; |~~~~~~~~~~~~~~~|
; | |
; OmigaR0 o----> | FILTER |----->o OMIGA_FILTER_RESULT
; (OMIGA_FILTER_Y1-8)| |
; |______________ |
; 2004.9.23
;=====================================================================
.include "f2407.h"
.global OMIGA_FILTER_INIT,OMIGA_FILTER ;function call
.global OmigaR0 ;input
.global OMIGA_FILTER_Y1,OMIGA_FILTER_Y2,OMIGA_FILTER_Y3,OMIGA_FILTER_Y4
.global OMIGA_FILTER_Y5,OMIGA_FILTER_Y6,OMIGA_FILTER_Y7,OMIGA_FILTER_Y8
.global OMIGA_FILTER_RESULT
;=====================================================================
OMIGA_FILTER_INIT:
;=====================================================================
LDP #DP_DATA
SPLK #0,OMIGA_FILTER_RESULT
SPLK #0,OMIGA_FILTER_Y1
SPLK #0,OMIGA_FILTER_Y2
SPLK #0,OMIGA_FILTER_Y3
SPLK #0,OMIGA_FILTER_Y4
SPLK #0,OMIGA_FILTER_Y5
SPLK #0,OMIGA_FILTER_Y6
SPLK #0,OMIGA_FILTER_Y7
SPLK #0,OMIGA_FILTER_Y8
RET
;=====================================================================
OMIGA_FILTER:
;=====================================================================
SPM 0
SETC SXM
;-----------------------------------------------------------
LDP #DP_DATA
LACC OmigaR0
SACL OMIGA_FILTER_Y1 ;OmigaR0暂存到OMIGA_FILTER_Y1
;-------------
;计算8个值的平均值。
LACC OMIGA_FILTER_Y1
ADD OMIGA_FILTER_Y2
ADD OMIGA_FILTER_Y3
ADD OMIGA_FILTER_Y4
; ADD OMIGA_FILTER_Y5
; ADD OMIGA_FILTER_Y6
; ADD OMIGA_FILTER_Y7
; ADD OMIGA_FILTER_Y8
; SFR
SFR
SFR ;右移三位,相当/8。
SACL OMIGA_FILTER_RESULT ;滤波结果。
;---------------
;把Y值前移。
; LACC OMIGA_FILTER_Y7
; SACL OMIGA_FILTER_Y8
; LACC OMIGA_FILTER_Y6
; SACL OMIGA_FILTER_Y7
; LACC OMIGA_FILTER_Y5
; SACL OMIGA_FILTER_Y6
; LACC OMIGA_FILTER_Y4
; SACL OMIGA_FILTER_Y5
LACC OMIGA_FILTER_Y3
SACL OMIGA_FILTER_Y4
LACC OMIGA_FILTER_Y2
SACL OMIGA_FILTER_Y3
LACC OMIGA_FILTER_Y1
SACL OMIGA_FILTER_Y2
;---------------------------------------------------------------------------
SPM 0
SETC SXM
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -