chap04_汇编语言程序设计_0.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
烟台大学机电学院 微机原理与接口技术--基于IA-32处理器和32位汇编语言·第4版 第1章 微型计算机系统 第4章 汇编语言程序设计 4.1 概述/汇编语言的格式 4.2 语句行的构成 4.3 指示性语句 (伪操作) 4.4 指令语句 4.5 汇编语言程序设计及举例 4.1 概述/汇编语言的格式 4.1.1 汇编语言程序的建立 1,用编辑程序(edit.exe,写字板,记事本等)建立汇编语言源程序*.asm 2,用汇编程序asm,masm,tasm把源文件转换成用二进制代码表示的目标文件 *.obj,若有错误则返回修改. 3,用连接程序LINK.exe把目标文件与库文件或其他目标文件连接在一起形成可执行文件 *.exe, 4,由DOS装入存储器,在机器上运行。或用DEBUG(turbo debugger)调试程序。 4.1.2 汇编语言程序的一个例子 MY_DATA SEGMENT ; 定义数据段 SUM DB ? ; 为符号SUM保留一个字节 MY_DATA ENDS ; 定义数据段结束 MY_CODE SEGMENT ; 定义代码段 ASSUME CS:MY_CODE, DS:MY_DATA ;规定CS和DS的内容 PORT EQU 3 ; 端口的符号名 GO: MOV AX, MY_DATA ; DS初始化为MY_DATA MOV DS,AX MOV SUM, 0 ; 清SUM单元 CYCLE: CMP SUM,100 ;SUM单元与100相比较 JNA NOT_DONE ; 若未超过,转至NOT_DONE 汇编语言程序的一个例子(续) MOV AL, SUM ; 若超过,把SUM单元的内容… OUT PORT_VAL, AL ; 通过AL输出 HLT ; 停机 NOT_DONE: IN AL, PORT_VAL ;若未超过,输入下一个字节 ADD SUM, AL ; 与以前的结果累加 JMP CYCLE ; 继续循环,转至CYCLE MY_CODE ENDS ; 代码段结束 END GO ; 整个程序结束 源程序的格式 由此可见,汇编语言源程序分段,每一个段有一个名字,以符号SEGMENT作为段的开始,以语句ENDS结束,两者有相同的名字。 由若干段组成一个源程序,整个程序以语句END作为结束 每一个段又是若干个语句行组成,语句行是源程序的基础 汇编语言大小写不敏感,大小写均可,按习惯书写。 以作为续行标志 一个语句行由4部分组成 标号: 操作符 操作数 ;注释 CYCLE: CMP SUM,100 ; SUM单元与100相比较 4.2 语句行的构成 语句行由标记及分隔符按照一定的规则组织起来的。标记是宏汇编源程序的有意义的最小单位。 4.2.1 标记 1. 宏汇编的字符集 字母/数字/特殊字符:可打印字符, 非打印字符:空格,制表符(tab),回车cr(0DH),换行LF (0AH) 2.界符(Delimiters) 界符是一些特殊字符,利用它们可以表明某个标记的结束,它们本身也有一定的意义,这一点与分隔符(空格)不同。如 ,:等 .有了界符就不用分隔符。 MOV AL,30H 标记(续) 3.常量 可以是数字常量或字符常量。 4.标识符(Identifiers) 标识符是由程序员(用户)自由建立起来的、有特定意义的字符序列。一个标识符是由最多为31个字母、数字及规定的特殊字符(? @ _ $)等组成的,且不能用数字打头(以免与十六进制数相混淆)。(与高级语言中变量的定义相似) 5.保留字(Reserved words) 在语言中有特殊的定义,不能作为标识符使用。 如:MOV,SEGMENT,EQU,AL等,同C语言的if,for,while等 6.注释(Comment) 由分号;(英文非中文)引出,用来说明语句或程序的功能。 汇编程序对分号后的内容不做处理。 作用:注释程序,增强程序可读性。 4.2.2 符号(Symbol) 在汇编语言源程序中,为了使程序具有通用性和可读性,常用符号代替存储单元,符号是一种标识符,要符合标志符的组成规则。 在实际使用中的符号可以分成五类,即寄存器、变量、标号、数、其他符号等. 2.变量(variable) 存放在存储单元中的操作数,在程序中出现的是存储单元地址的符号,即变量名。(区别于高级语言,取地址 i ) 变量的3种属性:段值(segment);偏移量(offset);类型(type):字节(BYTE),字(WORD)和双字(dou

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档