程序设计 高级汇编技术 待修改9.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计 高级汇编技术 待修改9

3.5 汇编语言程序设计 指令或语句就是告诉计算机为完成某一计算步骤需要执行的操作。程序是为了求解某个问题所必须的完整的指令序列或语句串加上必要的数据。程序设计是编写程序的过程。 当在设计一个程序时,应该考虑满足以下目标: 1)程序的正确性。 2)增强程序的可读性。 3)所写程序应该是结构化的,易修改,易调试,即程序的可维护性。 * * 程序的基本结构 程序是指令(语句)的有序集合,是对系统任务处理步骤的描述。程序的执行是有一定顺序的,依据执行顺序可将程序分为如下基本结构: 顺序结构、 分支(选择)结构、 循环结构和 子程序结构。 (1)顺序结构:按语句先后次序执行一系列顺序操作。 (2)分支结构:也叫条件选择结构,根据不同情况做出判断和选择,以便执行不同的程序段。 (3)循环结构:循环实际上是分支结构的一种扩展,循环是否继续是依靠条件判断语句来完成的。按照条件判断的位置,可以把循环分为“当型循环”和“直到型循环”。 每个结构只有一个入口和出口,3种结构可以任意组合和嵌套构成结构化的程序。 * 3.5.1 顺序结构程序设计 顺序结构程序从执行开始到最后一条指令为止,指令指针IP中的内容呈线性增加; 设计这种程序只要遵照算法步骤依次写出相应的指令即可。 顺序结构程序设计时,主要考虑如何选择简单有效的算法,如何选择存储单元和工作单元。 * 例 从键盘输入一个小写英文字母,将其转换成大写英文字母后在屏幕上显示出来。 分析:利用DOS功能调用INT 21H指令实现。键盘输入一个字符可用01H调用,屏幕上显示字符可用02H调用。 从ASCII码表中可知,将小写字母转换成大写字母只要将其ASCII码减去32即可。 为简化程序设计,假设从键盘输入的字符一定是小写字母。 * STACK SEGMENT STACK ;定义堆栈段 DB 100 DUP(?) ;开辟100个存储单元 STACK ENDS ;堆栈段结束 CODE SEGMENT ;定义代码段 ASSUME CS:CODE , SS:STACK START: MOV AH ,01H ;1号调用,从键盘输入一字符存入AL INT 21H SUB AL ,20H ;将AL中字符的ASCII码减去20H变成大写字母 MOV DL ,AL ;结果送DL MOV AH ,02H ;2号调用,在屏幕上显示DL中的内容 INT 21H MOV AH ,4CH ;返回DOS INT 21H CODE ENDS ;代码段结束 END START ;程序汇编结束 注意 : 复制时候 标点符号修改,英文输入法 * 3.5.2 分支结构程序设计 分支程序的结构可以有两种形式: 双分支结构 多分支结构 【例 】已知在内存中有一个字节单元X,存有带符号数据,要求计算出它的绝对值后,放入RESULT单元中。 分析:根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,即用0减去这个数。8086指令系统中有专门的求相反数的指令NEG。 源程序设计如下: DATA SEGMENT X DB -25 ;定义变量 RESULT DB ? ;定义结果保存单元 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX ;初始化DS MOV AL,X ;X取到AL中 TEST AL,80H ;测试AL正负 JZ NEXT ;为正,转NEXT NEG AL ;否则AL求补 NEXT: MOV RESULT,AL ;送结果 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START ;汇编结束 * 【例】设变量X为带符号

文档评论(0)

jixujianchi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档