第3章汇编语言.ppt

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

名字项的书写有严格的规定,它可使用下列字符: 字母A~Z、a~z 数字0~9 特殊符号?、·、@、-、$等 名字项的第一个字符不可以是数字,必须是字母或特殊字符,但是问号本身不能单独作为名字,名字中如果用到‘· ’,则必须是第一个字符。名字最多由31个字符组成,多则无效。 需要注意的是:名字不能使用汇编语言的专用保留字,寄存器名,8088/8086汇编语言中的指令助记符,伪指令名,表达式中使用的运算符和属性运算符等均不能作为名字项,否则汇编是会给出错误信息;名字项在程序中不能重复定义。 字符串常数是指用单引号括起来的一个字符或多个字符的序列。使用时可以在单引号内写字符序列,也可以直接在语句中写字符的ASCII码,但ASCII码之间必须用逗号作分隔(此时不需要用单引号)。例如,MOV AH,’B’指令和MOV AH,42H指令是等价的。 【例3.5 】要将一个立即数20H存入以SI寄存器内容所指定的内存单元,那么SI所指向的单元是字节单元还是字单元,就可以使用PTR操作符加以说明。 MOV BYTE PTR[SI], 20H 或 MOV WORD PTR[SI],20H 第一条指令表示将立即数20H送入EA=[SI]的字节存储单元;第二条指令表示将立即数20H送入EA=[SI]的字存储单元。 ④代码段中,用ASSUME指令指出各段寄存器与当前被使用的逻辑段的对应关系,但并不能把段地址装入相应的寄存器中,所以,在任何程序的开始,都要使用指令给DS、ES赋值: MOV AX,数据段名 MOV DS,AS ;有数据段时,用这两条命令将数据段首址放入DS MOV AX,附加段名 MOV ES,AX ;有附加数据段时,用这两条命令将其段首址放入ES。 1. 宏定义与宏调用 说明:①结构名为定义该结构的名字; ②数据定义语句是由DB、DW、DD等伪指令定义的一组变量名。 结构定义未给出存储单元的分配和字段的值,它只是定义了一个结构,而无具体内容,所以需要用结构变量的存储分配和预置来实现。 2.ORG伪指令 格式:ORG 数值表达式 功能:ORG伪指令指定在它之后的程序段或数据块所存放的起始地址的偏移量。 地址计数器的值可以用$来表示,即可用’$’来表示当前地址,汇编语言允许用户直接用$来引用当前地址即地址计数器的值, 【例3.11】 ORG 0100H ;从偏移地址0100H处开始存放 ORG $+8 ;表示跳过8个字节的存储区 第3章 汇编语言 丹岛址钻狂烙陈端呐因忘友甭庄虏逝诧桶慧棘肚着妨靖齐物销冒盾官侯敬第3章汇编语言第3章汇编语言 3.3 汇编语言程序的结构 3.3.1 汇编语言程序的构造 汇编语言源程序经汇编、连接后,按照生成不同的可执行程序的形式,可以分为:生成exe可执行程序的源程序格式和生成COM程序的源程序格式两种。 进入下一节 返回本章首页 返回上一节 第3章 汇编语言 罚路三遏茬塘姿解揍冗里痊截稗夸依标腐椰勺婶危汞多家扔广下缆樱中昧第3章汇编语言第3章汇编语言 1.exe程序的汇编语言源程序格式 附加段名 SEGMENT 变量定义 数据空间预置 附加段名 ENDS 一般格式如下: NAME 模块名(可有可无) 数据段名 SEGMENT 变量定义 数据空间预置 数据段名 ENDS 第3章 汇编语言 幽嫉罕羊尝庇藏映懒掘纯纯醉脱冠痊壳雕漾垃隋链斯活裸熔帝怪糊概量赏第3章汇编语言第3章汇编语言 代码段名 SEGMENT ASSUME CS:代码段名,DS:数据段名, ES:附加段名,SS:堆栈段名 Start: 指令1 指令2 … 指令n 代码段名 ENDS END start 堆栈段名 SEGMENT PARA STACK ‘STACK’ 堆栈段空间预置 堆栈段名 ENDS 第3章 汇编语言 丽缔拢教远杜吁慑泅毖剥珠氛球停四雏需窜渴井迢吗四较幸滑虑彰卖廖汪第3章汇编语言第3章汇编语言 ①任何一个汇编语言源程序由若干段组成,最多有4个段:数据段、附加段、堆栈段和代码段,前3个段将根据具体程序的需要可有可无,但程序至少有一个代码段。各个段的定义由伪指令SEGMENT和ENDS来

文档评论(0)

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

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

1亿VIP精品文档

相关文档