




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 循环程序设计 分支程序设计 第5章循环与分支程序设计 2 分支结构子程序结构 程序结构 复合结构 多种程序结构的组合 顺序结构循环结构 3 编制汇编语言程序的步骤 1 分析题意 确定算法 2 根据算法画出程序框图 3 根据框图编写程序 4 上机调试程序 4 1 循环程序设计 DO WHILE结构DO UNTIL结构 控制条件 初始化 循环体 Y N 控制条件 初始化 循环体 Y N 5 初始化 设置循环的初始状态循环体 循环的工作部分及修改部分控制条件 计数控制特征值控制地址边界控制 6 BX 1234 例 把BX中的二进制数以十六进制的形式显示在屏幕上 7 movch 4rotate movcl 4rolbx clmoval blandal 0fhaddal 30h 0 9 ASCII30H 39Hcmpal 3ahjlprintitaddal 7h A F ASCII41H 46Hprintit movdl almovah 2int21hdecchjnzrotate 8 movbx 0newchar movah 1 键盘输入int21hsubal 30hjlexit 9退出cbwxchgax bxmovcx 10mulcxxchgax bxaddbx axjmpnewcharexit 例 从键盘接收十进制数并存入BX 0 10 1 10 2 10 5 9 movbx 0newchar movah 1 键盘输入int21hsubal 30hjlexit f 退出add to movcl 4shlbx clmovah 0addbx axjmpnewcharexit 例 从键盘接收十六进制数并存入BX 1af316166 0 16 1 16 0a 16 0f 10 xdw array headdw3 5 15 23 37 49 52 65 78 99array enddw105ndw32 例 将正数n插入一个已整序的正数字数组 105 array head array end n x 11 例 将首地址为A的字数组从小到大排序 气泡算法 多重循环 32 85 16 15 8 12 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 13 2 分支程序设计 case1case2casen case1case2casen CASE结构IF THEN ELSE结构 1 逻辑尺控制 2 条件控制 3 地址跳跃表 值与地址有对应关系的表 14 例 有数组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加法 15 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 16 datasegmentarraydw12 11 22 33 44 55 66 77 88 99 111 222 333numberdw55low idxdw high idxdw dataends 例 折半查找算法 17 12112233445566778899111222333 0123456789101112 si 0ahCf 0 si 10hCf 1 折半算法1 18 leadi arraymovax number 要查找数cmpax di 2 ax 与第一个元素比较jachk lastleasi di 2 jeexit ax 第一个元素 找到退出stcjmpexit ax 最后一个元素 未找到退出 算法1 19 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 20 12112233445566778899111222333 0123456789101112 si 0ah di 0ahCf 0 si 2 di 10hCf 1 折半算法2 21 算法2 idx 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 22 例 根据AL寄存器中哪一位为1 从低位到高位 把程序转移到8个不同的程序分支 branch tabledwroutine1dwroutine2dwroutine3dwroutine4dwroutine5dwroutine6dwroutine7dwroutine8 23 cmpal 0 AL为逻辑尺jecontinueleabx branch tableL shral 1 逻辑右移jncadd1jmpwordptr bx 段内间接转移add1 addbx typebranch table addbx 2jmpLcontinue routine1 routine2 寄存器间接寻址 24 寄存器相对寻址 cmpal 0jecontinuemovsi 0L shral 1 逻辑右移jncadd1jmpbranch table si 段内间接转移add1 addsi typebranch tablejmpLcontinue routine1 routine2 25 基址变址寻址 cmpal 0jecontinueleabx branch tablemovsi 7 typebranch tablemovcx 8L shlal 1 逻辑左移jncsub1jmpwordptr bx si 段内间接转移sub1 subsi typebranch table si 2loopLcontinue routine1 routine2 26 第5章作业 Page1935 55 75 125 18 27 Array为数组 从小到大排序 Number为要搜索的数Low idx与High idx表示搜索的范围初值 Low idx为1High idx为nCF的值 0 表示搜索到如果有搜到 则 SI 存放元素的地址1 表示没有搜到 Number与array的头元素比较 Number与array的尾元素比较 Number与array的中间元素比较 28 Number与array的头元素比较 Number与array的尾元素比较 Number与array的中间元素比较 Number array 0 STC 结束 Y Number array 0 N Y N 找到 SI 首地址 29 Number与array的头元素比较 Number与array的尾元素比较 Number与array的中间元素比较 Number array n 1 STC 结束 Y Number array n 1 N Y N 找到 SI 尾地址 30 Number与array的头元素比较 Number与array的尾元素比较 Number与array的中间元素比较 Low idx High idx 结束 Y N Y N STC 计算中间元素是数组的第几个元素和它的地址并赋给 SI Number
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物科技产业发展现状与前景研究报告
- 2025年医疗器械行业医用设备创新与市场前景报告
- 2025年金融科技行业智能投顾服务市场前景研究报告
- 2025年运动健康行业运动健康与健身运动市场研究报告
- 2025年环保科技在工业行业的应用与市场发展研究报告
- 2026中冶建筑研究总院有限公司校园招聘笔试备考试题及答案解析
- 2025赤峰市肿瘤医院(赤峰学院第二附属医院)招聘34名控制数备案人员笔试备考试题及答案解析
- 2026年国家能源投资集团统招(6400余人)笔试备考题库及答案解析
- 2025云南玉溪红塔区至善实验幼儿园招聘工作人员2人笔试参考题库附答案解析
- 2025福建漳州市丹诏资产运营有限公司及权属公司度秋季招聘20人笔试模拟试题及答案解析
- 恋爱课件教学课件
- 人民陪审员培训民事课件
- 药物中毒的护理与急救
- 2025年食安员、食品安全总监、主要负责人考试题及答案
- 兄弟分户房屋协议书模板
- 学堂在线 大数据系统基础 章节测试答案
- 降本增效总结汇报
- JJF(蒙) 058-2023 重点排放单位碳计量审查规范
- 小学歌曲教学课件设计与实践
- 不交社保给补贴协议书
- 叉车产品数据表
评论
0/150
提交评论