C汇编语言程序设计实用PPT学习教案_第1页
C汇编语言程序设计实用PPT学习教案_第2页
C汇编语言程序设计实用PPT学习教案_第3页
C汇编语言程序设计实用PPT学习教案_第4页
C汇编语言程序设计实用PPT学习教案_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1C汇编语言程序设计实用汇编语言程序设计实用第1页/共48页(5 5)编写相关说明。)编写相关说明。第2页/共48页图图4.1 4.1 程序的基本结构流程程序的基本结构流程第3页/共48页第4页/共48页例例4.1 4.1 将将20H20H中存放的压缩中存放的压缩BCDBCD数转换成二进制数数转换成二进制数存放在累加器存放在累加器A A中。中。第5页/共48页例例4.2 4.2 设两个设两个1616位无符号数,分别存放在位无符号数,分别存放在30H30H、31H31H单元和单元和32H32H、33H33H单元,求它们的和,结果保存单元,求它们的和,结果保存在在34H34H和和35H35H

2、单元中。默认为(低字节和高字节)单元中。默认为(低字节和高字节)第6页/共48页例例4.3 4.3 将内部将内部RAM30HRAM30H单元的高单元的高4 4位和位和31H31H单元的低单元的低4 4位拼成一个数,存入位拼成一个数,存入32H32H单元。单元。第7页/共48页例例4.4 4.4 计算计算Y=X1+X2Y=X1+X2X3X3X1=38H X1=38H ,X2=2AH X2=2AH , X3=19H X3=19H ,Y=BUFY=BUF第8页/共48页第9页/共48页例例4.5 4.5 设变量设变量X X存放于存放于VARVAR单元,函数值单元,函数值Y Y存放在存放在FUNCFU

3、NC单元。试按照下式的要求给单元。试按照下式的要求给Y Y赋值。赋值。100010 xyxx 第10页/共48页ORGORG8000H8000HCLRCLRC CMOVMOVA A ,40H40HSUBBSUBBA A ,41H41HJNCJNCLOOPLOOPMOVMOV42H 42H ,41H41HRETRETLOOPLOOP:MOVMOV42H 42H ,40H40HRETRET例例4.6 4.6 将存储单元将存储单元40H40H和和41H41H中较大的一个数存入中较大的一个数存入42H42H单元中单元中第11页/共48页初始化初始化y x y x取新数取新数 yN 10?yyNNEND

4、第12页/共48页编程如下:编程如下:第13页/共48页100010 xyxx 例例4.84.8 设变量设变量X X放在放在30H30H单元中结果放在单元中结果放在31H31H单元中单元中第14页/共48页n散转指令的用法:散转指令的用法:第15页/共48页n散转程序设计散转程序设计处理处理 0处理处理 1处理处理 nR7= ?01n第16页/共48页*AJMP AJMP 即把即把PCPC指向指向子程序的起始地址;子程序的起始地址;*R7 x 2 R7 x 2 是是AJMP AJMP A+DPTRA+DPTR的机器码匹配;的机器码匹配;此处此处 n127;n127;*如用如用LJMP A+DP

5、TRLJMP A+DPTR,则则R7 x 3, R7 x 3, 程序还要程序还要作相应修改。作相应修改。第17页/共48页例例4.10 4.10 根据根据50H50H单元内容转向各处理程序,处理单元内容转向各处理程序,处理程序的入口地址分别是程序的入口地址分别是 KEY0KEY0、KEY1KEY1、KEY2KEY2、.KEYn .KEYn 。 (散转指令)(散转指令)第18页/共48页例例11: 11: 行李计价:行李计价:当当G5G5,M=GM=G3 3;当当G G5 5,M=GM=G3+(G-3+(G-5)5)(5-3)(5-3)指出本程序的条件限制指出本程序的条件限制第19页/共48页第

6、20页/共48页第21页/共48页例例4.12 4.12 在外部在外部RAM 2000HRAM 2000H单元开始存放有单元开始存放有2020个无符号数,个无符号数,找出其最大值,把它放在内部找出其最大值,把它放在内部RAM30HRAM30H单元中。单元中。第22页/共48页例例4.13 4.13 编写无符号数排序程序。假设在片内编写无符号数排序程序。假设在片内RAMRAM中,起始中,起始地址为地址为40H40H的的1010个单元中存放有个单元中存放有1010个无符号数。试进行升个无符号数。试进行升序排序。序排序。第23页/共48页第24页/共48页第25页/共48页第26页/共48页例例4.

7、8 4.8 编写编写50ms50ms软件延时程序。软件延时程序。DELDEL:MOVMOVR7 R7 ,#125#125;执行时需;执行时需1 1个机器个机器周期周期DELIDELI:MOVMOVR6 R6 ,#200#200DEL2DEL2:DJNZDJNZR6 R6 ,DEL2 DEL2 ;200 200 2=400s 2=400s;(内循环时间);(内循环时间)DJNZ R7 DJNZ R7 ,DEL1DEL1 ;0.4 ms 0.4 ms 125=50ms125=50ms;(外循环时间);(外循环时间) RETRET第27页/共48页1niiyx 例例4.14 4.14 一组一组101

