- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机第4章[全国重点大学课件]
第四章 汇编语言程序设计;§4.1 概述;4.1.2 编制程序的步骤;4. 分配内存,确定程序与数据区存放地址;
5. 编写源程序;
6. 调试、修改,最终确定程序。;4.1.3 方法技巧;4.1.4 汇编语言的规范;3.伪指令:控制汇编用的特殊指令,这些指令不属
于指令系统,不产生机器代码。;常用的伪指令;常用的伪指令;常用的伪指令;常用的伪指令;常用的伪指令;§4.2 汇编语言程序编辑和汇编;§4.3 程序设计基础与举例;org 1000h
start:mov dptr,#table
mov a,20h
movc a,@a+dptr
mov 21h,a
sjmp $
org 2000h
table:db 0,1,4,9,16,25
end;例2:将20H单元的压缩(Packed )BCD码拆成两个ACSII码存入21H、22H单元。;方法1;周期数 源程序;0? (21H) ; ORG 2000H
MOV R0,#21H
MOV @R0,#0
MOV A,20H
XCHD A,@R0
ORL 21H,#30H
SWAP A
ORL A,#30H
MOV 22H,A
END;4.3.2 分支程序;4.3.2 分支程序;例1:设变量x以补码形式存放在片内RAM 30H单元中,变量y与x的关系是:;A=?; ORG 1000H
START:MOV A,30H
JZ NEXT ;x=0,转移
ANL A,#80H ;保留符号位
JZ ED ;x0,转移
MOV A,#05H ;x0,不转移
ADD A,30H
MOV 30H,A
SJMP ED
NEXT:MOV 30H,#20H
ED:SJMP $; 4.3.3 循环程序;开始;循环控制的一般方法:
循环次数已知
利用循环次数控制
循环次数未知
利用关键字控制
利用“逻辑尺”
根据“逻辑尺”的内容,进行控制。;例1 : 50ms延时子程序。设晶振频率为12MHz,则机器周期为1us。;例2 将内部RAM中起始地址为data的数据串送到外部RAM中起始地址为buffer的存储区域中,直到发现‘$’字符,传送停止----循环次数事先不知道先判断,后执行。;?? 在实际应用中的循环程序中,有时会遇到在循环体内具有多分支结构的循环程序,每执行循环一次,程序应判断是按照规定好的次序去执行其他分支或重复执行某个分支。?? 对于这种结构的循环程序,我们可采用逻辑尺控制的方法实现。逻辑尺控制法首先应设计一把逻辑“尺”,即将字节、字或双字甚至将根据需要所设置的多字节中的各位表示不同操作,如果需在循环中执行更多分支,也可采用多位组合。
最常用而用简单的逻辑尺是用一位0或1???示两种不同的分支操作。如下例:例题:对一个部件的加工操作,根据设计要求,需通过两个不同的程序段来完成,并且执行程序段PRO1和PRO2的顺序和次数也有规定。?? 例如规定:PRO1(2次)→PRO2(3次)→PRO1(5次)→PRO2(4次) 请编程实现;分析:根据题目的特点和要求,我们采用逻辑尺控制法来编程。首先应设计定义一把逻辑尺。题目规定执行PRO1和PRO2共14次,因此采用一位的两种状态0或1来分别标志转向分支PRO1或PRO2.
N???? EQU?? 14???? ;定义循环的总次数RULE? EQU?? 183CH? ;定义逻辑尺CODE?? SEGMENT????? ASSUME CS:CODESTART: MOV AX,RULE??????? MOV CL,NLOP:?? SAL AX,1??????? JC? PRO2PRO1:??? ????????? .PRO2:????????? .NEXT:?? DEC CL??????? JNZ LOP??????? MOV AH,4CH??????? INT 21HCODE?? ENDS?????? END START; 4.3.4 子程序问题;; 4.3.5 码型转换程序的设计;例1 将一位十六进制数转换成ASCII码,设十六进制数存放在R0中,转换后的ASCII码放在R2中。
您可能关注的文档
- 十分钟装完xp系统[u大师启动盘使用方法].ppt
- 十一前出台新政解读[技术发展中心]201009.ppt
- 十章“浮力”第3节“物体的沉浮条件”课件.ppt
- 十种常用开关.电器好坏的判定方法.ppt
- 千与千寻-千寻性格分析.ppt
- 十月工作总结12680.ppt
- 升格人生没有《但是》1.ppt
- 千字文天地玄黄演示课件.ppt
- 升级Win10后VirtualBox不能用.ppt
- 半命题作文拟题技巧葛烛婷.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)