[工学]微机原理讲义第四、五章汇编语言程序格式.docVIP

[工学]微机原理讲义第四、五章汇编语言程序格式.doc

  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文档。上传文档
查看更多
[工学]微机原理讲义第四、五章汇编语言程序格式

第四章 汇编语言程序格式 汇编语言的特点: (1)面向机器的程序设计语言,介于机器语言与高级语言之间的一种语言。 (2)通常与机器语言的指令是一对一的关系。 (3)比机器语言更易于阅读、编写和修改,比高级语言更能全面地反映硬件的特点与功能。 (4)程序运行速度快,能充分运用硬件资源,所占存储空间少,能充分发挥计算机效能和进行精确控制等。 (5)广泛应用于计算机系统的开发、高级语言编译程序的编制、编辑和调试等实用程序的编制等方面。 第一节 汇编程序功能 一、汇编语言程序建立及处理步骤 (1)选用一种编辑程序建立汇编语言源文件,扩展名为:.asm (2)用汇编程序把源文件汇编成目标文件,扩展名为:.obj (3)用连接程序link把目标文件及所用到的库文件或其他目标文件转换成可执行文件,扩展名为:.exe (4)dos状态下,直接键入文件名即可执行。 第二节 伪指令语句 语句:是汇编语言的基本组成单位。 源程序指令类型:指令语句、伪指令语句、宏指令语句 一个至少:在一个源程序中,至少要含有指令语句和伪指令语句。 一、符号定义伪指令 1、作用:有利于变量名的修改,提高编程和调试的效率。 2、分类 (1)等值语句 格式:名字(符号) equ 表达式 操作:把equ右边表达式的值或符号赋给左边的名字(符号)。 说明:①表达式可以是常数或数值表达式、地址表达式、变量、标号名或助记符等 ②equ语句中,如在表达式中存在变量或标号,则必须在equ语句前预先定义 ③符号名不能重复定义。 (2)等号语句(‘=’) 格式:名字(符号)=表达式 操作:把等号右边表达式的值或符号赋给左边的名字。 说明: ①表达式可以是常数或数值表达式、地址表达式、变量、标号名或助记符等 ②equ语句中,如在表达式中存在变量或标号,则必须在equ语句前预先定义 ③符号名可以多次定义。 (注:符号定义伪指令只是为常量、变量、表达式等定义符号名,不分配存储单元) 二、数据定义伪指令 作用:主要用于描述数据和给数据赋值。 语句格式:[变量名] 数据定义伪指令 表达式1,表达式2,…[;注释] 变量名:可有可无,用符号地址表示,与指令语句前的标号作用相同,只是后边不用冒号,汇编程序把它记以该语句所定义的第一个字节的偏移地址。 表达式:可以是数值表达式、字符串表达式、带dup的表达式。如是字符串表达式,必须用单引号/双引号括起来,各字符以ASCⅡ码存放。 注释:对该数据定义所完成的操作进行说明。 数据定义伪指令: db:(1)用来定义字 (2)如操作数是字符串,则字符个数要小于255,并为每个字符分配一个字节存储单元 (3)无论表达式结果是数据还是字符串,都是按地址递增顺序依次分配。 Dw:(1)用来定义字,低位字节在低地址,高位字节在高地址。 (2)操作数是字符串,字符个数小于等于2,为每字符串分配两个字节单元 (3)二字符情况:前一个字符放在高地址,后一字符放在低地址处。 一字符情况:高地址处放00h,低地址处存放字符。 注:db ‘ab’与dw ‘ab’的区别 dd:(1)用来定义双字 (2)操作数是字符串的情况:字符串最多包含两个字符,为每个字符串分配4个字节单元,其中,低两位单元存放字符,高两位存0。 Dq:(1)用来定义4个字(2)每个操作数占有4个字 Dt:(1)用来定义5个字(2)操作数占有10个字节,形成压缩的BCD码。 注:1、操作数?可保留存储空间,但不存入数据。 2、操作数带复制操作符dup的情况。 格式:表达式1 dup (表达式2,…) (1)表达式1必须是一个正整数,用来指定表达式2指示的操作数的重复次数。 (2)dup可嵌套使用 (3)可用dw或dd把变量/标号的偏移地址(dw)或整个地址(dd)存入存储器,用dd存入地址时,第一字为偏移地址,第二字为段地址。 (4)类型属性: db dw dd dq dt 1 2 4 8 10 例:oper1 db ?,? oper2 dw ?,? mov oper1,0(字节指令) mov oper2,0(字指令) 三、段定义伪指令 1、段定义伪指令格式: 段名 segment [定位类型] [组合类型] [‘类别名’] … 段名 ends segment/ends表示段的开始/结束,[ ]可有可无,…表示段的主体。 段名:段的符号名,命名规则同变量和标号的命名规则,段名必须一致。 定位类型部分:对段的起始地址的规定 (1)byte:表示可从任意处开始。 (2)word:表示从字的边界开始。 (3)para:表示从小段的边界开始,即段基址的低4位为0。隐含类型。 (4)page 从页的边界开始,即段基址的低

文档评论(0)

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

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

1亿VIP精品文档

相关文档