微原 第4章1.pptVIP

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微原 第4章1

第四章 汇编语言程序设计 汇编语言的汇编、连接与调试 分支程序设计技术 循环程序设计技术 子程序设计技术 又由于前面介绍组合类型时,介绍了若某段定义时,其组合类型选为STACK型,系统默认该段为堆栈段。所以,在可执行文件装入内存后,段寄存器SS中已是该段的段基址,堆栈指针SP已指向堆栈底+1单元的偏移地址。因此,在程序设计时,程序段就不用给SS、SP 初始化了。 汇编语言程序设计基础 MOV AX , STACK MOV SS , AX MOV SP , OFFSET TOP 这段程序可以缺省。 即: 汇编语言程序设计基础 LABEL伪指令的功能是定义某变量名或标号的类型的。它虽具有段地址与偏移地址的属性,但它不占内存单元。 例如: BARRAY LABEL BYTE AARRAY DW 100 DUP(?) 汇编语言程序设计基础 上面定义了两种类型的变量,BARRAY为字节类型,AARRAY为字类型,它们的段和偏移地址属性完全相同,都是下面保留的100个字空间的首地址,其目的是为了程序中可以对这100个字空间作两种不同类型的操作。这一点上,LABEL的作用与前面介绍的PTR操作符的作用相类似。 汇编语言程序设计基础 BARRAY 100个字空间 AARRAY …… 汇编语言程序设计基础 当需要对该100个字空间进行字操作时,可利用AARRAY字变量。如下面指令格式是正确的。 MOV AX,ARRAY 汇编语言程序设计基础 当需要对该100个字空间进行字节操作时,可利用BRRAY字节变量。如下面指令格式是正确的。 MOV AL,BRRAY MOV AL ,BYTE PTR ARRAY 等效于 汇编语言程序设计基础 4.ASSUME伪指令 ASSUME伪指令告诉汇编程序(MASM.EXE)在对源程序汇编时,源程序中的段名与哪个段寄存器建立关系。这种关系只是一种承诺关系,汇编程序对源程序汇编时,承认这种关系,但段寄存器的值并未确定,用户必须在代码段一开始用MOV指令对DS、ES、SS初始化。 汇编语言程序设计基础 START:MOV AX,DATA1 MOV DS,AX ;对DS初始化 MOV AX,DATA2 MOV ES,AX ;对ES初始化 MOV AX,STACK MOV SS,AX ;对SS初始化 如前面完整结构程序中的下段程序: 汇编语言程序设计基础 因为CS不能做DST,所以用户不能对CS初始化,CS和IP的初始化是系统赋给的,其方法见下面的END伪指令介绍。 汇编语言程序设计基础 5.END伪指令 格式: END 表达式 该伪指令标志整个源程序的结束。它告诉汇编程序汇编到此结束。所以,每个单独汇编的源程序的结尾必须有END伪指令。格式中的表达式是该程序运行时的启动地址,它通常是可执行语句的标号。 汇编语言程序设计基础 如前面完整结构程序中的最后有: MOV AH,4CH INT 21H CODE ENDS END START …… 总汇编结束 起始地址表达式 汇编语言程序设计基础 * * 汇编语言程序设计 算法 所谓算法,简单地说就是计算机能够实现的有限的解题步骤。我们知道,计算机只能进行最基本的算术运算和逻辑运算,要完成较为复杂的运算和控制操作,必须选择合适的算法,这是正确编程的基础。 若题目涉及到某种运算,则必须写出适合程序设计的正确算法,若题目要完成的功能未涉及到运算,也要写出编程思想。 汇编语言程序设计 设计流程 将提出的算法或编程思想用流程图的方式画出来。图4.3.1给出了流程图中较为通用的几种符号。 汇编语言程序设计 起始和终止框 执行框 判断框 连接框 汇编语言程序设计 根据流程图编写程序 编写程序是采用程序设计语言来实现上面已确定的算法,此过程有些书上称为编码。本书所介绍的是采用汇编语言编写程序。采用汇编语言编写程序应注意以下几个问题: 汇编语言程序设计 (1)必须详细了解CPU的编程模型、指令系统、寻址方式及相关伪指令; (2)必须进行存储空间和工作单元的合理分配; (3)多次使用的程序段可采用子程序或宏指令; (4)尽可能用标号或变量来代替绝对地址和常数; 汇编语言程序设计 程序的检验 程序编写好以后,必须

文档评论(0)

hello118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档