




已阅读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广东省安全员c证考试题及答案
- 医学检验技术职业规划
- 组织部副部期末汇报总结
- GB/T 35778-2017企业标准化工作指南
- 羽毛球校本教材
- GB/T 15601-2013管法兰用金属包覆垫片
- GB/T 12325-2008电能质量供电电压偏差
- 2023年水利行业职业技能鉴定职业道德题库
- 教育培训机构校长薪酬绩效
- 贾俊平《统计学》第7版复习笔记和课后习题答案+习题及详解
- 二年级下册认识方向练习题
- 检验报告(风机)
- SCB系列干式变压器使用说明书
- 癫痫专题知识讲座培训课件
评论
0/150
提交评论