第五章 汇编语言程序开发.pptVIP

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

第五章 汇编语言程序开发 本章将详细的讨论汇编语言程序的开发过程。讲解各种汇编语言程序设计基本技术。;第一节. 汇编语言程序一般开发过程 汇编语言程序的一般开发过程如下图所示;汇编程序的开发过程为: (1) 利用文本编辑器(如记事本、EDITPLUS等)编辑一个扩展名为ASM的汇编语言源程序。 (2) 汇编(MASM)扩展名为ASM的汇编语言源程序,如有错误返回步骤(1)进行修改;无错则至少生成一个扩展名为OBJ的浮动目标文件。 (3) 连接(LINK) 扩展名为OBJ的浮动目标文件, 如有错误返回步骤(1)进行修改;无错则至少生成一个扩展名为EXE或COM的可执行文件。 (4) 利用调试工具(DEBUG)调试可执行文件,如有错误返回步骤(1)进行修改;无错则结束。 (5) 以上步骤周而复始,直至程序完全正确为止。;1.1 开发汇编语言程序的工具 要开发汇编语言程序,需要准备下列的工具: ①编辑工具:为了建立源程序,可以使用可以找到的任何编辑程序,如DOS环境下的EDIT;Windows环境下面的记事本、写字板、WORD等,推荐使用EDITPLUS,支持语法着色,提供行号。 ②汇编工具:可以使用ASM或MASM,ASM不支持宏汇编,若需要宏汇编支持,使用MASM;MASM为微软公司提供,可以使用的最高版本为8.0,推荐使用MASM6.X。 ③连接工具:使用LINK,为微软公司提供。 ④调试工具:使用Windows自带的DEBUG,用于调试16位CPU的汇编程序;若要调试32位CPU的汇编程序,使用DEBUG32。 ⑤其他:EXE2BIN可用于建立COM文件。;1.2 建立ASM文件 开发汇编语言程序的第一步是建立汇编语言源程序。建立汇编语言源程序应遵守汇编语言的语法规则: ①一行写一条汇编语言语句; ②汇编语言不区分对大小写; ③一个完整汇编程序最后语句一定是END伪指令,给出汇编程序的运行时的起始地址; ④汇编语言中不能使用中文的标点符号,否则汇编的时会出现“memory overflow”的错误; ⑤汇编程序中的数据占用的存储单元地址应在数据段中分配,指令应放在代码段中,即汇编程序应采用分段结构进行组织; ⑥汇编源程序文件的后缀为.asm;;1.汇编语言源程序段定义格式 在MASM6.X中可以使用两种段定义格式(MASM5.0开始的版本提供这两种格式),即简单段定义格式和完整段定义格式。根据段定义格式不同,汇编语言源程序编写可以采用两种结构,下面通过例子说明汇编语言源程序的两种结构。 例:建立ASM文件: 编制汇编语言程序计算下面的公式,并把结果存放在FUN储存单元中。 其中X,Y,Z的值分别存放在VARX,VARY,VARZ字储存单元中,且假定计算过程的中间值和最后结果仍在16位二进制数的范围内。;①.格式一简单段定义格式汇编语言源程序 NAME WANGXIAO1 ;定义模块名 .8086 ;设置CPU工作模式 .MODEL SMALL ;定义存储器模式 .DATA ;数据段定义伪指令 VARX DW 123H ;数据段内容 VARY DW 456H VARZ DW 789H FUN DW ? .STACK 20H ;堆栈段定义,分配20H个字节存储单元 .CODE ;代码段定义伪指令 START: MOV AX,@DATA ;使用段地址宏@DATA初始化DS寄存器 MOV DS,AX ; MOV AX,VARX ADD AX,VARY MOV BX,AX SAL AX,1 SAL AX,1 ADD AX,BX SAL AX,1 MOV BX,VARZ DEC BX MOV CX,BX SAL BX,1 ADD BX,CX SUB AX,BX SAR AX,1 MOV FUN,AX MOV AH,4CH ;返回DOS系统 INT 21H END START ;程序结束,标号START给出程序执行的起始地址;②.格式二完整段定义格式汇编语言源程序 NAME WANGXIAO2 ;定义模块名 .8086 ;设置CPU工作模式 DATA SEGMENT ;数据段定义 VARX DW 123H ;数据段内容 VARY DW 456H VARZ DW 789H FUN DW ? DATA ENDS ;数据段定义结束 STACK1 SEGMENT PARP STACK ;堆栈段定义 DW 10H DUP (0) ;堆栈段分配20H个字节存储单元 STACK1 ENDS ;堆栈段定义结束 CODES SEGMENT ;代码段定义 ASSUME CS:CODES,DS:DATA,SS:S

文档评论(0)

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

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

1亿VIP精品文档

相关文档