- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例9.在RAM地址$1000开始的10个单元里,分别存放10个无符号字节型数据,要求使用汇编语言编写一段程序,把10个数据按照从小到大的顺序排序。 冒泡排序原理: 若要排序的数有n个,则需要n-1轮排序,第i轮排序中,从第一个数 开始,相邻两数比较,若不符合所要求的顺序,则交换两者的位置;直到第n+1-i个数为止。第一个数与第二个数比较,第二个数与第三个数比较,......,第n-i个与第n+1-i个比较。此时第n+1-i个位置上的数已经按要求排好,所以不参加以后的比较和交换操作。 程序流程图 ORG $1000 data:FCB $12,$13,$11,$20,$10,$10,$19,$6,$1a,$fe ORG $4000 Entry: LDS #$3FFF ; initialize the stack pointer CLI ; enable interrupts LDX #data;X加载立即数$1000作为地址使用 LDY #9;Y加载立即数n-1作为外循环使用,n为数组元素个数 LOOP0:PSHY;外循环数进栈保存 LDX #data;X加载$1000作为地址 LOOP1:LDAA X;内循环n-1次开始,A加载第一个数 LDAB 1,X;B加载第二个数 CBA;作A-B操作,只影响标志 BCS NOCHANGE;如果C=1,则跳转,C=1的含义是作了减法,前者小于后者则不用处理 STAA 1,X;如果第一个数大于第二个数,则交换位置 STAB X NOCHANGE: ;如果不交换,则跳转到这里 INX;指向下一个内存单元继续比较 DEY;内循环次数减一 BNE LOOP1;内循环是否够n-i次,若够则退出,i表示第i次外循环 PULY;外循环次数出栈 DEY;外循环次数减一 BNE LOOP0;若外循环次数够n-1次,则退出 BRA *; 例10. 求数组的平均值 从$1000开始的10个字节单元中的数据已经从小到大排序完毕,现在求该数组的平均值,结果存放到商$1010-$1011,余数$1012-$1013。 原理 $fff $1000 $1001 $1002 $1003 $1004 $1005 $1006 $1007 $1008 $1009 base 11 21 31 41 51 61 71 81 91 101 设置基地址base为$fff,然后再对base+1,base+2……base+10的内容相加即可得到结果 在计数器中首先给计数初值10,逐渐递减,作加法,直到减到0结束,这样就实现了10个数相加 把得到的和除以10,就分别得到了商和余数 例11. 实现“掐头去尾”的平均值滤波 对于已经排序好的数组,去掉最大的两个数,再去掉最小的两个数,求中间6个数的平均值作为平均值滤波后的结果。得到的商保存到$1014,余数保存到$1016。 原理 和求平均值原理一样,只不过计数值和基地址改变了。 $fff $1000 $1001 $1002 $1003 $1004 $1005 $1006 $1007 $1008 $1009 X X base 1 2 3 4 5 6 X X 设置基地址base为$1001,然后再对base+1,base+2……base+6的内容相加即可得到结果 在计数器中首先给计数初值6,逐渐递减,作加法,直到减到0结束,这样就实现了6个数相加 把得到的和除以6,就分别得到了商和余数 虽然说是“掐头去尾”,但是实际数据并没有真正 删除,而是没有理会而已。 平均值滤波在工程上的应用 在AD采样中,采集到的实时AD值没有经过任何处理,一般不能够直接使用 一般会采用在一个采样点连续采集多次,再求平均的方法 这样的方法无法去掉采集中带来的“无效”值 所以采用“掐头去尾”的平均值滤波法 平均值滤波在工程上的应用 比如测量水温得到如下数据(单位:度): 35,34,32,36,35,69,29,34,34,31 这时经过冒泡排序得到: 29,31,32,34,34,34,35,35,36,69 直接求平均得到T=36.9 显然,69是采集到的一个无效值,必须舍去;而29,31等也偏离真实值比较多,也要舍去,使用本例的滤波方法得到T=34,显然更接近真实值。 谢谢! 第五章 汇编语言程序设计 * 第五章 汇编语言程序设计 §5-1 汇编语言程序设计基础 §5-2 常用汇编伪指令 §5-3 宏定义 §5-4 汇编程序设计举例 内容提要: 标号(LABEL) 操作码(OPCODE) 操作数(OPERA
您可能关注的文档
- 第5章MATLAB语言的绘图基础.ppt
- 第1课欧洲的君主专制.ppt
- 第1课时:象形统计图—薛城区常庄镇中心校陈培英.ppt
- 第四章筹资方式选读.ppt
- 臂丛神经损伤康复选读.ppt
- 边长测量方法及其数值的显示选读.ppt
- 第1课夏、商、西周的政治制度.ppt
- 第1课夏商西周的政治制度.ppt
- 编译原理第三章_词法选读.ppt
- 辨证与辨病选读.ppt
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 电气安全评估报告模板.docx VIP
- 2025学年人教版英语七年级下册单词默写表.docx VIP
- TB 10754-2018 高速铁路轨道工程施工质量验收标准 含2023修改单(2-2).pdf
- 《网络工程师》模拟考试题.doc VIP
- 脑梗塞中医辨证课件.pptx
- 解码国家安全智慧树知到期末考试答案章节答案2024年国际关系学院.docx VIP
- YB∕T 5305-2020 线缆套管用焊接钢管(可复制版).pdf
- 应用指南《GB_T23443-2024建筑装饰用铝单板》应用指南.pptx VIP
- CQC3703-2022 绿色能源消费评价技术规范-活动.pdf VIP
- 1.4 全面推进依法治国的六项重大任务(政策与法律法规 第五版).pptx VIP
文档评论(0)