已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一。if语句实例1/* *if(a 50) * puts(a 50);r0 r1 r2 r3 *else if(b a) * puts(b a); *else if(b 20) * puts(b 50.LC1:.stringb a.LC2:.stringb 10 & 10 & a 10 & a 10) & (a 10 & a 20);cmpr0, #10bleoutcmpr0, #20ldrltr0, .L0blltprintfout:pop pc从栈中取出lr存到pc中;.L0:.word.LC0if语句实例3, |运算.section.rodata.align2.LC0:.stringa 20.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;mov r0, #15if( (a20) )puts(a 20);cmpr0, #10bltdocmpr0, #20bleoutdo:ldr r0, .L0blputsout:pop pc从栈中取出lr存到pc中;.L0:.word.LC0二,switch语句的实现1/* *char ch = A; * *switch (ch) * * case x: * break; * . * * */.section.rodata.align2.LC0:.asciival = %d 012000.text.align2.globalmainmain:stmfdsp!, fp, lraddfp, sp, #4subsp, sp, #16movr3, #65ch = A;strbr3, fp, #-5ldrbr3, fp, #-5 zero_extendqisi2strr3, fp, #-16int - switchldrr3, fp, #-16cmpr3, #45二分查找;beq.L5ldrr3, fp, #-16cmpr3, #45bgt.L9ldrr3, fp, #-16cmpr3, #2beq.L3ldrr3, fp, #-16cmpr3, #9beq.L4b.L11.L9:ldrr3, fp, #-16cmpr3, #97beq.L7ldrr3, fp, #-16cmpr3, #99beq.L8ldrr3, fp, #-16cmpr3, #65beq.L6b.L11.L7:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L8:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L3:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L4:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L5:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L6:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintf.L11:subsp, fp, #4ldmfdsp!, fp, pc.L13:.align2.L12:.word.LC0switch语句的实现2(哈希实现).section.rodata.align2.LC0:.asciival = %d 012000.text.align2.globalmainmain:stmfdsp!, fp, lraddfp, sp, #4subsp, sp, #16movr3, #65strbr3, fp, #-5ldrbr3, fp, #-5 zero_extendqisi2subr3, r3, #59cmpr3, #8ldrlspc, pc, r3, asl #2b.L11.L9:.word.L3.word.L4.word.L11.word.L5.word.L6.word.L11.word.L7.word.L11.word.L8.L3:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L4:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L6:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L5:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L8:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintfb.L11.L7:ldrbr3, fp, #-5 zero_extendqisi2ldrr0, .L12movr1, r3blprintf.L11:subsp, fp, #4ldmfdsp!, fp, pc.L13:.align2.L12:.word.LC0.sizemain, .-main.identGCC: (Sourcery G+ Lite 2008q3-72) 4.3.2.section.note.GNU-stack,%progbits三,while语句实现1/* *while(1) * * if(i = 10) * break; * printf(i = %d n, i); * i+; * */.section.rodata.align2.LC0:.stringi = %d n.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;for(i = 0; i b.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;loop:ldr r0, .L0blprintfblooppop pc从栈中取出lr存到pc中;.L0:.word.LC0for语句实现2/* *for (;) * * printf(a b); * sleep(1); * */.section.rodata.align2.LC0:.stringa b.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;loop:ldr r0, .L0blputsmov r0, #1blsleepblooppop pc从栈中取出lr存到pc中;.L0:.word.LC0for语句实现3/* *for (i = 0; i b); * sleep(1); * * */.section.rodata.align2.LC0:.stringa b.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;mov r4, #10loop:cmpr4, #0beqoutldr r0, .L0blputsmov r0, #1blsleepsubr4, r4, #1bloopout:pop pc从栈中取出lr存到pc中;.L0:.word.LC0for语句实现4/* *for (i = 10; i 0; i-) * * printf(a b); * sleep(1); * */.section.rodata.align2.LC0:.stringa b.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;mov r1, #10loop:cmpr1, #0beqoutldr r0, .L0blputs - write r0 r1 r2 r3 puts r4 r5 r6 atpcs : r4-r14mov r0, #1blsleep sleep - alarmsubr1, r1, #1bloopout:pop pc从栈中取出lr存到pc中;.L0:.word.LC0for语句实现5/* *for(i = 0; i 10; i+) * * printf(i = %d n, i); * * */.section.rodata.align2.LC0:.stringi = %d n.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;mov r4, #0loop:cmpr4, #10bgeoutldrr0, .L0mov r1, r4blprintfaddr4, #1bloopout:pop pc从栈中取出lr存到pc中;.L0:.word.LC0for语句实现6/* *for(i = 0; i 10; i+) * * for(j = 0; j 10; j+) * * printf(i = %d j = %d n, i, j); * * */.section.rodata.align2.LC0:.stringi = %d j = %dn.text.align2.globalmainmain:push lr上一个函数的返回地址压到栈中;mov r4, #0for:cmpr4, #10bgeoutmov r5, #0for1:cmpr5, #10bgeout1ldrr0, .L0mov r1, r4mov r2, r5blprintfaddr5, #1bfor1out1:addr4, #1bforout:pop pc从栈中取出lr存到pc中;.L0:.word.LC0do_wihle 语句实现/* *i = 0; *do * printf(i = %d n, i);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国诗词大会题库选择题及答案
- 电子商务运营专员电商运营技巧指导书
- 2026北京律协面试题及答案
- 2026北宋书院面试题及答案
- 2026编程辅导班面试题及答案
- 2026辩证观点面试题目及答案
- 2026滨海辅警面试题及答案
- 2026兵团分行面试题目及答案
- 2026兵团十三师面试题及答案
- 2026博士面试题及答案
- 2025年广东省深圳高级中学自主招生英语试卷真题(含答案详解)
- 2025年衡阳市南岳区事业单位人员招聘考试试题及答案详解
- 2025下半年浙江杭州市萧山区国有企业招聘拟录用人员(一)笔试历年典型考点题库附带答案详解
- 2026高尔夫运动行业市场详细分析及基础设施建设与高端服务发展报告
- 2026西藏交通发展集团有限公司校园招聘备考题库及一套完整答案详解
- 安全生产经费投入及使用管理制度培训
- 2026中国工商银行新疆分行星令营暑期实习笔试参考题库及答案详解
- 电气工程项目成本核算与预算方案
- 【2026】超星尔雅学习通《大学生安全教育(入校篇)》章节测试及答案
- 劳务输出旅居人群性病防护指南
- (2025)BSH实践建议:具有肾脏意义的单克隆丙种球蛋白病的诊断和管理解读
评论
0/150
提交评论