单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt

单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt

ID:50166280

大小:82.50 KB

页数:26页

时间:2020-03-09

单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt_第1页
单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt_第2页
单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt_第3页
单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt_第4页
单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt_第5页
资源描述:

《单片机原理及接口技术 教学课件 作者 陈雪丽 主编第四章 汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章汇编语言程序设计基本要求:能熟练编写各类一般难度的程序第一节汇编语言的构成一、汇编语言格式2.操作码[标号:]操作码[操作数][;注释]LOOP:MOVA,30H;A(30H)1.标号可有可无;字母打头;字母、数字、下划线组成;不超过8位;不与操作码相同。必不可少;不可更改。3.操作数可有可无;可一可二;可以是数或地址;可二进制、十进制、十六进制或ASCII码。4.注释可有可无;可各种文字或符号。第二节伪指令1.ORG----汇编起始[标号:]ORGaddr16如:ORG2000HSTART:MOVA,#20H2.END----结束汇编[标号:]END3.EQU-

2、---赋值标号名称EQU数或汇编符号AAEQUR1K1EQU40H4.DATA----数据地址赋值标号名称DATA表达式表达式----数、地址,不可是汇编符号AADATAR45.DB、DW、DS----定义字节、字、空间[标号:]DB字节常数[标号:]DW字常数[标号:]DS表达式(预留空间数)例1ORG2000HHETA:DB50H,85H,10,15汇编以后有:(2000H)=50H(2001H)=85H(2002H)=0AH(2003H)=0FH例2分析下列程序。ORG2000HDS08HDB30H,8AH,10,’B’DW54H,1F80H6.BIT----位地

3、址符号标号名称BIT位地址如:DBIT20.700H54H(2000H)=_____H(2008H)=_____H(200AH)=_____H(200BH)=_____H(200CH)=_____H(200DH)=_____H不定30H0AH42H第三节简单程序设计FIRSTEQU30HSECOEQU31HTHIREQU32HMOVA,20HMOVB,#64HDIVABMOVFIRST,AMOVA,BMOVB,#0AHDIVABMOVSECO,AMOVTHIR,BSJMP$ENDSJMP$即为LL:SJMPLL例3将20H单元中8位无符号数转换成3位BCD码,并分别放到

4、FIRST(百位)、SECO(十位)和个位THIR中。一、顺序结构FIRSTDATA30HSECONDDATA31HORG0200HMOVA,20HMOVB,#64HDIVABMOVFIRST,AMOVA,BMOVB,#0AHDIVABSWAPAORLA,BMOVSECOND,ASJMP$END例4已知20H单元有一个二进制数,请编程把它转换为三位BCD数送入FIRST单元的低四位,十位和个位BCD数在SECOND单元中(十位在高位)。二、分支程序设计例5以知VAR单元内有一个自变量X,请按如下条件编程求Y,并将它存入FUNC单元的程序段。1当X>0Y=0当X=0-1当

5、X<0ORG0010HVRADATA30HFUNCDATA31HMOVA,VARJZDONEJNBACC.7,POSIMOVA,#0FFHSJMPDONEPOSI:MOVA,#01HDONE:MOVFUNC,ASJMP$END例5*将例5的方程改为如下形式,设X,Y为无符号数,分别存放在地址X1和Y1中,试编写求值程序。1当X>20Y=020>=X>=10-1当X<10ORG2000HX1EQU20HY1EQU21HMOVA,X1CJNEA,#10,NEXT1NEXT1:JCLOOP1CJNEA,#21,NEXT2NEXT2:JNCLOOP2MOVY1,#00HSJMP

6、HALTLOOP1:MOVY1,#0FFHSJMPHALTLOOP2:MOVY1,#01HHALT:SJMP$END例6 将内部RAM30H开始的10个无符号字节数相加结果存入30H单元,设和不超过8位。MOVR7,#09HMOVR0,#31HMOVA,@R0LOOP:INCR0ADDA,@R0DJNZR7,LOOPMOV30H,ASJMP$例7设从内部RAM的BLOCK单元开始存放一组无符号数,数据长度存放在NUM单元,试编写程序求它们最小值,并存入MIN单元。ORG2000HBLOCKEQU31HMINEQU30HNUMEQU2FHSTART:DECNUMMOVR0

7、,#BLOCKMOVA,@R0LOOP1:INCR0MOVB,@R0CJNEA,B,NEXTNEXT:JCLOOPMOVA,BLOOP:DJNZNUM,LOOP1MOVMIN,AEND三、循环程序设计BLOCKAB例8设内部RAM中从地址BLOCK开始存放一组无符号数,只有最后一个数为0,其余均不为0,试编程判断AAH个数,存入NUM单元ORG2000HBLOCKEQU31HNUMEQU30HMOVR0,#BLOCKMOVNUM,#00HLOOP:CJNE@R0,#00H,LOOP1SJMPHALTLOOP1:CJNE@R0,#0AAH,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。