ARM汇编中值滤波实验
2024-08-29 10:47:49
其实就是 汇编的排序然后选出中位数
排序写的是最直接的冒泡排序,因为简单.
相应的C代码
r2=r0; while(r1<r0){ r1++;
r2=r2-;
r3=;
while(r3<r2){ if(sp[r3]>sp[r3+]){ //交换 }
r3++ } }
汇编代码:
AREA EXAMPLE,CODE,READONLY
ENTRY LDR SP,=0X40000000 ;ldr r4,=0x40000000;这才是开头
;SWAP
;ldr r5,[r4];从堆栈取数
;ldr r6,[r4,#] ;str r5,[r4,#];将寄存器里面的数放进堆栈
;str r6,[r4] ;ldr r5,[r4]
;ldr r6,[r4,#] ;R0,R2 INNITAIL MOV R2,R0 LOOP_1 CMP R1,R0;R1是0,R0是N
BGE LOOP_END;如果R1比R0大,结束
ADD R1,R1,#;R1++
SUB R2,R2,#;R2是需要比较的个数
MOV R3,#;R3是下一个循环的下标,初始化
LDR R4,=0X40000000;栈的开头
B LOOP_2 LOOP_2 CMP R3,R2;如果R3比R2大
BGE LOOP_1;结束
ADD R3,R3,#
LDR R5,[R4];将当前的两个数取出来
LDR R6,[R4,#]
ADD R4,R4,#
CMP R5,R6;如果左边比右边的大
BLS LOOP_2
SUB R4,R4,#
STR R5,[R4,#];交换
STR R6,[R4]
ADD R4,R4,#
B LOOP_2 LOOP_END
MOV R2,R0,LSR#; /
MOV R3,#
MUL R1,R2,R3;偏移量
LDR R1,[SP,R1];取中位数 END
最新文章
- 微信禁用右上角的分享按钮,WeixinJSBridge API以及隐藏分享的子按钮等菜单项
- jcl-over-slf4j log桥接工具简介
- iOS 阶段学习第25天笔记(iOS沙盒机制介绍)
- POJ 1365 Prime Land(整数拆分)
- 芝麻HTTP:Python爬虫入门之正则表达式
- ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot
- Cocos2D遍历场景图(Scene Graph)
- VC6中函数点go to definition报告the symbol XXX is undefined
- PAT乙级考前总结(三)
- Dell Inspiron 620 / Vostro 260 BIOS 开启 AHCI 模式
- mysql 单表卡死
- c++中static变量有什么用
- springBoot基础
- BASH 正则表达式和文本处理工具
- Influxdb数据压缩
- 阿里云ubuntu16.04安装beef
- Kafka日志存储原理
- BufferedInputStream使用详解
- Git的安装和设置
- hive的rownumber()的使用
热门文章
- 【解题报告】13级个人结业赛(二) ——动(dou)态(bu)规(hui)划(zuo)专场
- ACM 五一杭电赛码";BestCoder";杯中国大学生程序设计冠军赛小记
- js helper(hsv/hsb转rgb颜色,uuid,金额小写转大写)
- BZOJ1015: [JSOI2008]星球大战starwar【并查集】【傻逼题】
- BZOJ1227 SDOI2009 虔诚的墓主人【树状数组+组合数】【好题】*
- 解决遇到Linux网络配置,从熟悉网络配置文件入手
- 船长带你看书——《selenium2 python 自动化测试实战》(2)浏览器操作
- php替换 json符号
- Tomcat最大连接数问题
- 相关TableLayoutPanel分页显示自定义控件