- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计4.1 编程的步骤 汇编语言程序设计,要求设计者对计算机的硬件结构(包括微机CPU、存贮器结构、接口电路、外部设备特性等)有详细了解,此外应熟悉CPU的指令系统和编程的基本技巧。 一. 分析问题:任务是什么?工作过程(顺序)?现有条件(硬件结构)、已知数据、运算精度、处理速度等。 二. 确定算法:将实际问题转化为程序处理模块。 三 . 画程序流程图: 椭圆(或桶型):程序的开始 、结束。 矩形框:要进行的工作。 菱形框:判断,框内为判断内容。 圆圈:程序连接点。 指向线:程序流向。 子程框:框内为子程名。 画流程图时,按程序处理的顺序,由上至下逐步绘制。对于复杂的系统,可先画总体流程图(主程序框图),再画各模块的局部框图。 四 . 编制程序 为便于理解程序,可以在程序中添加注释。在一行语句中,分号“;”后面的内容为注释。注释部分经汇编后不会生成任何机器指令码。若“*”在一行语句的第一列,则表示该行 为注释。 注意:汇编指令中的冒号(:)、逗号(,)、分号(;)、星号(*)等标点符号要在英文状态下输入才合法,如果在中文状态下输入,编译器会认作非法字符,在编写汇编代码时应该注意把输入法的状态切换到英文输入状态。 5.4 HCS08 CPU与HC08 CPU的比较 4.2 08汇编语言基础 4.2.1 08汇编源程序格式 把汇编语言写成的源程序“翻译”成机器语言的工具叫汇编程序或编译器(Assembler),以下统一称作编译器。 汇编语言源程序可以用通用的文本编辑软件书写编辑,以ASCII码形式存盘。具体的编译器对汇编语言源程序的格式有一定的要求,同时,编译器除了识别单片机的指令系统外,为了能够正确地产生目标代码以及方便汇编语言的编写,编译器还提供了一些在汇编时使用的命令、操作符号,在编写汇编程序时,也必须正确使用它们。由于编译器提供的指令仅是为了更好地做好“翻译”工作,并不产生具体的机器指令,因此这些指令被称为伪指令(Pseudo Instruction)。 汇编语言源程序以行为单位进行设计,每一行最多可以包含以下四个部分: 标号 操作码 操作数 注释 5.4 HCS08 CPU与HC08 CPU的比较 (1)标号(Labels) 对于标号有下列要求及说明: 如果一个语句有标号,则标号必须从第一列开始书写。 可以组成标号的字符有:字母A~Z、数字0~9、下划线“_”、美元符号“$”,但开头的第一个符号不能为数字和$。 08编译器不区分标号中字母的大小写。 标号应小于16个字符。 标号后可以带冒号“:”,也可以不带冒号。 一个标号在一个程序中只能定义一次。 若一行中第一个字符是星号“*”,这是标号,表明该行为注释。 一行语句若只有标号,编译器将把当前程序计数器的值赋给该标号。 若希望更多的编译器能够识别,建议标号长度小于8个字符。 “#”表示立即数。 操作码不能从第一列开始,否则会被当成标号. (2)操作码(Opcodes) 操作码包括指令码以及后面即将介绍的08编译器可以识别的伪指令码。对于有标号的行,必须用至少一个空格或制表符(TAB)将标号与操作码隔开。对于没有标号的行,不能从第一列开始写指令码,应以空格或制表符(TAB)开头。08编译器不区分操作码中字母的大小写。 (3)操作数(Operands) 操作数可以是地址、标号或指令码定义的常数,也可以是由伪运算符构成的表达式。08编译器识别下列伪运算符:加(+)、减(-)、乘(*)、除(/)、特殊除(\,允许被除数为0,此时认为结果也为0)、左移()、右移()、取余数(%)、与()、或(|)、异或(^)。如果超过一种运算或中间有插入空格应使用{}把它们包含在内。 (4)注释(Comments) 注释即是说明文字,若是处于指令之后,则用空格和分号“;”与指令分开,若整行为注释文字,则在第一列写上“;”或“*”。 HCS08伪指令 4.2.2 伪指令(Pseudo): 在汇编程序中定义的各种汇编命令。用以指定程序的实际存放地址、定义各种文字符号的数值等。这些命令并不产生机器码,仅起到汇编时的辅助作用。 以下为HCS08汇编程序中定义的一些常用伪指令。 ㈠. 汇编起始命令: 格式: ORG 16位地址 功能:定义此指令后面源程序的汇编地址(目标程序存放的首地址) 例: ORG 2000H
文档评论(0)