欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    汇编语言程序设计 (2).ppt

    • 资源ID:6304447       资源大小:2.36MB        全文页数:39页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言程序设计 (2).ppt

    ,4.1 引言,本节内容:一、计算机程序设计语言(分类、优缺点)二、汇编语言的格式(四分段格式)三、汇编语言的构成(指令性语句、指示性语句),一、计算机程序设计语言1 机器语言(Machine Language)2 汇编语言(Assembly Language)3 高级语言(High-Level Language),4.1 引言,一、计算机程序设计语言1机器语言(Machine Language)直接为计算机所识别和执行两种表示形式:1、二进制 2、十六进制如:表示MOV 20H,A,4.1 引言,4.1 引言,一、计算机程序设计语言2、汇编语言:由助记符、保留字、伪指令组成 又称为符号语言执行前需由汇编程序翻译成机器语言不独立于具体的计算机优点:可以直接操作到单片机内部的工作 寄存器和片内RAM单元,既精 练又功能强大,4.1 引言,一、计算机程序设计语言3、高级语言C(C+、C#)、BASIC等接近自然语言,只需掌握语法规则和程序 结构的设计。执行前需翻译成机器语言。功能强大、但必须在较高级的计算机上实现。,4.1 引言,扩展:C语言与汇编语言的对比汇编语言中,用MOV来回传送数据,C语言里,用等号表示数据传送;汇编语言中,用CALL转去执行子过程程序,C语言里,用个函数名调用子程序。汇编语言中,用JMP完成分支转移,C语言里用if、switch、while、for来判断跳转。汇编语言跟C一样可以给寄存器指定命名,然后对定义的名称进行操作。C语言具有大量函数的函数库,有更高的开发效率。面向应用,直接采用C语言;面向研究,从汇编语言开始;如果有时间,最好是用汇编语言学习单片机原理,用C语言进行单片机的应用开发。,二、汇编语言格式 四分段格式,4.1 引言,:,,,;,必选项,START:MOV A,#00H;A0,NOP,ORG 0060HSTART MOV A,#00H/A0 MOV R2,#0AH/R210 MOV R1,#03H/R13LOOP ADD A,R1/AA+(R1)DJNZ R2 LOOP/若 R210,则LOOP NOP SJMP END,4.1 引言,找错误,ORG 0060HSTART:MOV A,#00H;A0 MOV R2,#0AH;R210 MOV R1,#03H;R13LOOP:ADD A,R1;AA+R1 DJNZ R2,LOOP;若 R210,则LOOP NOP SJMP END,4.1 引言,二、汇编语言格式,4.1 引言,、标号字段个字符、可以有数字、具有一定意义的词、不能有保留字、又称标号地址。用于指明指令操作码字节的内存地址。注意:DJNZ R2,LOOP;若R210,则PCPC+2+rel;LOOP应理解为$-LOOP,二、汇编语言格式,4.1 引言,、操作码字段保留字(如:MOV、ADD、NOP等)助记符(如:ORG、END等)、操作数字段数的各种进制形式 寄存器 标号地址 表达式$、注释段,三、汇编语言构成指令性语句和指示性语句两类。指令性语句:的条指令。指示性语句:伪指令语句5条(不会产生机器直接执行的机器码),4.1 引言,ORG、END、EQU、DATA、DB,三、汇编语言构成伪指令:1ORG(起始汇编)伪指令指示汇编程序把代码从哪个单元开始存放2END(结束汇编)伪指令指示汇编源程序的结束,停止汇编,4.1 引言,ORG 0500HAA EQU R1A10 EQU 10HDELAY EQU 07E6H MOV R0,A10;R0(10H)MOV A,AA;AR1:LCALL DELAY;调用07E6H子程序 END,3EQU(赋值)伪指令,4.1 引言,三、汇编语言构成伪指令:,ORG 0200HAA DATA 35H;8位或16位 DELAY XDATA 0A7E6H;16位专用MOV A,AA;A(35H):LCALL DELAY;调用A7E6H子程序:END,4DATA(数据地址赋值)伪指令,4.1 引言,三、汇编语言构成伪指令:,ORG 0200HMOV A,AA;A(35H):LCALL DELAY;调用A7E6H子程序:AA DATA 35H;8位或16位 DELAY XDATA 0A7E6H;16位专用 END,4DATA(数据地址赋值)伪指令,4.1 引言,三、汇编语言构成伪指令:,DATA与EQU区别:DATA不能用寄存器等符号 有些程序16位数用XDATA赋值 有些程序EQU语句只能在开头,而DATA无限制,4.1 引言,三、汇编语言构成伪指令:,4DATA(数据地址赋值)伪指令,标号:DB 项或项表 ORG 0600H START:MOV A,64H:TAB:DB 45H,73,01011010B,8,B:END,5DB(定义字节)伪指令,4.1 引言,三、汇编语言构成伪指令:,如:IN1 BIT P1.0,6BIT(位地址定义)伪指令,4.1 引言,三、汇编语言构成伪指令:,与DB类似,只是定义的是16位(2个字节)如:ORG 2000HTAB:DW 100H,1A2H,7DW(定义字)伪指令,4.2 汇编语言源程序的设计和汇编,一、汇编语言程序设计,拟制任务书,建立数学模型,确立算法,绘制程序流程图,编写汇编源程序,上机调试,程序设计的步骤(如何使用单片机编程解决实际工程问题),分析问题,寻找解决方法,付诸实践,反馈修正,举例:用单片机替代人实现柴油机缸套水温度的自动控制,4.2 汇编语言源程序的设计和汇编,二、汇编语言源程序的汇编1、手工汇编指用手工把汇编语言源程序翻译成机器码的过程。遇到转移指令和标号在内的程序时,需要计算偏移量。较麻烦,易出错。2、机器汇编用计算机代替手工汇编,自动完成翻译工作。,4.2 汇编语言源程序的设计和汇编,扩展:MCS-51单片机的应用程序的完成,应经过三个步骤:(1)在PC上,运行编辑程序进行源程序的输入和编辑(.asm);(2)对源程序进行机器汇编得到机器代码(.hex);(3)通过PC的串行口(或USB口)把机器代码传送到用户样机(或在线仿真器)上进行程序的调试和运行。第一步,只需在PC上使用通用的编辑软件即可完成。第二步,机器汇编所用的汇编程序可在购买单片机的仿真开 发工具时,由厂商提供。第三步,要借助于单片机仿真开发工具进行。有时,在分析某些产品的程序的机器代码时,需将机器代码翻译成汇编语言源程序,称为“反汇编”。,1、自顶向下的顺序结构2、分支结构(含有转移指令)3、循环结构4、查表结构5、子程序结构,程序结构的种类,4.3 简单和分支程序设计,简单程序,分支程序,一、简单程序设计按照先后顺序依次执行,二、分支程序设计程序中含有转移指令,带符号数:正数最高位为0,负数最高位为1补码:正数的补码是原码,负数的补码/补码绝对值是除符号位外反码加1。如:+1-1原码 0000 0001B 1000 0001B 反码:1111 1110B 补码 0000 0001B 1111 1111B 01H 0FFH,复习:关于符号数、补码的定义,例3.10 已知一个16位二进制负数的低8位在内部RAM的NUM单元,高8位在NUM+1单元,试编出能求该16位二进制数的补码绝对值的程序。,解:低8位取反加一,进位位留在Cy,高八位取反,加上进位位,去掉符号位。,4.3 简单和分支程序设计,例3.11已知VAR单元(30H)内有一自变量X,请按如下条件编出求函数值Y并将它存入 FUNC(31H)单元的程序。,4.3 简单和分支程序设计,流程图:,MOV,JZ,JNB/JB,例3.11已知VAR单元(30H)内有一自变量X,请按如下条件编出求函数值Y并将它存入 FUNC(31H)单元的程序。,4.3 简单和分支程序设计,循环程序由以下四部分组成:1、循环初始化位于循环程序开头、做准备工作。如:设置循环计数器(存储循环次数)、工作寄存器(常作为指针)2、循环处理位于循环体内,重复执行、要求精炼和高效3、循环控制也在循环体内,由循环计数器修改和条件转移语句组成,控制循环次数。4、循环结束存放循环结果、恢复各工作单元初值,一、循环程序设计,4.4 循环和查表程序设计,循环程序由以下四部分组成:1、循环初始化位于循环程序开头、做准备工作。如:设置循环计数器(存储循环次数)、工作寄存器(常作为指针)2、循环处理位于循环体内,重复执行、要求精炼和高效3、循环控制也在循环体内,由循环计数器修改和条件转移语句组成,控制循环次数。4、循环结束存放循环结果、恢复各工作单元初值,一、循环程序设计,4.4 循环和查表程序设计,一、循环程序设计,4.4 循环和查表程序设计,流程图:,4.4 循环和查表程序设计,一、循环程序设计,例3.11 已知内部RAM的BLOCK单元开始有一无符号数据块,块长在LEN单元,试编出求数据块中各数累加和并存入SUM单元的程序。,流程图:,DJNZ,ADD A,R1,INC,4.4 循环和查表程序设计,一、循环程序设计,流程图:,4.4 循环和查表程序设计,一、循环程序设计,流程图:,4.4 循环和查表程序设计,二、查表程序设计,例3.13 已知R0低四位有一个十六进制数(0F中一个),试编出能把它转换成相应ASC码并送入R0的程序。,MCS-51指令系统有两条专门的查表指令:MOVC A,A+DPTR MOVC A,A+PC,解:方法1,根据ASC码字符表的规律,0-9的ASC码为30-39H,A-F的ASC码为41H-46H;方法2,在ROM中建表,使用时直接查表,4.4 循环和查表程序设计,二、查表程序设计,例3.13 已知R0低四位有一个十六进制数(0F中一个),试编出能把它转换成相应ASC码并送入R0的程序。,4.5 子程序设计,子程序是指完成确定任务并能为其它程序反复调用的程序段;1、调用时,使用LCALL或ACALL指令;2、返回时,子程序末尾使用RET返回指令3、子程序的第一条指令地址称为子程序的入口地址。4、计算机能自动保护和恢复主程序的断点地址。但各工作寄存器、特殊功能寄存器和内存单元中内容,如果需要保护和恢复的话,就必须在子程序开头和末尾安排一些能够保护和恢复它们的指令。,4.5 子程序设计,例 3.15 设内部数据存储器MDA和 MDB内有两数 a和 b,请编出求c=ab并把 c送入 MDC的程序。设a和b皆为小于10的整数。,ORG 1000HMDADATA 20HMDBDATA 21HMDCDATA 22HMOV A,MDAACALL SQRMOV R1,AMOV A,MDBACALL SQR,源码,ADD A,R1MOV MDC,ASJMP$SQR:ADD A,#01HMOVC A,A+PCRETSQRTAB:DB 0,1,4,9,16DB 25,36,49,64,81END,4.5 子程序设计,例 3.15 设内部数据存储器MDA和 MDB内有两数 a和 b,请编出求c=ab并把 c送入 MDC的程序。设a和b皆为小于10的整数。,平方和子程序的两种实现方式,SQR:ADD A,#01HMOVC A,A+PCRETSQRTAB:DB 0,1,4,9,16DB 25,36,49,64,81END,

    注意事项

    本文(汇编语言程序设计 (2).ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开