汇编语言第3章综述.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文档。上传文档
查看更多
汇编语言第3章综述

第三章 汇编语言程序格式;第一节 伪指令;3.组合类型:为连接程序提供本段与其他段的组合关系。 1)NONE(不连接):表示本段与其它段无连接关系,依次存放。 2)PUBLIC(公用段):表示本段与同名的其它段相邻连接,组成一个共同段。 3)STACK(堆栈段):表示本段为堆栈段的一部分。 4)AT 表达式(定段地址):表示本段的段地址由表达式的值得到。不能指定CS。 5)COMMON(共同段):表示本段与同名的其它段相覆盖,长度由最长段长度定。 6)MEMORY:表示本段地址高于其它同名段。如多个段选该类型,则第一个有效。 4.‘类别’:用户定义的、用单引号括起来的字符串表示的合法的名称。连接时同类名的段(段名未必相同)连续存放,但仍然是不同的段。‘类别’名相同的各个段在连接时,先出现的在前,后出现的在后,每段都有自己的起始地址。 ; 一个汇编语言源程序可以有几个段,每段由各自的段定义伪指令包含起来,以将数据和代码明确地分开。 在代码段(CS)开始执行指令前,必有一条伪指令ASSUME以明确段和段寄存器间的关系,但并不初始化段寄存器的值。 格式: ASSUME CS:代码段名,DS:数据段名,ES:附加段名,SS:堆栈段名 其中每个段名是各段定义时的段名。 例如:DATA SEGMENT ;定义数据段 : DATA ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA : CODE ENDS 其中ASSUME语句建立了CODE段名与CS寄存器、DATA段名与DS寄存器的对应关系。;二、程序结束伪指令 格式: END [标号] 功能:源程序中最后一个语句,标志整个程序的结束,汇编程序遇到该指令即停止汇编。 主程序结束:END 标号 ;该标号为程序开始的起始地址。 子程序结束:END 例如:END START ;START是该程序的第一条可执行指令的标号 告诉汇编程序用此地址的值来初始化CS:IP。 注意:这条指令必不可少,但不能放在程序的中间,否则,END语句后的语句就不能被汇编为目标代码了。;三、变量定义伪指令:为变量分配内存空间,并赋予初始值。 格式: [变量名] 助记符 操作数[,…,操作数] DB:定义字节,每个操作数占一字节的内存单元。 DW:定义字,每个操作数占一个字的内存单元。 DD:定义双字,每个操作数占二个字的内存单元。 DQ:定义四字,每个操作数占四个字的内存单元。 DT:定义十字节,每操作数占十字节的内存单元。 (Byte、Word、Dword、Qword、Tbyte) 其中变量名、助记符和操作数之间以空格隔开,且[ ]中内容为可选项。下面介绍各个部分的作用。 1)变量名是用户定义的一个符号地址,表示操作数的首地址,它有三个属性:段地址、偏移地址和数据类型。数据类型根据助记符的不同而不同。 2)DW可用于存偏移地址,如IP值;DD可用于存逻辑地址值,如CS:IP值;DT可用于存压缩的BCD码。;3)操作数可为常数、常数表达式、地址表达式、字符串、“?”和带DUP复制操作符的表达式等。操作数为多个值时,以逗号间隔开。每个值根据助记符的不同而占不同的内存单元个数。 例: S1 DB 1,2,2*3 ADD2 DW S1 S1占三个字节的内存单元,其内容按顺序分别为1、2、6。 ADD2占一个字的内存单元,其内容为变量S1的偏移地址。 例: S2 DB ‘ABCD’,? S2占五个字节的内存单元,其内容按顺序为41H、42H、43H、44H和保留一个字节的内存单元而没有对其初始化。(字符串是以ASCII码保存) DUP复制操作符,用于复制某个(些)操作数。 格式:次数 DUP (OPR,…,OPR); 其中OPR 为操作数,次数为复制次数。DUP还可嵌套。 例: DW 20 DUP (?) ;用于堆栈段中 阅读书中例3-1:变量连续定义,则连续存放。 ;4)变量数据类型不匹配时,可用PTR来暂时修改属性。 格式:类型 PTR 变量+ 常数表达式。 其中类型有:BYTE、WORD和

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档