分享
分销 收藏 举报 申诉 / 64
播放页_导航下方通栏广告

类型第4章.汇编语言程序设计知识[new].ppt

  • 上传人:精****
  • 文档编号:12519520
  • 上传时间:2025-10-24
  • 格式:PPT
  • 页数:64
  • 大小:1.13MB
  • 下载积分:14 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    new 汇编语言 程序设计 知识
    资源描述:
    单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 汇编语言程序设计知识,概述,1.机器语言,2.汇编语言,3.高级语言,4.1,编制程序的步骤、方法和技巧,(P89.),4.1.1,编程的步骤,一、分析问题,二、确定算法,三、画程序流程图,四、编写程序,一、分析问题,对需要解决的问题进行分析,以求对问题由正确的理解。如:,解决问题的任务是什么?,工作过程?,现有的条件,已知数据,对运算的精度和速度方面的要求?,设计的硬件结构是否方便编程?,二、确定算法,算法是如何将实际问题转化成程序模块来处理。,在编程以前,先要对几种不同的算法进行分析、比较,找出最适宜的算法,三、画程序流程图,程序流程图是使用各种图形、符号、有向线段等来说明程序设计过程的一种直观的表示。,流程图步骤分得越细致,编写程序是也越方便。,画流程图是程序结构设计是采用的一种重要手段。,一个系统软件有总的流程图(主程序框图)和局部的流程图。,1.标号,标号,是用户定义的符号地址。,一条指令的,标号,是该条指令的符号名字,,标号的值,是汇编这条指令时指令的,地址,。,标号,由以英文字母开始的,1,8,个字母或数字组成,以冒号“,:,”结尾。,标号,可以由,赋值伪指令,赋值,如果没有赋值,汇编程序把存放该指令目标码第一字节的存储单元的地址赋给该标号,所以,,标号又叫指令标号。,操作码,操作数,注释段等,以在前面学习过。,流程图,例:,如图所示:,P3.2,和,P3.3,上各接有一只按键,要求它们分别按下,时(,P3.2=0,或,P3.3=0),分别使,P1,口为0或,FFH。,试画出程序流程图并编,写程序。,这是“查询”法编写的程序,问:,P3.2,、,P3.3,引脚的第,2,功能是什么?,P3.2,、,P3.3,引脚的第,2,功能分别是:外部中断,0,方式和外部中断,1,方式。,故,也可以采用“中断法”编写该原程序。,思考题:,如图所示,开关,K1,和,K2,未按下,时,两只发光二极管均不亮。当,按下,K1,时,使发光二极管,LED1,亮,,而发光二极管,LED2,不亮;当,按下,K2,时,,LED2,亮,而,LED1,不亮,如果按下,K1,、,K2,,则,LED1,和,LED2,均亮。,试编写程序实现上述功能。,4.1.2,编程的方法和技巧,(P91.),模块化设计(,按功能分:显示、打 印、输入、发送等),实际的应用程序一般都由一个主程序和多个子程序构成。每一程序模块都能完成一个明确的任务。,模块长度通常为,20,100,条较为合适。,2.,编程技巧,1,、,尽量采用循环结构和子程序,,以节省内存。,2,、,尽量少用无条件转移指令。以使程序条理更加清楚,减少错误。,3,、对于通用的子程序,考虑到其通用性,除了用于存放子程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈(返回前再弹出),,即保护现场。,4,、在中断处理程序中,除了要保护处理程序中用到的寄存器外,还要保护标志寄存器。,5,、用累加器传递入口参数或返回参数比较方便,,在子程序中,一般不必把累加器内容压入堆栈。,4.2 汇编语言源程序的编辑和汇编,(P106.),4.2.1 源程序编辑,4.2.2 源程序的汇编,4.2.,3,伪指令,4.2.1 源程序编辑,单片机的程序设计通常在微型计算机上,借助编辑软件(,如行编辑或屏幕编辑软件,),编写或修改汇编语言源程序。最终把汇编得到的目标程序(机器码)传送到单片机内并进行程序调试和运行。,4.2.2 源程序的汇编,汇编:,将汇编语言源程序转换为机器码表示的目标程序的过程。对单片机有:,一、手工汇编,二、机器汇编,三、反汇编,一、手工汇编,通过手工方式查指令编码表,逐个把助记符指令“翻译”成机器码,然后把得到的机器码程序键入单片机,进行调试和运行。,手工汇编的缺点:,1、,偏移量的计算容易出错,2、,程序的修改会引起后面指令地址的变化,转移指令的偏移量也要重新计算。,二、机器汇编,机器汇编是在计算机上使用交叉汇编程序进行源程序的汇编。汇编工作由机器自动完成,最后得到以,机器码表示的目标程序,。,三、反汇编,将二进制机器语言程序翻译成汇编语言程序的过程称反汇编。,汇编和反汇编的过程如图4-10所示,源程序,(汇编语言),目标码,(机器语言),汇编(汇编程序),反汇编(汇编程序),图4-10 汇编和反汇编过程,4.2,汇编语言程序编辑和汇编,1.编辑(源程序,以,.ASM,扩展名存盘);,2.汇编(手工或,机器汇编,);,例:,地址 目标码,源程序,ORG 1000H,1000H 747F,MOV A,#7FH,1002H 7944,MOV R1,#44H,END,4.2.3 常用的伪指令(,P108),伪指令:,不是真正的指令,无对应的机器码,在汇编时不产生目标程序,,只是用来对汇编过程进行某种控制。,4.2.3 常用的伪指令(,P108),ORG,(Origin,),汇编起始命令,功能:,定位目的程序的起始地址,,即汇编后生成目标程序存放的起始地址。,格式:,ORG 16,位地址,规定了,START,的地址是,0100H,,又规定了汇编后的第一条指令码从,0100H,开始存放。,机器码:,74H 64H,END,汇编语言程序结束伪指令。,功能:,通知汇编程序结束汇编。,在,END,之后所有,的汇编指令均不予以处理。,注:“,END”,指令一定要放在程序末尾!,“ORG”,在程序段中可多次使用,.,机器汇编时的格式,ORG 0000H ;,引导地址,AJMP MAIN ;,跳转到标号为“,MAIN”,的程序,,;,目的是避开,5,个中断源所用的空间,ORG 0030H ;,程序的第,1,条指令从,0030H,单元开始存放,MAIN:;,程序,END,未使用中断源时,ORG 0000H,AJMP MAIN ;,跳转到标号为“,MAIN”,的程序,ORG 000BH ;T0,的中断入口地址,LJMP INSER ;,跳转到标号为“,INSER”,的中断服务程序,ORG 0030H ;,程序的第,1,条指令从,0030H,单元开始存放,MAIN:;,主程序,INSER,:,;,中断服务程序,END,机器汇编时的格式,使用到,T0,中断源时,4.2.3 常用的伪指令(,P108),EQU,(,EQU,ate,),赋值伪指令。,格式:,字符名称,EQU,项(数值或汇编符号),功能:,把,“,项,”,赋给,“,字符名称,”,。,注意:,字符名称不等于标号(,其后没有冒号,);其中的项,可以是数,也可以是汇编符号。,EQU,赋值过的符号名可以用作数据、代码地址、位地址或一个立即数。可以是,8,位的,也可以是,16,位的。,4.2.3 常用的伪指令(,P108),DATA,数据地址赋值命令,格式:,字符名称,DATA,表达式,DATA,命令功能与,EQU,类似。,DATA,命令与,EQU,的差别:,4.2.3 常用的伪指令(,P108),DB,(,D,efine,B,yte),定义字节命令,格式:,DB,字节常数或,ASCII,字符,功能:,通知汇编程序从当前,ROM,地址开始,保留一个字或字节串的存储单元,并存入,DB,后的数据。,4.2.3 常用的伪指令(,P108),DW,(,D,efine,W,ord),定义字命令,格式:,DW,16,位数据项,或,项表,功能:,把,DW,后的,16,位数据项或项表从当前地址连续存放。每项数值为,16,位二进制数,高,8,位先放,低,8,位后存放。,DW,用于定义一个地址表,。,4.2.3 常用的伪指令(,P108),DS,定义存储空间命令,格式:,DS,表达式,功能:,在汇编时,从指定地址开始保留,DS,之后表达式的值所规定的存储单元以备后用。,课堂练习,P87.,题,35,4.2.3 常用的伪指令(,P108),BIT,位地址符号指令。,格式:,字符名称,BIT,位地址,功能:,把,BIT,后的位地址值赋给字符名。其中字符名不是标号,,其后没有冒号,,但字符名是必需的。,4.1.3,汇编语言程序的基本结构,(P92.),一、顺序程序,二、分支程序,三、循环程序,4.1.3,汇编语言程序的基本结构,一、顺序程序,顺序程序是最简单的程序结构,即顺序结构。,程序按顺序一条一条地执行指令,。,一、顺序程序,对,R0R3,清,0,,,R4,、,R5,置,1,,对,P1,口清,0,,片内,RAM,中,30H,、,40H,单元清,0,。,1).,采用立即数寻址方式,若采用寄存器寻址,则可大大减少占用存储单元。,2).,采用寄存器寻址方式,P95.,例,4-3,拆字。将片内,RAM 20H,单元的内容拆成两段,每,段四位。并将它们分别存入,21H,与,22H,单元中。,例如,(,20H,),=35H,,拆字后,(21H)=05H,(22H)=03H.,例,1,:,变量存放在内部,RAM,的,20H,单元中,其取值范围:,0,5,,查表法求其平方值,试编写程序。,解:,二、分支程序,程序分支是通过条件转移指令实现的,,即根据条件对程序的执行进行判断、满足条件则进行程序转移,不满足条件就顺序执行程序。,分支程序又分为,单分支,和,多分支结构,。,多分支程序,是首先把分支程序按序号排列,然后按序号值进行转移。,(一般用“散转指令”),二、分支程序,在,MCS-51,指令系统中,,通过条件判断实现单分支程序转移的指令有,:,JZ,、,JNZ,、,CJNE,、,DJNZ,等。此外还有,以位状态作为条件进行程序分支的指令,,如,JC,、,JNC,、,JB,、,JNB,、,JBC,等。使用这些指令可以完成,0,、,1,、正、负,以及相等、不相等作为各种条件判断依据的程序转移。,二、分支程序,P97.,例,4-6,128,种分支转移程序。,功能:,根据入口条件转移到,128,个目的地址。,入口:,(,R3,),=,转移目的地址的序号,00H,7FH,。,出口:,转移到相应子程序入口。,二、分支程序,二、分支程序,P99.,例,4-9,:,片内,RAM ONE,和,TWO,两个单元中存有两个无符号数,将两个数中的小者存入,30H,单元。,三、循环程序,在程序运行时,有时需要连续重复执行某段程序,可以使用循环程序。其结构包括四部分:,1、置循环初值,2、循环体(循环工作部分),3、修改控制变量,4、循环控制部分,其组织方式如下图4-6所示。,置初值,循环体,循环修改,循环控制,退出循环,未完,完,(a),置初值,循环体,循环修改,循环控制,退出循环,未完,完,(b),图4-6 循环组织方式流程图,1、置循环初值,对于循环程序中所使用的工作单元,在循环开始时应置初值。,例如,工作寄存器设置计数初值,累加器,A,清0,以及设置地址指针、长度等。,2、循环体(循环工作部分),重复执行的程序段部分,分为循环工作部分和循环控制部分。,循环控制部分每循环一次,检查结束条件,当满足条件时,就停止循环,往下继续执行其他程序,3、修改控制变量,在循环程序中,必须给出循环结束条件。,常见的是计数循环,当循环了一定的次数后,就停止循环。,在单片机中,一般用一个工作寄存器,Rn,作为计数器,对该计数器赋初值作为循环次数。每循环一次,计数器的值减1,即修改循环控制变量,当计数器的置件为0时,就停止循环。,4、循环控制部分,根据循环结束条件,判断是否结束循环。,89,C51,可采用,DJNZ,指令来自动修改控制变量并能结束循环。,X,P86.,习题,33.,阅读下列程序,说明该程序段的功能。,功能:,将片内,RAM,中,50H,59H,单元的内容清,0,。,软件延时程序(P101),当单片机的晶振确定后,每条指令的指令周期,就确定了。在指令表中(,P307.,附录,A),中可查,出每条指令的机器周期,故根据程序执行所用的,总的机器周期数,就可以较准确地计算程序执行,完所用的时间。,1.采用循环程序进行软件延时子程序,DELAY:MOV R2,#data ;,置循环控制常数,DELAY1:DJNZ R2,DELAY1,;,当(,R2),0,时,转向本身,RET,根据,R2,的不同初值,可实现3513(#,data=1255),个,机器周期的延时。,(第1条指令为1周期指令,第2条指令为2周期指令),2.采用双重循环的延时子程序,TIME:MOV R1,#0FAH ;1MC,L1:MOV R0,#0FFH ;1MC,W1:DJNZ R0,W1 ;2MC,内循环255次,DJNZ R1,L1 ;2MC,NOP ;1MC,NOP ;1MC,RET ;2MC,外循环 次,250,计算延时时间,t:,N=1+(1+2,X255+2)X250+1+1+2=128 255,个机器周期。,若采用的晶振为,f,osc,=6MHz,T=12/f,osc,=2,微秒,,则:,t=N,X,T=128255,X2=256510,微秒=256.51毫秒。,解:,晶振频率为,12MHz,,则机器周期为,1s,。设,R6=X,。,DELY:MOV R7,#200 ;1MC,,即,1s,L1:MOV R6,#,X,;1MC,,即,1s,L2:NOP ;1MC,,即,1s,DJNZ R6,L2 ;2MC,,即,2s,DJNZ R7,L1 ;2MC,,即,2s,RET ;2MC,,即,2s,内循环,例,1,:,编写,50ms,延时子程序。设晶振频率为,12MHz,。,外循环,下面分别计算,内循环,和,外循环,的延时时间,:,1.,内循环:内循环的循环次数为,X,次,循环一次内容为以下两条指令:,NOP ;1s,DJNZ R6,L2 ;2s,内循环延时时间为:,X,(1+2)=3,X,s,。,2.,外循环:外循环的循环次数为,200,,循环一次内容如下:,MOV R6,#,X,;1s,内循环,;3,X,s,DJNZ R7,L21 ;2s,外循环一次时间为,1s+3,X,s+2s=(3+3,x,)s,,,循环,200,次,另外加上第一条指令,“,MOV R7,#200”,为,1s,。,因此总的循环时间为:,1s+,(,3s+3,X,s,),200,。,1+(3+3,X,)200=50000,x,124,。,所以,50ms,延时子程序为:,DELY:MOV R7,#200,L1:MOV R6,#,124,L2:NOP,DJNZ R6,L2,DJNZ R7,L1,RET,例,2,:,要求二个,LED,交替“亮”与“灭”。亮、灭的时间为,50ms,。试画出硬件电路图和编写程序。,解:,1,)、硬件电路图如左图所示。,阅读程序:,P93,例,4-1,P95,例,4-3,P98,例,4-8,P99,例,4-9,、例,4-10,P102,例,4-12,。,作业,P85.,题,21,,,25,,,26,,,27,,,31,。,第4章,完,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:第4章.汇编语言程序设计知识[new].ppt
    链接地址:https://www.zixin.com.cn/doc/12519520.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork