




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐费预存协议书(2篇)
- 三年级英语下册- 教案 -学习任务单 -U6-Phonics-Recycle(总复习)
- 动力配电及照明工程施工组织设计方案
- 莲花创意线描课件
- 脑瘤诊断与治疗
- 2025年专升本艺术概论考试模拟试卷:艺术教育实践案例创新与启示试题
- 2025年消防安全知识培训考试题库:实操应用篇-消防设施设备操作试题
- 2025年统计学专业期末考试题库:基础概念题全面复习试题
- 2025年小学语文毕业升学考试全真模拟卷(诗词鉴赏拓展与强化版)试题
- 2025年小学教师资格《综合素质》教育评价核心考点试题及答案解析
- 储能站施工组织设计施工技术方案(技术标)
- 2025年山西金融职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 工程项目成本管理制度
- 【培训课件】《统计法》宣传课件 建立健全法律制度依法保障数据质量
- 2024年安全管理人员安全教育培训试题及答案能力提升
- 金融行业金融数据分析手册
- DB45T 2634.1-2023 道路运输车辆主动安全智能防控系统设计 第1部分:平台技术要求
- 中国各省市地图拼图模板
- 《电子探针显微分析》课件
- 2025年中考政治总复习:九年级上册道德与法治重点知识梳理汇编
- 仓储人员安全培训
评论
0/150
提交评论