第4章 宏汇编语言.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文档。上传文档
查看更多
第4章 宏汇编语言 PPT:宋银涛 讲演:李政辉 4.1 汇编语言开发过程 4.2 汇编语言的语法规则 指令性语句与指示性语句区别: 4.2.2语法规则 1、 名字项(提供符号地址) 5). PTR 修改属性操作符 4.3 伪指令语句 4.3.1 定义符号的伪指令 1、赋值伪指令EQU 2、等号伪指令“=” 4.3.5 地址计数器与对准伪操作 1、地址计数器——$ 2、ORG伪操作 4.3.6 汇编语言源程序段结构定义 1、完整段定义的程序结构 2、伪指令SEGMENT的完整格式 4.3.7 子程序结构形式与操作 1、子程序(过程)定义 格式 NAME  模块名 格式 TITLE  模块名 在源程序开始可用 NAME 或 TITLE 为模块命名, 模块名的作用是指示给连接程序进行连接用。 源程序中可无模块定义,此时源文件名作为模块名。 4.3.3 定义程序开始和结束的伪指令 1 、 NAME 和 TITLE 伪操作 拟矛亡颁疼抓淳穴孵目鼠卯二埔堡阐巩残眉契拢酶仪苹靳蹿榷嫩噶皱较诉第4章 宏汇编语言第4章 宏汇编语言 格式 END 启动地址标号 作用是指示源程序到此结束。 汇编程序对 END 之后的语句不进行处理。 程序中所有有效语句应放在 END 语句之前, 多个模块连接时,则只有主模块要使用标号,程序 从主模块第一个标号处开始执行。 源程序中必须有 END 结束语句。 汇编程序对无END语句的源程序会给出错误信息。 2、 END伪操作 脾宣豪若节臆慷荤良珐运舰缮画斤泣绢田蓉啊蕉虎爵哈泊护甲酮穗斤蔡葡第4章 宏汇编语言第4章 宏汇编语言 汇编过程中使用地址计数器来保存当前正在汇编的指令的偏移地址,地址计数器的值可用$来表示。 $用在指令中时,表示当前地址,即本条指令的第一个字节的地址。 例: JNE $ 濒辉氖雕徊吴毒舒芳铂埔书迟俄翰阵赎滞柔论踩潍靴悦地设可昭感瞒焕泉第4章 宏汇编语言第4章 宏汇编语言 作用: 用来设置当前地址计数器的值。当用户要求指定某条指令或数据为某个指定地址时,可用ORG语句来改变,ORG语句可以放在程序的任何位置。 格式: ORG 表达式 例:VECT SEGMENT ORG 10 VECT1 DW 47A5H ORG 20 VECT2 DW 0C596H VECT ENDS 贵芭奖迪兴箔握榨岁兽挪酶阉邯拐芥羞寅坝秉庐争眷屋迫剐竖痞筷鹏预汗第4章 宏汇编语言第4章 宏汇编语言 段定义伪操作 段名 SEGMENT 、、、 段名 ENDS 段定义由伪操作SEGMENT开始、ENDS结束。 其中: SEGMENT 和ENDS 必须成对出现,且语句前必须有段名,段名必须相同。 SEGMENT和ENDS语句之间可以有指令和其他伪操作指令。 程序中可以定义多个段。程序经汇编、连接及装入内存后,段名为一具体的段值。 纯吉塔碑吴钙褂谣疼澎碱豺错品篆踩亦靴棉种咯望桶序晕芳耐占固罪陵第第4章 宏汇编语言第4章 宏汇编语言 ASSUME伪操作 格式: ASSUME 段寄存器:段名 [, 段寄存器:段名, … ] 其中 段寄存器为CS、DS、ES、SS中的一个 段名为用伪操作SEGMENT定义过的段名 例 ASSUME CS: cc , DS:aa 作用:用来明确段和段寄存器之间的关系。 说明:ASSUME语句只起指示作用,没有赋值作用,并不能把段地址装入段寄存器中,因此在程序中需用指令(如MOV)给相应的段寄存器赋值。但是,代码段CS除外,CS的装入是在程序初始化时完成的。 例: MOV AX,DATA MOV DS,AX ASSUME NOTHING则可取消前面由ASSUME所指定的段寄存器。 申闹填皮墅蓝倡殆扳叫珠云陀孝狮第窄禁煞定援捎蹭府饯益萝黍椰驯罢矩第4章 宏汇编语言第4章 宏汇编语言 例 用程序实现 1234H + 5678H data SEGMENT value DW 1234H, 5678H result DW ? data ENDS code SEGMENT ASS

文档评论(0)

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

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

1亿VIP精品文档

相关文档