8、0个数存放在片内个数存放在片内RAM 50HRAM 50H开始的连开始的连续单元,求和,高字节放续单元,求和,高字节放R3R3,低字节放,低字节放R4R4中。中。第28页/共48页源程序:源程序:第29页/共48页解释:解释:MOVMOVA , R4 A , R4 ADDADDA , R0 A , R0 MOVMOVR4 , AR4 , ACLRCLRA A ADDCADDCA , R3 A , R3 MOVMOVR3 , AR3 , A(50H)中是什么,不知道,)中是什么,不知道, 不能用不能用 ADD A,50H第30页/共48页第31页/共48页例例4.15 4.15 计算计算X X2

9、 2,设,设X X为小于为小于1010的非负整数,存放在内部的非负整数,存放在内部RAM 20HRAM 20H单元中,结果保存在内部单元中,结果保存在内部RAM 21HRAM 21H单元中。单元中。第32页/共48页例例4 4. .16 16 利用查表法求函数值利用查表法求函数值Y=3XY=3X2 2,X=0X=09 9。设。设X X存放在存放在30H30H单元中,单元中,Y Y存放在存放在31H31H单元中。单元中。第33页/共48页CALL SCALL S主程序主程序子程序子程序SRET第34页/共48页指令指令结束结束。第35页/共48页果,这就是所谓的参数传递。果,这就是所谓的参数传递

10、。第36页/共48页n子程序的设计的要点子程序的设计的要点第37页/共48页n关于子程序与主程序之间的参数传递关于子程序与主程序之间的参数传递p选用不同的参数传递方式。选用不同的参数传递方式。 寄存器传送参数寄存器传送参数存储器传送参数存储器传送参数堆栈传送参数堆栈传送参数p应满足通用性的要求,不针对具体数据编程应满足通用性的要求,不针对具体数据编程如:如:1.1.子程序功能为求单字节数的立方:子程序功能为求单字节数的立方:A AA A3 3,入口参数和出口参数为:入口参数和出口参数为:A A2.2.子程序功能为求单字节数的子程序功能为求单字节数的n n次方:次方:(41(41H)(42H)H

11、)(42H)(40H)(40H)A A,入口参数:入口参数:(40H)(40H)和和A A,出口参数:出口参数:(42(42H)(41H)H)(41H)。第38页/共48页cba22第39页/共48页第40页/共48页第41页/共48页例例4.19 4.19 (1 1)十六进制数转换为)十六进制数转换为ASCIIASCII码;(码;(2 2)ASCIIASCII码码转换为十六进制数转换为十六进制数(09的的ASCII码:码:3039H,AF的的ASCII码:码:4146H)(2 2)解)解AHEXAHEX:CLR CCLR CSUBBSUBBA A ,#30H#30HN N: JC JC N1

12、N1SJMPSJMPAEAEN1N1:SUBBSUBBA A ,#11H#11HCJNECJNEA A,#06H #06H ,N2N2N2N2:JNC ERRJNC ERRADDADD A A ,#0AH#0AHSJMP SJMP AEAEERRERR:MOV AMOV A,#0FFH#0FFHAEAE:RETRET(1 1)解)解HASCHASC:CJNECJNEA A ,#0AH #0AH ,N NN N:JNC JNC N1N1ADDADDA A ,#30H#30HSJMPSJMPSESEN1N1:ADDADDA A ,#37H#37HSESE:RETRET第42页/共48页第43页/共

13、48页4.15 4.15 MOV R2,#04MOV R2,#04MOV R0,#30HMOV R0,#30HMOV R1,#40HMOV R1,#40HCLR CCLR CLOOP:LOOP:MOV A,R0MOV A,R0SUBB A,R1SUBB A,R1MOV R0,AMOV R0,AINC R0INC R0INC R1INC R1DJNZ R2,LOOPDJNZ R2,LOOP第44页/共48页4.174.17LED: DB 3FH,06H,5BH,4FH,66H,6DH,LED: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,83H,

14、C7DH,07H,7FH,6FH,77H,83H,C6 6H,A1H,86H,8EHH,A1H,86H,8EHMOV DPTR,#LEDMOV DPTR,#LEDMOV A,A+DPTRMOV A,A+DPTR4.18 4.18 对对X X单元求绝对值并将结果送到单元求绝对值并将结果送到Y Y存储单元。存储单元。第45页/共48页4.204.20ORG 2000HORG 2000HMOV R2,20MOV R2,20MOV 30H,#00HMOV 30H,#00HMOV R0,#40HMOV R0,#40HLOOP:LOOP:MOV A,R0MOV A,R0CJNE CJNE A,30H,NEXT1A,30H,NEXT1NEXT1:JC NEXTNEXT1:JC NEXTMOV 30H,AMOV 30H,ANEXT:NEXT:INC R0INC R0DJNZ R2,LOOPDJNZ R2,LOOPSJMP $SJMP $ENDEND第46页/共48页4.224.22ORGORG2000H2000HCLRCLRC CMOVMOVA,30HA,30HSUBBSUBBA,31HA,31HJNBJNBACC.7,POACC.7,POSISI CPLC

温馨提示

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

评论

0/150

提交评论