第4章--汇编语言程序设计ppt课件.ppt

第4章--汇编语言程序设计ppt课件.ppt

ID:59207259

大小:698.00 KB

页数:30页

时间:2020-09-26

第4章--汇编语言程序设计ppt课件.ppt_第1页
第4章--汇编语言程序设计ppt课件.ppt_第2页
第4章--汇编语言程序设计ppt课件.ppt_第3页
第4章--汇编语言程序设计ppt课件.ppt_第4页
第4章--汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《第4章--汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编语言程序设计教学目的(1)了解汇编语言编程的基础知识。(2)了解汇编语言程序设计的基本步骤和方法。(3)了解汇编语言目标程序效率高、占存储空间少、运行速度快、实时性强等特点。(4)掌握MCS-51汇编语言的顺序、分支、循环及子程序的结构、设计。本章重点与难点分支程序、循环程序的设计子程序的编写与应用结束取数据低4位转换成ASCII码存ASCII码取数据高4位转换成ASCII码存ASCII码开始将30H单元内的两位BCD码拆开并转换成ASCII码,存入RAM两个单元31H和32H中,高字节存32H。例1ORG2000HMOV

2、A,30H;取值ANLA,#0FH;取低4位ADDA,#30H;转换成ASCII码MOV31H,A;保存结果MOVA,30H;取值SWAPA;高4位与低4位互换ANLA,#0FH;取低4位(原高4位)ADDA,#30H;转换成ASCII码MOV32H,A;保存结果SJMP$END设X、Y两个小于10的整数分别存于片内30H、31H单元,试求两数的平方和并将结果存于32H单元。例2结束取数据X求X2暂存X2取数据Y求Y2求X2+Y2开始保存平方和ORG2000HMOVA,30H;取30H单元数据MOVB,A;将X送入B寄存器MULAB

3、;求X2,结果在累加器中MOVR1,A;将结果暂存于R1寄存器中MOVA,31H;取31H单元数据MOVB,A;将Y送入B寄存器MULAB;求Y2,结果在累加器中ADDA,R1;求X2+Y2MOV32H,A;保存数据SJMP$;暂停ENDMOVDPTR,#2002HMOVXA,@DPTRMOVDPTR,#2004HMOVX@DPTR,AMOVDPTR,#2001HMOVXA,@DPTRMOVDPTR,#2003HMOVX@DPTR,AMOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#2002HMOVX@DPTR,A

4、SJMP$例3将地址为2000H、2001H、2002H的片外数据存储器单元的内容分别传送到2002H、2003H、2004H存储单元中去。例4字节加法程序 被加数在内部RAM的50H、51H、52H单元中;加数在内部RAM的53H、54H、55H单元中;相加之和存放在50H、51H、52H单元中,进位位存放在位寻址区的20H单元中。INCR0INCR1MOVA,@R0ADDCA,@R1MOV@R0,ACLRAADDCA,#00HMOVR0,#20HMOV@R0,AENDMOVR0,#50HMOVR1,#53HMOVA,@R0ADD

5、A,@R1MOV@R0,AINCR0INCR1MOVA,@R0ADDCA,@R1MOV@R0,A例5乘法运算设被乘数为16位无符号数,低8位存放在地址为K的单元,高8位存放在地址为K+1的单元。乘数为8位无符号数,存放在M单元。编程求出二者乘积,并将乘积的0~7位存放在R1,8~15位存放在R2,16~23位存放在R3中。16位无符号数与8位无符号数相乘的步骤示意如下:MOVR0,#K;设置被乘数地址指针MOVA,@R0;被乘数送A中MOVB,M;乘数送B中MULAB;(K)×(M)MOVR1,A;乘积的0~7位存入R1MOVR2,

6、B;暂存积的8~15位INCR0;指向被乘数高8位地址MOVA,@R0;取被乘数高8位MOVB,M;乘数送B中MULAB;(K+1)×(M)ADDA,R2;求得乘积的8~15位MOVR2,A;乘;积的8~15位存入R2MOVA,BADDCA,#00H;求;得乘积的16~23位MOVR3,A;乘;积的16~23位存入R3编程将内部RAM的20H单元和30H单元的内容互换.程序如下:ORG4000HSTART:MOVR0,#20HMOVA,@R0MOVR1,#30HXCHA,@R1MOV@R0,ASJMP$END练习设变量放在片内RAM

7、的60H单元,取值范围为00H~09H,要求查出变量的平方值,并放入片内RAM的61H单元.ORG4000HSTART:MOVDPTR,#TABMOVA,60HMOVCA,@A+DPTRMOV61H,ASJMP$TAB:DB00,01,04,09,16DB25,26,49,64,81END练习单分支转移结构举例仅有两个出口,两者选一。例6求单字节有符号数的二进制补码参考程序:CMPT:JNBAcc.7,RETURN;(A)>0,不需转换MOVC,Acc.7;符号位保存CPLA;(A)求反,加1ADDA,#1MOVAcc.7,C;符号

8、位存A的最高位RETURN:RET思考:该程序能否改进?例7片内RAMONE和TWO两个单元中存有两个无符号数,将两个数中的小者存入30H单元,大者存40H单元。MOVA,ONECJNEA,TWO,NEQSJMPSTORENEQ:JC

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

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

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