微机第03章1汇编格式.ppt

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

第 7 章 汇编语言程序设计 7.1 汇编语言程序的源程序格式 7.2 常量、变量和标号 7.3 程序段的属性 7.4 顺序程序设计 7.5 分支程序设计 7.6 循环程序设计 7.7 子程序设计 7.8 宏汇编 硬指令、伪指令和宏指令 汇编语言源程序中的 3 类指令: 硬指令——由CPU执行的指令,就是第2章学习的处理器指令。 伪指令——指导汇编过程的指令,例如数据说明、变量定义、调试文件输出格式说明等,由汇编程序处理。本课程采用微软宏汇编程序MASM 5.0。 宏指令——指用宏名进行宏调用,每条宏指令相当于多条硬指令和伪指令的组合。 7.1 汇编语言程序的源程序格式 本节从汇编语言程序的语句格式出发,给出第一个示范性的汇编语言源程序,并演示汇编语言程序的处理过程,即汇编语言程序的开发方法,包括: 编辑 汇编 连接 调试 语句格式 两类语句: 执行性语句———由硬指令构成的语句,它通常对应一条机器指令,出现在程序的代码段中: 标号: 硬指令助记符 操作数,操作数 ;注释 说明性语句——由伪指令构成的语句,它通常指示汇编程序如何汇编源程序: 名字 伪指令助记符 参数,参数,… ;注释 汇编语言语句实例 MOV CX,0 ;传送指令,具有2个操作数 DELAY: NOP ;空操作指令,没有操作数, ;带有标号 LOOP DELAY ;循环指令,标号DELAY说 ;明转移位置 BUFFER DB 1, 2, 3, 4, 5, 6, 7 ;数据定义伪指令,在主存中开辟7个连续的字节单元 ;初值依次为1~7,BUFFER表示它们的首地址 标号、名字与标识符 标号——用于硬指令的标识符,后跟冒号分隔。 名字——用于伪指令的标识符,后跟空格或制表符分隔,后面没有冒号。 标识符(Identifier)——最多由31个字母、数字及规定的特殊符号(如 _、$、?、@)组成,不能以数字开头。默认情况下,汇编程序不区别标识符中的字母大小写。 在一个程序中,每个标识符具有唯一的定义,并不能采用该汇编语言所定义的保留字。 保留字 保留字(Reserved Word)包括: 硬指令助记符——例如:MOV、ADD, 伪指令助记符——例如:DB、EQU、ORG, 操作符——例如:OFFSET、PTR, 寄存器名——例如:AX、CS, 系统预定义的符号——例如:@data。 汇编程序不区别保留字中的字母大小写。 硬指令与伪指令助记符 硬指令助记符——任何一条处理器指令。如 MOV、ADD。 伪指令助记符——将在本章和下一章学习,如,定义字节数据和字符串的 DB 。 操作数与参数 处理器指令的操作数可以是立即数、寄存器和存储单元。 伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号分隔。 注释 语句中由分号“ ; ”开始的部分为注释内容,用以增加源程序的可读性。 必要时,一个语句行也可以由分号开始作为阶段性注释。 汇编程序在处理源程序时将跳过该部分,做任何处理。 分隔符 语句的 4 个组成部分要用分隔符分开。 标号后用冒号,注释前用分号, 操作数之间和参数之间使用逗号分隔, 其他部分通常采用空格或制表符。 多个空格和制表符的作用与一个相同。 MASM支持续行符 “\”。 汇编语言源程序的组成原则 汇编语言源程序由若干逻辑段组成。 一个汇编语言源程序可以内含多个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列。 需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内。 通常,程序还需要一个堆栈段。 Hello 汇编语言源程序 源程序可以用两种格式来书写。 一种格式是从 MASM 5.0 才开始支持的: 简化段定义格式 另一种格式是在 MASM 5.0 以前就使用的: 完整段定义格式 在屏幕上显示一段信息 的汇编语言源程序。 例7.1a:简化段定义格式 ;lt301a.asm(文件名) .model small ;定义程序的存储模式 .stack ;定义堆栈段 .data ;定义数据段 string db ’Hello, Everybody !’,0dh,0ah,’$’ ;在数据段定义要显示的字符串 .code ;定义代码段 .startup ;程序起始点,建立DS、SS内容 mov dx, offset string ;指定字符串的偏移地址 mov ah, 9 int 21h ;利用功能调用显示信息 .exit 0 ;程序结束点,返回DOS end ;汇编结束 简化段定义格式 .

文档评论(0)

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

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

版权声明书
用户编号:8126037011000004

1亿VIP精品文档

相关文档