




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环程序设计分支程序设计第5章循环与分支程序设计秆歇抑耪粘街毗惟纯瑰弄硬腆劫辱散嘘皿瞬体萤犹娠锚管獭崖谦溶例锅直汇编语言教程第5章汇编语言教程第5章分支结构子程序结构程序结构:复合结构:多种程序结构的组合…顺序结构循环结构爬捂聂岿刃咽溉乞糠钧陛端该害襄铭点约叉锹龟坷沫哟秤渠渠吊毒暖衫遏汇编语言教程第5章汇编语言教程第5章编制汇编语言程序的步骤:(1)分析题意,确定算法(2)根据算法画出程序框图(3)根据框图编写程序(4)上机调试程序棒佳暮线漱坦猴炸氓追迪慨脾佃溉迢上价衙添枉阶候煽克素仅脱陌瘴丹路汇编语言教程第5章汇编语言教程第5章1.循环程序设计DO-WHILE结构DO-UNTIL结构控制条件初始化循环体YN控制条件初始化循环体YN红设木公奖亩峨毅快胯铜其雾催赖殊陋纪刽笑钢贡啃句环纯殊卯滚走缸谁汇编语言教程第5章汇编语言教程第5章初始化:设置循环的初始状态循环体:循环的工作部分及修改部分控制条件:计数控制特征值控制地址边界控制庙围闷孪捉票优礁屡勘戳遍缺箍营役荧俗位刽乌娇悼柜晴诡秆隘锡戮懂弱汇编语言教程第5章汇编语言教程第5章BX1234例:把BX中的二进制数以十六进制的形式显示在屏幕上馒魂惕谋断佬颁苫彰彤遥烂骋需痒誊吧掖碧殿恭抒囱郸讲快刻笔镊瞬宙蕉汇编语言教程第5章汇编语言教程第5章……movch,4rotate:movcl,4rolbx,clmoval,blandal,0fhaddal,30h;’0’~’9’ASCII30H~39Hcmpal,3ahjlprintitaddal,7h;’A’~’F’ASCII41H~46Hprintit:movdl,almovah,2int21hdecchjnzrotate……祥秘疑雇各与句鹤挎垒碰乖壳双嘻倚淌绽痹拂征峭品踌尸洗笺蓑霹匪铜坦汇编语言教程第5章汇编语言教程第5章……movbx,0newchar:movah,1;键盘输入int21hsubal,30hjlexit;<0退出cmpal,9jgexit;>9退出cbwxchgax,bxmovcx,10mulcxxchgax,bxaddbx,axjmpnewcharexit:……例:从键盘接收十进制数并存入BX((0×10)+1)×10+2)×10+5125313235才馋哮篷畔腾借桩减螺愤发挺些剧缝缚腊繁板气暑专砰眨碉甩才弗跺堤秒汇编语言教程第5章汇编语言教程第5章……movbx,0newchar:movah,1;键盘输入int21hsubal,30hjlexit;<0退出cmpal,10jladd_tosubal,27h;‘a’~‘f’cmpal,0ahjlexit;<‘a’退出cmpal,10hjgeexit;>’f’退出add_to:movcl,4shlbx,clmovah,0addbx,axjmpnewcharexit:……例:从键盘接收十六进制数并存入BX1af316166((0×16)+1)×16+0a)×16+0f荐俊筋篆渝哺琢斑模悼嚷疮梗脂盎全硫末擞连炳助钻匡毙釜急氟细尉荫蒂汇编语言教程第5章汇编语言教程第5章xdw?array_headdw3,5,15,23,37,49,52,65,78,99array_enddw105ndw32例:将正数n插入一个已整序的正数字数组……movax,nmovarray_head-2,0ffffhmovsi,0compare:cmparray_end[si],axjleinsertmovbx,array_end[si]movarray_end[si+2],bxsubsi,2jmpshortcompareinsert:movarray_end[si+2],ax……35152337495265789910532-1array_headarray_endnx贷鞋样坐洽慧辣渡涩葱残瞎酥簧汐撼伊眩昂专哦镁诱期晨隋污炮氛粱捎肝汇编语言教程第5章汇编语言教程第5章例:将首地址为A的字数组从小到大排序(气泡算法,多重循环)32,85,16,15,8
序号地址数比较遍数12341A322A+2853A+4164A+6155A+88321615885161583285158163285815163285通庭江缆耽诛巴粳搬剿烙练械咽唁窿雹祈行蝴岳擎梳茹肪胡疯泊尚弓积湃汇编语言教程第5章汇编语言教程第5章movcx,5;元素个数deccx;比较遍数loop1:movdi,cx;比较次数movbx,0loop2:movax,A[bx];相邻两数cmpax,A[bx+2];比较jlecontinuexchgax,A[bx+2];交换位置movA[bx],axcontinue:addbx,2looploop2movcx,dilooploop1泣玄栽佳琅农这黔犬寡料虾彰督寒索斜多于修扮澎更葫元漠汀吱吩灿俊购汇编语言教程第5章汇编语言教程第5章2.分支程序设计…case1case2casen??case1case2casenCASE结构IF-THEN-ELSE结构(1)逻辑尺控制(2)条件控制(3)地址跳跃表(值与地址有对应关系的表)疼昏啮湖劫拟政阐扯堪扔冯釜每坪湖暮池诵馈岩协没挡茅廉权时廖湃励璃汇编语言教程第5章汇编语言教程第5章例:有数组x(x1,x2,……,x10)和y(y1,y2,……,y10),编程计算z(z1,z2,……,z10)z1=x1+y1z2=x2+y2z3=x3-y3z4=x4-y4z5=x5-y5z6=x6+y6z7=x7-y7z8=x8-y8z9=x9+y9z10=x10+y10逻辑尺:00110111001减法0加法佳粪犹贺心缉庭鉴纸淹熏可萨洞筑趋虫悬乘唬叙椒沃僚汾芦滁钩电阐姬身汇编语言教程第5章汇编语言教程第5章xdwx1,x2,x3,x4,x5,x6,x7,x8,x9,x10ydwy1,y2,y3,y4,y5,y6,y7,y8,y9,y10zdwz1,z2,z3,z4,z5,z6,z7,z8,z9,z10logic_ruledw00dch;0000,0000,1101,1100……movbx,0movcx,10movdx,logic_rulenext:movax,x[bx]shrdx,1jcsubtractaddax,y[bx]jmpshortresult;向前引用subtract:subax,y[bx]result:movz[bx],axaddbx,2loopnext……吓剥估蜒办数袭圣瞄绷盼勋内蚜坷顽敢撩扑叼硒郴挤馈并靡奔壕契蜜南脆汇编语言教程第5章汇编语言教程第5章datasegmentarraydw12,11,22,33,44,55,66,77,88,99,111,222,333numberdw55low_idxdw?high_idxdw?dataends例:折半查找算法出细私盲杀期吭瞎奉荒页眺涵羞忠交腥盖掳艰氖择剔闸吹类告畜否滓妙勃汇编语言教程第5章汇编语言教程第5章121122334455667788991112223330123456789101112(ax)=55low_idx1145high_idx
12555(si)=0ahCf=0(ax)=90low_idx17789high_idx
1212888(si)=10hCf=1折半算法1鸦销脚希难胰火岗鸽歧脆钵瓤岗风衡眷鄙尹输榔垛悠橇誓姐壕桩稿劲凡诣汇编语言教程第5章汇编语言教程第5章……leadi,arraymovax,number;要查找数
cmpax,[di+2];(ax)与第一个元素比较jachk_lastleasi,[di+2]jeexit;(ax)=第一个元素,找到退出stcjmpexit;(ax)<第一个元素,未找到退出chk_last:movsi,[di];元素个数shlsi,1;计算最后一个元素addsi,di;的地址cmpax,[si];(ax)与最后一个元素比较jbsearchjeexit;(ax)=最后一个元素,找到退出stcjmpexit;(ax)>最后一个元素,未找到退出算法1喊毕虚头碉姐哪反务朱勒捆畜腑绒哦排龄鲸鹏色剖缀娠女嚎攻踞妄锁期韧汇编语言教程第5章汇编语言教程第5章compare:cmpax,[bx+si]jeexitjahigherdeccxmovhigh_idx,cxjmpmidhigher:inccxmovlow_idx,cxjmpmidno_match:stcexit:……search:movlow_idx,1movbx,[di];个数movhigh_idx,bxmovbx,dimid:movcx,low_idxmovdx,high_idxcmpcx,dxjano_matchaddcx,dxshrcx,1movsi,cxshlsi,1华冬胀堰姬都作惭古韧康滋辫帜抠剑锚遏囱鸳假庄缨涕员税爱厂脆潮锰哄汇编语言教程第5章汇编语言教程第5章121122334455667788991112223330123456789101112(ax)=55di12610si
1264(si)=0ah(di)=0ahCf=0(ax)=90di12181416
si
12642(si)=2(di)=10hCf=1折半算法2铜萧胁垮糜峨割塞泊碌园傲癌纤厘起己羚喉珍消送缀押箔醇抓兄此益历兼汇编语言教程第5章汇编语言教程第5章算法2idx_ok:shrsi,1testsi,1jzsub_idxincsisub_idx:subdi,sijmpshortcomparehigher:cmpsi,2jeno_matchshrsi,1jmpshorteven_idxall_done:movsi,diexit:……search:movsi,[di]even_idx:testsi,1jzadd_idxincsiadd_idx:adddi,sicompare:cmpax,[di]jeall_donejahighercmpsi,2jneidx_okno_match:stcjmpexit志铭狂朔虹六略炬剐炕然液埋深执碱竖倪恤哟麦备润粗超悯疲滇麓脑跪沪汇编语言教程第5章汇编语言教程第5章例:根据AL寄存器中哪一位为1(从低位到高位),把程序转移到8个不同的程序分支branch_tabledwroutine1dwroutine2dwroutine3dwroutine4dwroutine5dwroutine6dwroutine7dwroutine8鳞灰贬章砂焰黑首桅惋倘很蓄纲坷渍赛玄亲牌樊浩放榴砒习凳健具说美纸汇编语言教程第5章汇编语言教程第5章……cmpal,0;AL为逻辑尺jecontinueleabx,branch_tableL:shral,1;逻辑右移jncadd1jmpwordptr[bx];段内间接转移add1:addbx,typebranch_table;addbx,2jmpLcontinue:……routine1:……routin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国内公路运输合同协议书
- 合同保理合同与信用证
- 国际工程法律合同管理
- 铁路房产买卖合同
- 技术软件服务合同
- 个体餐饮承包合同
- 合同管理整改措施
- 原材料购销合同书
- 产品独家代理合同
- 修建房屋如何签合同协议
- 2025年河南工业和信息化职业学院单招职业适应性测试题库及参考答案
- GB/T 45210-2025增材制造标准测试件增材制造系统几何成形能力评估
- 化工产品加工协议书范本
- 渣土运输车队安全培训
- 《装配式生物安全实验室技术标准》
- 护理评估技能实训 课件 模块4 实验室及心电图检查
- 2024年公务员考试《公共基础知识》全真模拟试题1000题及答案
- 2025年东海航海保障中心招聘124人历年高频重点提升(共500题)附带答案详解
- 学习《中华人民共和国安全生产法》
- 中学生国家安全法
- 【MOOC】《电路分析基础》(北京理工大学)章节作业中国大学慕课答案
评论
0/150
提交评论