41汇编语言ok.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文档。上传文档
查看更多
December 12, 1999 MatrixOne, Inc Confidential 汇编语言 汇编语言和汇编程序的基本概念 汇编语言程序结构 汇编语言的标识符、表达式和运算符 汇编语言 用指令的助记符、符号地址、标号、注释等符号书写程序的语言。 用汇编语言编写的程序称为汇编语言源程序(简称源程序)。 汇编程序可直接控制硬件各部分操作 能充分利用硬件所提供的许多功能 内存所占的代码空间最少 其执行的速度最快 汇编程序 源程序,需要翻译成机器语言,计算机方能执行。 把源程序翻译成机器语言程序(目标程序)的过程叫做汇编,完成汇编任务的程序叫汇编程序。 两种汇编程序: 小汇编(ASM) 宏汇编(MASM) 通常使用MASM宏汇编程序对源程序进行汇编,小汇编用于DEBUG调试程序中使用A命令输入源程序,小汇编不支持宏指令、结构(STRUC)和记录(RECORD)等伪操作,在汇编时只能显示程序的有错代码,无法给出错误的全部信息。 汇编程序类型 ①交叉汇编程序,即运行这种汇编程序的计算机与执行为之汇编成目标程序的机器是不相同的。 ②驻留汇编,运行这种汇编程序的计算机就是执行这个目标程序的计算机。 为完成对源程序汇编,汇编程序一般采用二次扫描,第一遍扫描源程序产生符号表,处理伪指令等,第二遍扫描产生机器指令代码,确定数据等。 汇编语言程序结构 段定义格式 过程定义语句 数据定义语句 结构STRUC 汇编语言程序结构(复) DATA SEGMENT PUBLIC ‘DATA’ · ·数据定义 · DATA ENDS EDATA SEGMENT · ·附加数据段 · EDATA ENDS STACK SEGMENT PARA STACK ‘STACK’ · ·堆栈定义 · STACK ENDS CODE SEGMENT PARA PUBLIC ‘CODE’ ASSUME CS:CODE,DS:DATA,ES:EDATA,SS:STACK MAIN PROC FAR START: MOV AX,DATA MOV DS,AX MOV AX,EDATA MOV ES,AX MOV AX,STACK MOV SS,AX ……过程主体 MOV AH,4CH INT 21H RET MAIN ENDP CODE ENDS END START 段定义格式 汇编源程序是按段组织,一个完整的程序包括代码段、堆栈段、数据段。逻辑段以SEGMENT开始,以ENDS结束。整个源程序以END结束。 数据段用于存放指令代码使用的操作数,数据变量可以是公共变量供多个过程共享。 代码段用于存放程序的指令代码存。 堆栈段可以存放一些暂时变量,子程序调用的返回地址,中断的断点地址等。 段定义格式 段名 SEGMENT [定位类型] [组合类型] [‘类别’] · · 段体 · 段名 ENDS 段名可任意指定,段名是伪指令名,可用作指令语句的操作数,表示该段的起始地址。 源程序结束伪指令 格式:END [表达式] 功能:该语句标志整个程序的结束,是源程序的最后一条语句。 段定义格式 SEGMENT是段定义符,在定义一个段时,必须要使用。 定位类型、组合类型、类别用于指定段的属性,主要供连接程序在连接、定位时使用。 注意:其中[ ]括号表示、此项可任选,可以缺省,但各项的顺序不能错,各项之间用空格隔开。 定位类型 表示此段定位起始边界,有四种: PARA——缺省,表示段的起始必须从节(一节为16个字节)边界开始。 BYTE——段可以定位任一字节上。 WORD——指定段的边界必须从偶地址开始。 PAGE——此类型定义在页边界上(一页为256个字节)。 组合类型 通知连接程序,本段与其它段之间的关系,它们是: PUBLIC——将其同名段相邻的连接在一起,形成一个物理段,即连接后代码或数据大小不得超过64KB。 COMMON——将其同名段重叠在一起,并按照连接文件名的次序,后一个覆盖前一个。连接后指定相同的基地址,段的长度取决于最长的COMMON段的长度。 STACK——指定为堆栈段,

文档评论(0)

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

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

1亿VIP精品文档

相关文档