汇编语言程序设计的基本方法.ppt
《汇编语言程序设计的基本方法.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计的基本方法.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 程序设计的基本方法程序设计的基本方法微机原理与接口技术微机原理与接口技术 2010.5Chapter 4 汇编语言程序设计微机原理与接口技术4.4 汇编语言程序设计方法汇编语言程序设计方法4.4.1 概述概述4.4.2 分支程序设计分支程序设计4.4.3 循环程序设计循环程序设计4.4.4 子程序设计子程序设计2Chapter 4 汇编语言程序设计微机原理与接口技术设计一个程序设计一个程序要点要点:认真分析问题的认真分析问题的需求需求,选择好,选择好解决方法解决方法;针对选定的算法,编写高质量的程序。针对选定的算法,编写高质量的程序。一个高质量的程序不仅要一个高质量的程序不仅要满
2、足设计的要求满足设计的要求,而且还应尽可能实现以下几点:而且还应尽可能实现以下几点:(1)结构清晰、简明、易读、易调试。)结构清晰、简明、易读、易调试。结构好结构好(2)执行速度快。)执行速度快。效率高效率高(3)占用存储空间少。)占用存储空间少。资源少资源少4.4.1 概述概述3Chapter 4 汇编语言程序设计微机原理与接口技术(1)分析问题分析问题,选择合适的解题方法。,选择合适的解题方法。(2)根据具体问题,确定)根据具体问题,确定输入输出数据的格式输入输出数据的格式。(3)分配存贮区分配存贮区并给变量命名并给变量命名(包括分配寄存器包括分配寄存器)。(4)绘制程序的)绘制程序的流程
3、图流程图,即将解题方法和步骤用,即将解题方法和步骤用程序流程图的形式表示出来。程序流程图的形式表示出来。(5)根据流程图)根据流程图编写程序编写程序。(6)静态检查静态检查与与动态调试动态调试。汇编语言程序设计的一般步骤汇编语言程序设计的一般步骤4Chapter 4 汇编语言程序设计微机原理与接口技术几种框图符号几种框图符号1.1.起始起始、终止终止框框2.2.判断判断框框3.3.处理说明处理说明框框4.4.子程序子程序或过程调用框或过程调用框5.5.流向流向框框6.6.连接连接框框YN5Chapter 4 汇编语言程序设计微机原理与接口技术分支程序的特点:根据不同情况作出不同的处理,分支程序
4、的特点:根据不同情况作出不同的处理,程序结构分成程序结构分成了若干支路了若干支路。分支的结构形式:分支的结构形式:(1)(2)(1)(2)结构特点:结构特点:程序运行方向是向前的,条件确定,程序运行方向是向前的,条件确定,只能执行分支中的一个只能执行分支中的一个。机器根据不同的情况作出判定,机器根据不同的情况作出判定,有选择的执行相应的分支有选择的执行相应的分支。这类程序称之为这类程序称之为分支程序分支程序。NY判定条件判定条件分支分支1分支分支2相当于相当于C语言的语言的if、else判定条件判定条件分支分支1分支分支2相当于相当于C语言的语言的switch()分支分支n4.4.2 分支程序
5、设计分支程序设计6Chapter 4 汇编语言程序设计微机原理与接口技术(1)分支由条件转移指令产生分支由条件转移指令产生,不同条件通过,不同条件通过FLAGS的的标志位状态标志位状态(0或或1)反映出来;)反映出来;(2)转移指令不影响转移指令不影响FLAGS的标志位的标志位,可连续使用转,可连续使用转移指令,产生多个分支。移指令,产生多个分支。例:可以产生如下的多个分支。例:可以产生如下的多个分支。CMP BYTE PTR ARRAYBX,0 JLE L1 ;小于等于小于等于0,转移到,转移到L1 分支分支1 ;大于大于0L1:JL NEXT ;小于小于0,转移到,转移到NEXT 分支分支
6、2 ;等于等于0NEXT:分支分支3 ;小于小于0问题:计算机怎样判断这些分支?问题:计算机怎样判断这些分支?7Chapter 4 汇编语言程序设计微机原理与接口技术(1)选择选择合适合适的转移指令;的转移指令;(2)为每个分支安排为每个分支安排出口出口;(3)将分支中的将分支中的公共部分公共部分尽量放到分支前或分尽量放到分支前或分支后的支后的公共程序段公共程序段中;中;(4)流程图、程序对应流程图、程序对应;(5)调试时,逐分支检查调试时,逐分支检查。分支程序设计要点分支程序设计要点8Chapter 4 汇编语言程序设计微机原理与接口技术 特点:特点:(1)改变程序的)改变程序的执行顺序执行
7、顺序,即改变指令指针,即改变指令指针CS:IP的值;的值;(2)不改变)不改变标志位标志位。4.4.2.1 转移指令转移指令 设计分支程序的时候,设计分支程序的时候,关键关键在于根据需要,在于根据需要,根据各个根据各个标志位的不同状态标志位的不同状态,选用,选用合适合适的转的转移指令。移指令。9Chapter 4 汇编语言程序设计微机原理与接口技术转移转移指令指令条件条件转移转移无条件无条件转移转移简单条件简单条件转移转移(10(10条条)无符号数无符号数条件转移条件转移(4)(4)有符号数有符号数条件转移条件转移(4)(4)段内直接、段间直接段内直接、段间直接段内间接、段间间接段内间接、段间
8、间接转移指令的分类转移指令的分类10Chapter 4 汇编语言程序设计微机原理与接口技术1 无条件转移指令无条件转移指令格式:格式:JMP 标号标号作用:作用:使使CPU无条件地转移无条件地转移到指令指明的目的地到指令指明的目的地址处(标号指定)执址处(标号指定)执行,转移的行,转移的范围范围大,大,灵活性灵活性大;大;不能构成分支程序不能构成分支程序,但可将各分支的出口但可将各分支的出口重新汇集重新汇集在一起;在一起;CMP ARRAYBX,BYTE PTR 0 JLE L1 ;小于等于小于等于0 分支分支1 ;大于大于0 JMP GO1L1:JL NEXT ;小于小于0 分支分支2 ;等
9、于等于0 JMP GO1NEXT:分支分支3 ;小于小于0GO1:;所有分支汇集所有分支汇集11Chapter 4 汇编语言程序设计微机原理与接口技术某些条件转移指令转移的范围超过它规定的范围某些条件转移指令转移的范围超过它规定的范围时,时,用用JMP搭桥搭桥。例:例:JL L1 ;小于小于0时转时转L1 L1:可改为如下指令串:可改为如下指令串:JGE L0 ;大于等于大于等于0时转时转L0 JMP L1 ;小于小于0时无条件转时无条件转L1L0:L1:1 无条件转移指令无条件转移指令;超过了规定的转移范围超过了规定的转移范围12Chapter 4 汇编语言程序设计微机原理与接口技术根据所处
10、的根据所处的位置位置分类:分类:段内转移段内转移:要转移的目的地址与指令本身在:要转移的目的地址与指令本身在同一同一段段;段间转移段间转移:要转移的目的地址与指令本身在:要转移的目的地址与指令本身在不同不同段段。根据寻址的根据寻址的方式方式分类:分类:直接方式直接方式转移:转移到转移:转移到标号标号。间接方式间接方式转移:从转移:从存储器存储器或或寄存器寄存器中得到转移目中得到转移目的地的的地的段地址段地址和和偏移地址偏移地址。1 无条件转移指令无条件转移指令13Chapter 4 汇编语言程序设计微机原理与接口技术格式格式名称名称功能功能JMP 标号标号段内直接段内直接(IP)+位移量位移量
11、 IPJMP OPD段内间接段内间接(OPD)IPJMP FAR PTR 标号标号段间直接段间直接标号的标号的EA IP段首址段首址 CSJMP OPD段间间接段间间接(OPD)IP(OPD+2)CS1 无条件转移指令无条件转移指令14Chapter 4 汇编语言程序设计微机原理与接口技术例:例:JMP NEXT 直接方式的无条件转移指令直接方式的无条件转移指令JMP WORD PTR BX 段内间接转移指令段内间接转移指令(16位段位段)JMP DWORD PTR BXDS:BX指向的双字单元中指向的双字单元中存放着存放着EA和段首址和段首址(16位段位段)1 无条件转移指令例无条件转移指令
12、例15Chapter 4 汇编语言程序设计微机原理与接口技术2 条件转移指令条件转移指令 条件转移指令语句格式:条件转移指令语句格式:操作符操作符 标号标号 JX 标号标号功能:如果转移条件满足,则标号的功能:如果转移条件满足,则标号的EA(立即(立即数)数)IP 否则,执行紧跟转移指令之后的那条指令。否则,执行紧跟转移指令之后的那条指令。16Chapter 4 汇编语言程序设计微机原理与接口技术2 条件转移指令条件转移指令例如:例如:JZ NEXT INC AX NEXT:DEC CX E9000140490100H0103H0203HJZ NEXTINC AXDEC AX位移量位移量=标号
13、标号EAEA下一条指令下一条指令EAEA有符号数有符号数位移量位移量17Chapter 4 汇编语言程序设计微机原理与接口技术2 简单条件转移简单条件转移特点:特点:只能是只能是段内直接跳转段内直接跳转,即:,即:(1)用立即数改变用立即数改变IP的值,不改变的值,不改变CS。(2)为有符号数,)为有符号数,0 向前转,否则往回转。向前转,否则往回转。(3)16位段位段:汇编程序计算的位移量在:汇编程序计算的位移量在n IF -128127之间时,翻译成之间时,翻译成8位有符号数;位有符号数;n ELSE IF -3276832767间时,翻译成间时,翻译成16位有符号位有符号数;数;n EL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 基本 方法
限制150内