微型计算机技术1

微型计算机技术1

ID:39637714

大小:372.50 KB

页数:79页

时间:2019-07-08

微型计算机技术1_第1页
微型计算机技术1_第2页
微型计算机技术1_第3页
微型计算机技术1_第4页
微型计算机技术1_第5页
资源描述:

《微型计算机技术1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微型计算机技术学习辅导(4)太原广播电视大学郭建勇第四章汇编语言程序设计基础4.1循环程序设计在程序设计中,常常需要一段程序反复执行若干次,这通常用循环的方法来实现,借助几种循环控制指令和前缀可以方便地实现循环。4.1.1基本结构的循环程序(1)初始化部分:循环前的准备工作,包括建立指针、设置变量及循环初值等。(2)循环体:这是循环程序的工作部分,完成循环的基本操作。(3)修改部分:修改参数,包括操作数地址、循环计数值或其他控制变量。(4)控制部分:根据对循环条件的判断结果,控制循环的执行或结束。初始化循环体初始化

2、修改部分修改部分循环体循环控制循环控制YNNY先工作后判断先判断后工作例:编制一个程序,将BX寄存器中的二进制数用十六进制数的形式显示出来。(1)BX寄存器中的二进制数可用4位十六进制数显示,故循环次数为4,放入CH中。(2)BX循环左移4次,最高位数字移到最低位置;(3)0~9的数字与ASCII码差为30H;A~F(41H~46H)与ASCII码差为37H;故0~9的数字+30H,而A~F应+37H。开始CX←循环记数值BX循环左移4次转换为ASCII码>9?+7显示次数=0?结束PROGNAMSEGMENTMO

3、VAH,4CHMAINPROCFARINT21HASSUMECS:PROGNAMMAINENDPSTART:MOVCH,4PROGNAMENDSROTATE:MOVCL,4ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJLPIRNTITADDAL,07HPIRNTIT:MOVDL,ALMOVAH,4CHINT21HDECCHJNZROTATE例:统计某字单元中二进制数位值为1的个数,统计结果存放在变量ONE中。DATASEGMENTNUMDW1669HFINI:MOVAH,4

4、CHONEDB?INT21HDATAENDSCODEENDSCODESEGMENTENDSTARTASSNUMCS:CODEDS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,NUMCOMP:CMPAX,0JZFINISHLAX,1JNCCOMPINCONEJMPCOMP开始AX←NUMAX=0?AX左移一位CF=1?ONE+1结束YY4.1.2多重循环程序一个计算过程可能要依赖几个互相独立变化的参数,这就需要在一个循环过程中再包含一个循环过程,形成外层循环嵌套内层循环的结构形式,这种程序就称

5、为多重循环程序。多重循环程序设计的基本方法和单重循环程序设计是一致的,应分别考虑各层循环的控制条件及其程序实现,相互之间不能混淆。另外要注意在每次通过外层循环再次进入内层循环时,初始条件必须重新设置。例:有一个首地址为A的N字数组,请编制程序使该数组中的数按照从小到大的次序排列(整序)。采用起泡排序算法实现整序:从第一个数开始依次对相邻两个数Ki和Ki十l进行比较,若Ki≤Ki十l,Ki的位置不动,Ki十l继续和Ki十2比较;若Ki>Ki十1,则两者交换位置。Ki十1(交换前的Ki)继续和Ki十2比较。可以看出,在

6、第一遍比较了N-1次后,最大的数已经放到了最后,所以在第二遍时,只需比较N-2次,同样道理,第三遍只需比较n-3次…。如果有N个数,最多要比较n-1遍。序号数比较遍数1234比较次数123412312113232321616151588285851616321515168815153161685151515328881616164151585888323232325888585858585第一遍比较5-1=4次挑出最大数85第二遍比较5-2=3次挑出第二大数32第三遍比较5-3=2次挑出第三大数16第四遍比较5-4

7、=1次挑出第四大数15完成整序开始置外循环次数N-1置内循环次数N-1I=0KI≤KI+1?CNUNT2-1=0?=0?CNUNT1-1结束KI←→KI+1I=I+1NNNDSEGSEGMENTNEQU5ADW5DUP(?)DSEGENDSCSEGSEGMENTMAINPROCFARASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXNUM:ADDSI,2MOXCX,NLOOPLOOP2DECCXMOVCX,DXLOOP1:MOVDX,CXLOOPLOOP1MOVSI,0MOV

8、AH,4CHLOOP2:MOVAX,A[SI]INT21HCMPAX,A[SI+2]MAINENDPJLENUMXCHGAX,A[SI+2]CSEGENDSMOVA[SI],AXENDSTART4.2分支程序设计4.2.1分支程序结构两路(单重)分支结构多路(多重)分支结构这两种结构都要求先对条件进行判定,然后根据判定结果确定执行哪路分支,判定一次只能有一路

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。