[工学]第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章_汇编语言程序设计

第4章 汇编语言程序设计 汇编语言程序设计 汇编语言:一种面向机器的程序设计语言,是一种用符号表示的低级程序设计语言(机器语言的符号化描述)。 宏汇编语言:增加伪、宏指令语句构成汇编语言程序设计语言。 汇编: 汇编语言编写的程序不能由机器直接执行,必须经汇编程序翻译成机器语言程序。 汇编语言源程序 汇编语言源程序是程序员根据具体问题的算法,用汇编语言的语句编写的程序文本,通常以.asm作为扩展文件名。 汇编语言程序设计中由于开发环境支持不同,可以有两种不同的段定义形式:完整段定义和简化段定义。采用这两种定义方式编写的程序分别被称完整段程序和简化段程序。 典型的汇编程序结构(完整段) 所谓完整段结构,是指汇编语言源程序中使用段定义伪指令对用到的逻辑段分别定义。 STACK SEGMENT DW 256 DUP(?) STACK ENDS DATA SEGMENT AA DB 12,25,36 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: …… MOV AH,4CH INT 21H CODE ENDS END START 典型的汇编程序结构(简化段) 引入简化段的主要目的是简化源程序中段描述指令,提高程序编写效率。 .MODEL 模式名 ;定义程序模式(SMALL、LARGE等) .DATA ;数据段定义开始 …… ;变量定义及数据空间预置 .STACK ;堆栈段定义(默认1KB空间,可自己定义) .CODE ;代码段定义开始 .STARTUP ;代码段入口标志 …… ;程序代码内容 .EXIT ;返回DOS操作系统 …… ;子程序定义 END ;程序结束 汇编语言的基本语法 指令性语句:由指令构成,与机器指令一一对应。 [标号:] 操作码 操作数 [;注释] 如: START: MOV AX ,DATA ;初始化数据段 指示性语句:由命令(伪指令)构成,是程序员发给汇编程序的命令,没有相应的机器指令。 [名字/变量] 命令 参数 [;注释] 如: DATA SEGMENT 宏指令语句:用户在源程序中定义的一段具有独立功能的指令语句。 汇编过程 检查源程序的语法错误,并给出出错信息。 产生目标文件(.OBJ);列表文件;(.LST)和交叉索引文件(.CRF文件)。 展开宏指令。 列表文件(.LST文件):同时列出汇编语言源程序和机器语言目标程序的文件。 交叉索引文件(.CRF文件):列出程序中使用的符号、变量和标号以及引用情况。 汇编与连接 4.1 汇编语言语法 常量、标识符、标号和表达式 指示性语句 程序结束伪指令 段定义伪指令 过程定义伪指令 数据定义伪指令 符号定义伪指令 名字和变量 宏指令 DOS系统功能调用 一、常量、标识符、标号和表达式 1、常量 指令中出现的固定值,在程序运行期间不会变化。分为数字常量、字符常量和符号常量三种。(指令中的立即数,MEM直接地址) (1)数字常量:直接用数字表示的常量。 二进制、11110001020100B 十进制:12356D 十六进制:12ABH、0F56AH(字母打头必须前面补0,否则将出现汇编语法错误。) 常量 例如: MOV AX,100D MOV BL,0FAH (2)字符串常量:包含在单引号内的一个或两个ASCII字符构成,它所代表的数值就是该字符的ASCII码。只有在初始化存储器时才可以使用多于两个字符的字符串常量。 例如字符”A”等价于41H,字符”AB”等价于4142H。 (3)符号常量:用标识符(常量名)表示的常量,它具有一个设定的数值从而被引用。 2、标识符 有特定意义的字符序列,标识符可用作符号常量、名字、变量和标号等。 符号命名规则: 0≤31个ASCII码字符 A-Z、a-z、0-9 、?、@、$及下划线构成,除数字以外,所有规定的字符都可作为标识符的第一个字符。 ?不能单独作为标识符。 无独立的保留字及运算符。 标识符 3、标号 指令性语句存放地址的符号表示,常用于指令的转移和子程序调用。 标号定义 标号名: 机器指令语句 例如: MOV CX,10H LOOP1:ADD AL,2H DEC CX LOOP LOOP1 ;此处LOOP1不是保留字 4、表达式与运算符 由操作数(常量、变量、标号)和运算符构成。 在汇编时完成相应的运算(数字常数),(OBJ)目标程序中不存在表

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档