汇编-循环与分支程序设计教学课件_第1页
汇编-循环与分支程序设计教学课件_第2页
汇编-循环与分支程序设计教学课件_第3页
汇编-循环与分支程序设计教学课件_第4页
汇编-循环与分支程序设计教学课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章循环与分支程序设计1、编制汇编语言程序的步骤如下:分析问题——问题性质、目的、要求、已知条件等等。建立相应数学模型。基\·确定算法把实际问题转化为计算机求解的步碾和方法本■确定数据结构数据的组织方式,分配存储区步■绘制流程图—形象化描述程序算法骤/■编写程序—将流程图用指令集合来实现,应该“简单明了层次清晰、运算正确、短小精悍”■上机调试——验证程序功能,反复修改达到完善。2、程序基本结构计算机通常不会从程序的第一条指令直接顺序执行到程序的最后一条指令结束,会根据处理事务的不同而具有不同的执行流程。程序的流程是由程序的结构决定的。基本的程序结构有:■顺序结构■分支结构■循环结构■子程序结构程序设计基础、读键盘输入的两种方法分INT21H功能调用1.键盘一次输入一个字符的方法指令功能特征MOVAHOIHL!舟始λ一个空丝AT,空的A∩W码bybrookstoobroadforleaping20/tolobroadfloruelalplinlgod字符串开始Return实际键入的字符数用户填入的最大字符数节;二、D0S显示功能调用→INT21H功能调用1.显示单个字符的方法调用参数为2或6(AH)∈02H06H;MOVAH,2或MOVAH6置21H功能调用参数2或6于AH中;MoDL,’&’→被显示的字符ASCI码放入DL中;INT21H2.显示一个字符串的方法→串地址存入DSDX)、调用参数为9送AH说明→①被显示的字符串必须以$结束;②并且字符串在内存中的段地址存放在DS中,段内偏移地址(即首字符偏移)存放在寄存器DX中;③.字符串必须以ASCⅡ码值存放;Eg:DATA_SEGsegmentStingl‘GoodMoringSstudents!',10,13,“$”DATASEGendsMOVAX,SEGsting∥取字符串的段地址并存放在DS中;MOVDS.AXMoDX,offsetsting1∥取字符串变量的偏移并放入DX中;MOVAH.O9H∥AH中设置21H中断参数9;INT21H∥调用21H中断;3.光标自动换行(即换行开始显示)的方法:[1].方法一→在需要换行显示的字符前加“回车”和“换行”的ASCⅡ码[2].方法二→用单字符显示方法连续显示“回车”和“换行”(可反序);「方法A方法B记住以下值MOVDL,ODH|MOVDLs0AH退格:08H(即8)MOVAH,06HMOVAH06H空格:20H(即32)INT21HINT21H换行:0AH(即10MOVDU20AH|MOVDL,0DH回车:0DH(即13)MOVAH,06HMOVAH,06H030H(R048)INT21HINT21Ha:61H(即97)A:41H(即65)顺序结构及简单程序设计程序设计中最基本的结构是如图所示的顺序结构,它只有一个开始起始框、一个结束框和一至多个执行模块。具有顺序结构的程序叫做简单程序。顺序结构中的执行模块可以是一条指令或完成某一功能的程序。简单程序执行的特点是其中的指令或语句是按顺序执行的,结束)没有分支或循环。例:设置光标到屏幕左上角。SETCURPROCMo∨AH,2MOVBH.OMOVDX0INT10HRETSETCURENDP这个程序是顺序执行的,一条指令执行后顺序执行紧接其后的另一条指令。实际上许多程序片段都具有顺序结构。■顺序结构程序简单程序结构【例】编制一个程序,求下列公式中的Z值,并将结果存放到RESULTI单元中:Z=(A+B)×10-500。设A、B的值分别存放在BUFA、BUFB单元中,运算结果不超过16位。分析:这是一个简单的顺序结构程序,可以直接使用汇编指令完成算法:在二进制整数中左移1位相当于乘2,右移1位相当于除2,所以可将(A+B)左移3位完成乘以8的操作,然后再与(A+B)左移1位(乘以2)的结果相加得到(A+B)×10的计算数据结构:存储单元RESULT用来存放结果,BUFA、BUFB存放A、B的值,可用寄存器BX存放中间运算结果。程序流程图编写程序SEGMENTBUFADw开始BUFBRESULTDWENDSDXEACODESEGMENTASSUMECS:CODE,DS:DATASTART:MoⅤAX,DATADX=A+BMOVDS,AXBX=DXMOⅴDX,BUFA;DX=AADDDX,BUFBDX=A+BDX左移3位MOVBX,DXBX=DX=A+BBX左移1位MOVCL,3SALDX,CLDX=(A+B)×8SAIBS=(A+B)X2DX=BX+DX-500ADDDX,BX;DX=(A+B)中8+(A+B)°2=(A+B)°10DX=(A+B)中8-500结束)MOVRESULT,DXMOVAH4CHDOS系统功能调INT21H返回操作系统CODEENDSENDSTART【例】用查表法求整数X的平方值(0≤x≤15的整数),将结果存入RESULT.单元中程序流程图分析:用查表法求平方值,首开始先需要建一个用于存放各数平方值的表,以TABLE表示表AL=X

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论