2010第3章_指令系统NEW2课件.ppt

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

3.3 8086/8088汇编语言源程序的结构 3.3.1汇编语言的语句格式 在介绍汇编语言的语句格式之前,我们先简单介绍一个基本的汇编语言源程序结构. 一个基本的汇编语言程序框架如下: stack SEGMENT DB 100 DUP(‘stack’) stack ENDS data SEGMENT 数据、变量在此定义 data ENDS code SEGMENT ASSUME CS:code, DS:data, ES:data , SS:stack start: MOV AX, data MOV DS, AX MOV ES, AX 此处加入你自己的程序段 MOV AH, 4CH INT 21H code ENDS END start 从上例可以看出汇编语言的源程序是分段的,由几个段形成一个源程序,每一段有一个段名,以SEGMENT为段开始,以ENDS为段结束;一般一个程序含有数据段、代码段和堆栈段等;一个段由若干语句组成;源程序最后以END作为结束。 3.3.1汇编语言的语句格式 汇编语言的语句有两类: 指令性语句——由8088指令助记符构成的语句 指示性语句——由伪指令构成的语句 指令性语句的格式为: 标号: 指令助记符 目的操作数,源操作数 ;注释 指示性语句的格式为: 名字 伪指令 操作数1,操作数2,…,操作数n ;注释 3.3.1汇编语言的语句格式 指令性语句由CPU执行;每一条指令性语句都有一条机器指令与其对应 指示性语句由汇编程序执行;它指出汇编程序应如何对源程序进行汇编,如何定义变量、分配存储单元以及指示程序开始和结束等;指示性语句无机器指令与其相对应 指令性语句汇编时生成机器码; 指示性语句汇编时不生成机器码 汇编语言语句的构成元素 1.标号(名字):是给指令或某一存储单元地址所起的名字。 可由下列字符组成: 字母:A ~ z ; 数字:0 ~ 9 ; 特殊字符:?、. 、@、一、$ 。 数字不能作标识符的第一个字符,而圆点仅能用作第一个字符,标识符最长为31个字符,不能用保留字(如寄存器名,指令助记符,伪指令) 当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。 汇编语言语句的构成元素 2.(伪)指令助记符: 表示不同操作的指令,可为的指令助记符,或伪指令。 3.操作(参)数:是指令的操作对象。 对指令性语句——0,1,2个 对指示性语句——根据需要而定 操作数之间以逗号分隔 操作数可以是:寄存器、存储单元、常数或表达式 例如:AX,[DI+BX+10],200,16*8+TABLE,等等 汇编语言语句的构成元素 4.注解:该项可有可无,是为源程序所加的注解以分号开头,可放在指令后,也可单独一行。 注意注解的写法。要写指令(段)在程序中的作用,而不要写指令的操作。 例如:以下为同一条指令写的注释 1)MOV CX,100 ;传送100到CX 2)MOV CX,100 ;循环计数器置初值 显然,第二种写法要比第一种写法要好。 3.3.2 段定义伪语句 1. SEGMENT和ENDS伪指令 我们从一个汇编语言的实例入手,介绍一些有关的伪指令和相关的知识。 一般来说,一个完整的汇编源程序由3个段组成,即堆栈段、数据段和代码段。 段定义伪指令一般格式为 : 段名 SEGMENT [定位类型] [组合类型] [类别] … 段名 ENDS 其中,SEGMENT表示一个段的开始,ENDS表示一个段的结束。STACK表示所定义的段为堆栈段。DOS将程序装入内存执行时,自动将SS指向堆栈段。 2. ASSUME伪指令 一般形式: ASSUME 段寄存器名:段名, ……, 段寄存器名:段名 功能:说明段与段寄存器之间的缺省对应关系,即指出某个段的段地址在哪个段寄存器中。 例如:ASSUME CS:cseg, DS:dseg, es:eseg, SS:sseg 指出cseg、dseg和sseg分

文档评论(0)

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

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

1亿VIP精品文档

相关文档