欢迎来到天天文库
浏览记录
ID:58716303
大小:462.00 KB
页数:67页
时间:2020-10-04
《第04章汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算术运算程序设计汇编语言程序的结构汇编语言概述第4章汇编语言程序设计非数值操作程序设计第4章汇编语言程序设计第一节汇编语言概述4.1汇编语言概述汇编语言是面向机器硬件的语言,要求程序设计者对MCS-51单片机具有很好的“软,硬结合”的功底。第4章汇编语言程序设计1.汇编语言与汇编的概念1.机器语言(machinelanguage)2.汇编语言(assemblylanguage)由助记符、保留字和伪指令等组成,容易被人们识别、记忆和读写,也称为符号语言或汇编语言。将汇编语言程序转换成为二进制代码表示的机器语言程序称为汇编程序。经汇编程序“汇编(翻译)”得到的机器语言程序称为目标程
2、序,原来的汇编语言程序称为源程序。3.高级语言(high-levellanguage)第一节汇编语言概述第4章汇编语言程序设计2.汇编语言源程序的格式采用汇编语言编写的程序称为汇编语言源程序。程序不能被计算机直接识别和执行,需人工或机器翻译成机器语言才能被计算机执行。为了使机器能识别和正确汇编,用户在程序设计时必须严格遵循汇编语言格式和语法规则,才能编写符合要求的汇编语言源程序。对MCS-51来说,汇编语言源程序有两种基本类型:指令语句和伪指令语句。第一节汇编语言概述第4章汇编语言程序设计(1)指令语句已在第3章介绍每一条指令语句在汇编时都产生一个指令代码――机器代码。(2)伪
3、指令语句是为汇编服务的,在汇编时没有机器代码与之对应。第一节汇编语言概述第4章汇编语言程序设计(3)MCS-51的汇编语言中每条语句典型的四分段格式标号字段:操作码字段,操作数字段;注释字段规则:标号字段和操作字码段之间要有冒号“:”相隔;2)操作码字段和操作数字段间的分界符是空格;3)双操作数之间用逗号相隔;4)操作数字段和注释字段之间的分界符用分号“;”相隔。操作码字段为必选项,其余各段为任选项。第一节汇编语言概述第4章汇编语言程序设计(3)MCS-51的汇编语言中每条语句典型的四分段格式例:ORG0080HSTART:MOVA,#00H;0→AMOVR1,#0AH;10→
4、R1MOVR2,#00000011B;3→R2LOOP:ADDA,R2;A+R2→ADJNZR1,LOOP;R1内容减1不为零,则循环NOPHERE:SJMPHEREEND程序共由9条语句组成,第1、9两条是指示性语句(伪指令),其余为指令性语句。第2、5两条是四分段齐全的语句,第3、4、6、7等四条是缺省标号段的语句,第7、9两条只有操作码字段。第一节汇编语言概述第4章汇编语言程序设计(4)基本语法规则1)标号字段位于一条语句的开头,是语句所在内存单元地址的标志符号。(1)标号后边必须跟以冒号“:”;(2)由1~8个ASCII字符组成(3)同一标号在一个程序中只能定义一次(4
5、)不能使用汇编语言已经定义的符号作为标号第一节汇编语言概述第4章汇编语言程序设计(4)基本语法规则2)操作码字段是指令的保留字(如上述程序中的MOV、ADD和NOP等),也可以是伪指令和宏指令的助记符(如ORG和END)。汇编语言指令中唯一不能空缺的部分,汇编程序就是根据这一字段来生成机器代码的。第一节汇编语言概述第4章汇编语言程序设计(4)基本语法规则3)操作数字段用于存放指令的操作数或操作数地址,可以采用字母和数字等形式。通常有单操作数,双操作数和无操作数三种情况。如果是双操作数,则操作数之间,要以逗号隔开。(1)十六进制、二进制和十进制形式的操作数表示。(2)工作寄存器和
6、特殊功能寄存器的表示。采用工作寄存器和特殊功能寄存器的代号来表示,也可用其地址来表示。(3)采用符号$。美元符号$常在转移类指令的操作数字段中使用用于表示该转移指令操作码所在的存储单元地址。4)注释字段第一节汇编语言概述第4章汇编语言程序设计3.伪指令指示性语句又称伪指令,简称伪指令。每种汇编语言都有自己的伪指令,伪指令和指令是完全不同的,伪指令不是真正的指令。是用来对汇编语言过程进行某种控制,或者对符号和标号进行赋值等,也称为汇编程序控制命令。只有在汇编前的源程序中才有伪指令,经过汇编得到目标程序(机器代码),伪指令没有相应的机器代码产生。第一节汇编语言概述第4章汇编语言程序
7、设计(1)汇编起始地址伪指令ORG(ORiGin)指令格式:ORG16位地址或标号;规定下面的目标程序的起始地址常用于汇编语言源程序或数据块的开头,用一条ORG伪指令来实现规定程序的起始地址。在一个源程序中,可以多次使用ORG指令,用来规定不同程序段的起始地址。但,规定的地址必须是从小到大,不容许各程序段之间地址重叠。一个源程序如不用ORG规定,则汇编得到的目标程序将从0000H开始。例:ORG3000HSTART:MOVA,#12H;规定标号START代表地址为3000H开始存放。第一节汇
此文档下载收益归作者所有