第3章-MCS-51单片机指令系统-34语言程序的基本形式_第1页
第3章-MCS-51单片机指令系统-34语言程序的基本形式_第2页
第3章-MCS-51单片机指令系统-34语言程序的基本形式_第3页
第3章-MCS-51单片机指令系统-34语言程序的基本形式_第4页
第3章-MCS-51单片机指令系统-34语言程序的基本形式_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.4汇编语言程序的基本形式

ORG/END/DB/

DW/BIT

EQU/DATA

程序框架ORG0000H LJMPMAIN ;跳转至主程序ORG0003H LJMPINT0_INT;跳转至外部中断0的中断服务程序ORG000BH LJMPT0_INT;跳转至定时器0的中断服务程序ORG0013H LJMPINT1_INT;跳转至外部中断1的中断服务程序

•••ORG0030HMAIN:••• ;开始写主程序

END中断入口地址主程序开始3.4汇编语言程序的基本形式3.4.1汇编语言程序设计概述3.4.2汇编语言程序设计步骤3.4.3伪指令3.4.1汇编语言程序设计概述单片机面向最底层硬件接口PC机可以调用操作系统的中断功能或WINDOWS的API函数汇编语言程序设计中的数计算机只能识别二进制数——机器指令十六进制数、十进制数:不识别机器指令/目标代码由0/1代码组成的操作码与操作数二进制数由0/1组成、“逢2进1”的数制如:01011110B(0~1后缀:B/b)十六进制数二进制数的简写形式——便于读写记忆0~9,A~F,后缀:H/hBCD码用二进制数表达的十进制数0~9表示为:0000~1001B,后缀:B/b、H/h汇编语言编程基本规则汇编语言用助记符描述的指令的集合汇编语言编写的程序借助编译工具编译成为目标代码,计算机才能识别汇编把汇编指令编写的程序转换成机器程序:手工、自动汇编程序即:编译工具——汇编程序→软件→

工具→工具软件应用程序汇编语言指令格式[标号:]操作码[目的操作数][,源操作数][;注释]注意:A—F开头的十六进制数前面必须添一个“0”二进制数必须带后缀“B”或“b”十六进制数必须带后缀“H”或“h”十进制数的后缀是“D”或“d”或无3.4.2汇编语言程序设计步骤(1)分析题意,明确要求(2)确定算法(3)画程序流程图,描述、说明解题步骤(4)分配内存工作单元,确定程序与数据的存放地址(5)编写源程序(6)程序优化(7)上机调试、修改和最后确定源程序3.4.3伪指令机器语言二进制(可缩写为十六进制)代码表示指令和数据伪指令不进行具体的操作,没有机器码功能:控制汇编程序告诉汇编程序在翻译应用程序时有何具体约定如:汇编时,确定哪些是数据、数据的状态,程序的起始和终了地址等等告诉计算机如何操作以及做何种操作(真)指令1.定位伪指令 ORG2.汇编结束伪指令END3.字节数据定义伪指令DB4.字数据定义伪指令DW5.赋值伪指令EQU6.位地址符号定义伪指令BIT7.数据地址赋值伪指令DATA8.定义空间指令

DS1.定位伪指令 ORG格式

ORG表达式表达式:16进制地址或已定义的标号地址功能说明下面的程序段或数据段存放的起始地址注意若源程序首省略

ORG,则源程序段从ROM

的0000H单元开始存放在一个源程序中可多次用ORG地址值由小到大依序排列,不允许空间重叠程序框架ORG0000H LJMPMAIN ;跳转至主程序ORG0003H LJMPINT0_INT;跳转至外部中断0的中断服务程序ORG000BH LJMPT0_INT;跳转至定时器0的中断服务程序ORG0013H LJMPINT1_INT;跳转至外部中断1的中断服务程序

•••ORG0030HMAIN:••• ;开始写主程序

END中断入口地址主程序开始2.汇编结束伪指令END格式

END功能遇到END结束汇编注意END之后的程序将不处理3.字节数据定义伪指令DB格式

[标号:]DB字节数据表字节数据表数值00~FFH(十进制/十六进制/二进制等)负数:补码存入字符引号(“

”/‘

’)括起来,ASCII码存入功能从标号指定地址开始,在ROM中存字节数据[例] ORG 1000HTAB: DB -2,‘A’,100,30H1001H1002H1003H1004H1000H-2的补码字符‘A’的ASCII码0FFFH0FEH41H64H30H100地址增加ROM4.字数据定义伪指令DW格式

[标号:]DW字数据表功能在ROM中,从标号指定的地址开始存字数据注意16位高8位→低地址单元低8位→高地址单元高8位→低地址单元低8位→高地址单元字数据存放时:[例1] ORG 1000HTAB: DW1234H,0ABH,10

34H00H0ABH00H0AH1002H1003H1004H1005H1001H12H1000H与微机原理中相反!ROM[例2] ORG 1000HTAB: DW1234H,0ABH,10TA1: DW TABTA2: DW TA1,TA2

DB 55H,TA2

34H00H0ABH00H0AH1002H1003H1004H1005H1001H12H1000HTABTA110H1006H00H1007HTA210H1008H06H1009H10H1008H08H1009H55H1008H08H1009HROM注意DB、DW都只对ROM

起作用不能对RAM进行赋值或初始化5.赋值伪指令EQU格式符号名EQU表达式[例]SG EQU R0 ;SG与R0等值DE EQU 40H ;DE与40H等值MOV A,SG MOV R7,#DE ;(A)←(R0);(R7)←#40H6.位地址符号定义伪指令BIT格式符号名BIT位地址表达式位地址表达式绝对地址或符号地址[例] MN BIT P1.7 G5 BIT 02H

汇编后:位地址P1.7MN

位地址02HG5等价等价7.数据地址赋值伪指令DATA格式符号名DATA数或表达式DATA

与EQU

类似,差别是①定义的位置DATA:可以“

先使用后定义”EQU:必须“

先定义后使用”由具体仿真环境决定②符号名EQU汇编符号→符号名数值→符号名DATA只能数据→符号名表达式(可计算的)→符号名X1EQUR0X2EQU12HX3DATAR1X4DATA15HX5DATA12H+13HX6 EQU 12H+13HX7DATA#12HX8EQU#33H√×

?√√×√√√×[例]×不能是汇编符号不能是#8.定义空间指令DS格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论