已阅读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年java考试题库(含答案)
- 2026年邮政金融工作模拟试题及答案详解
- 5.2.2 维护生态安全课件(共25张+内嵌视频3个)人教版(2024)八年级上册
- T∕CEA 0061-2025 电梯门机规范
- 部编版小学一年级语文单韵母aoeiuu课件
- 第六章人体生命活动的调节测试卷2026-2027学年人教版八年级上册生物
- 谐音梗挑战课件
- GB/T 36213-2026船舶和海上技术船舶系泊和拖带设备系泊导缆孔
- 2026年安徽省中考数学试卷(含答案及解析)
- 2026年8上物理1单元试卷及答案
- 《JBT 13298-2017YE3系列(IP23)三相异步电动机技术条件(机座号160~355)》专题研究报告
- 面包厂检验室工作制度
- 新课堂、新课堂、新高考++2025年版《普通高中语文课程标准》解读
评论
0/150
提交评论