📄 eqhis.asm
字号:
.title "eqhis"
.mmregs
.def _c_int00
.data
div .word 4096 ;图像的总点数
I_IMAGE_SIZE .set 4096 ;图像大小
I_HISTAB_SIZE .set 256 ;灰度变换查找表大小
STACK .usect "stack",0
imagedata .usect "image_vars",I_IMAGE_SIZE ;图像存储空间
histab .usect "image_vars",I_HISTAB_SIZE ;灰度查找表存储空间
.text
_c_int00:
RSBX FRCT
SSBX SXM
NOP
STM #imagedata,AR2
STM #histab,AR3
LD #0,A ;给灰度查找表清零
RPT #255
STL A,*AR3+
STM #histab,AR3
ST #4095,BRC ;统计每个灰度级的点数
RPTB endloop1-1
LDM AR3,A
ADD *AR2+,A
STLM A,AR4
ADDM #1,*AR4
endloop1:
STM #div,AR5
STM #255,T
LD #0,A
ST #255,BRC ;计算变换的灰度查找表
RPTB endloop2-1
MAC *AR3,A
LD A,B
RPT #15
SUBC *AR5,B
STL B,*AR3+
endloop2:
STM #imagedata,AR2
STM #histab,AR3
ST #4095,BRC ;对原图像中的每个点进行查表变换
RPTB endloop3-1
LDM AR3,A
ADD *AR2,A
STLM A,AR4
MVDD *AR4,*AR2+
endloop3:
end:
B end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -