




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、概 述1汇编语言程序设计的步骤(1)分析问题。 (2)确定算法。 (3)画出程序流程图。 (4)分配内存单元。 (5)编写汇编语言源程序。 (6)汇编语言程序的调试。 2022/10/101页概 述1汇编语言程序设计的步骤(1)分析问题。 2022流程线端点符号处理符号判断符号连接符号实现流程图之间的连接程序的判断功能程序的处理功能单元程序的起始和结束程序执行顺序流程2022/10/102页流程线端点符号处理符号判断符号连接符号实现流程图之间的连接程基本结构程序设计 ABC入口出口(a)顺序结构图S1S2条件满足?入口出口(b)分支结构A条件满足?修改条件出口入口(c)循环结构 2022/10
2、/103页基本结构程序设计 ABC入口出口(a)顺序结构图S1S2条件一、顺序结构程序设计及举例例4-1 将片外数据存储器中2040H的内容拆成两段,其高4位存入2041H单元的低4位,其低4位存入2042H单元的低4位。 开始(DPTR)2040H取数送A,R0分离高4位高、低4位交换(2041H)结果分离低4位(2042H)低4位结束START:MOV DPTR,#2040H ; MOVX A,DPTR ;取数送A MOV R0,A ;数据暂存于R0 SWAP A ;(A)的高、低4位互换 ANL A,#0FH ;分离出(A)的低4位 INC DPTR ; MOVX DPTR,A ;将分离
3、结果送2041H单元 MOV A,R0 ;重新取数 ANL A,#0FH ;分离出(A)的低4位 INC DPTR ; MOVX DPTR,A ;将分离结果送2042H单元 END2022/10/104页一、顺序结构程序设计及举例开始(DPTR)2040H取数送例4-2 设数a存放在R1中,数b存放在R2中,计算 ,并将结果放入R4和R5中。开始Aa,BaABAAb,R4AAB,AACYR5A结束MOV A,R1 ;AaMOV B,A ;BaMUL AB ;计算CLR CSUBB A,R2;MOV R4,A ; 结果低8位送R4MOV A,B ; 高8位送ASUBB A,#00H ;MOV R
4、5,A ;END ;结束 低8位减b2022/10/105页例4-2 设数a存放在R1中,数b存放在R2中,计算 分支结构程序设计 在形成分支时,一般要有测试、转向和标识三个部分 ;测试:通过对程序状态寄存器PSW中各位状态的测试,或通过对指定的单元或指定的寄存器的某位或某些位或全部位的测试,判断某条件是否成立,决定是否转移,形成分支,MCS-51系列单片机指令系统中的条件转移类指令均具有这种测试功能,可用它们来实现。转向:根据测试结果决定程序的走向。在源程序中由转移类指令完成,在流程图中以菱形逻辑框表示走向。标识:对每个程序分支,给出一个标识,以标明程序转移的方向,一般将分支程序转向的第一个
5、语句赋予一个标号,作为此分支的标识。2022/10/106页分支结构程序设计 在形成分支时,一般要有测求符号函数,其中X在30H单元,结果y 放在31H单元 y=1,x00,x=0-1,x0?NN2022/10/107页求符号函数,其中X在30H单元,结果y 放在31H单元 ORG 1000HMOV A,30H;取x CJNE A,#00H,N2;比较x0,则转N2MOV A,#00HAJMP L2;若x=0,置A=0,转L2N2:JB ACC.7,M2;判x是否为负数,是转M2MOV A,#01H;判x不为负数,A置为01HAJMP L2M2:MOV A,#81H;若x是负数,置A为-1L2
6、:MOV 31H,A;A送结果单元END2022/10/108页ORG 1000H2022/10/98页设有两个16位无符号数NA,NB分别存放在8031单片机内部RAM的40H、41H及50H、51H单元中,当NANB时,将内部RAM的42H单元清0;否则,将该单元置成全1,试编制实现此功能的程序。YYNN开始 结果单元置大于标志结束NALNBL?NAL=NBL?NAH=NBH?NAHNBH? 结果单元置非大于标志YY2022/10/109页设有两个16位无符号数NA,NB分别存放在8031单片机内部ORG 1000HSTART1:MOV A,50H;取NB高8位CJNE A,40H,SUB
7、1;判NA高8位=NB高8位?若不相等,则转SUB1MOV A,51H;若高8位相等,则取NB低8位CJNE A,41H,SUB1;判NA低8位=NB低8位?若不相等,则转SUB1SJMP SUB2;若NA=NB,则转SUB2SUB1:JC SUB3;若NANB,则转SUB3SUB2:MOV 42H,#0FFH;NANB,则置非大于标志SJMP DONESUB3:MOV 42H,#00H;NANB,则置大于标志DONE:RETEND2022/10/1010页ORG 1000H2022/10/910页NAHNBH?YNN开始将R0置成大于标志结束NALNBL?NAL=NBL?NAH=NBH?将R
8、0置成非大于标志将R0送结果单元NNYNYY2022/10/1011页NAHNBH?YNN开始将R0置成大于标志结束NALNBORG 1000HSTART2:MOV R0,#00H;R0置成大于标志MOV A,50HCJNE A,40H,SUB1MOV A,51HCJNE A,41H,SUB1SJMP SUB2SUB1:JC SUB3SUB2:MOV R0,#0FFH;置R0为非大于标志SUB3:MOV 42H,R0END2022/10/1012页ORG 1000H2022/10/912页例4-5 散转程序某单片机应用系统有16个键,经键盘扫描程序得到某个键的键码值(00H0FH)存放在R7之
9、中,16个键盘的键处理程序入口地址分别为KEY1、KEY2、KEY16。 EXAMP:MOV A,R7 ;(A)键码ADD A,R7ADD A,R7 ;(A)(A)*3MOV DPTR,#TABJMP A+DPTR ;散转TAB:LJMP KEY0 ;转向第1个键的处理程序LJMP KEY1 ;转向第2个键的处理程序LJMP KEY16 ;转向第16个键的处理程序2022/10/1013页例4-5 散转程序EXAMP:MOV A,R7 循环结构与循环结构程序设计 循环初始状态循环控制条件循环体循环初始状态循环控制条件循环体2022/10/1014页循环结构与循环结构程序设计 循环初始状态循环控制条件循环体循例4-6 编一段程序完成下列计算 ,设n=10,Xi顺序存放在片内RAM从50H开始的连续单元中,所求的和放在R3及R4中。 开始in,Y0YXi+Yii1结束i=0?开始i0,Y0YXi+Yii+1结束i=n?2022/10/1015页例4-6 编一段程序完成下列计算 NSUN:MOV R2,#10;数组长度送R2MOV R3,#0;(R3)清零MOV R4,#0;(R4)清零MOV R0,#50H;数据块首址送R0LOOP: MOV A,R4 ADD A,R0MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年K2学校STEM课程实施效果对学生未来国际竞争力提升的推动评估报告
- 老年胰腺癌的诊治现状与策略2025
- Brand KPIs for online betting:1xBet in Mexiko-英文培训课件2025.5
- DeepSeek大模型赋能金融领域解决方案
- 彰武县积极推进互换并地工作的动因、成效及对策研究
- 空间视域下的文学地理学批评研究
- 线路测量试题及答案
- 湖北省六所名校2024-2025学年高一下学期4月期中联考语文试卷(含答案)
- 2025年河南省郑州外国语中学中考三模历史试题(含答案)
- 2025标准版工地工程合同样本
- 产品方案技术白皮书模板(含系统架构说明书)
- 高延性混凝土施工方案2020.1.14
- PE给水管道水压试验记录表
- 学校与地方的协议书
- 新生儿窒息诊疗规范
- 2023年生态环境综合行政执法考试备考题库(含答案)
- 2023年高中班级成绩分析报告例文2篇
- 2023商务部中国国际电子商务中心招聘2人笔试备考题库及答案解析
- 2023江苏高考真题生物(含解析)
- 同济大学数据库课程期末考核试卷(A卷)
- 动物生理学实验指导书
评论
0/150
提交评论