- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系列单片机程序设计(汇编部分)概论
第三章 51系列单片机程序设计;高级语言:;;例4、试判断A中的正负,若为正数,存入20H单元;若为负数则存入21H单元。;二、汇编程序的汇编过程
汇编有两种方法:手工汇编、机器汇编。 ;源程序 ;2、机器汇编
两次扫描过程。
第一次扫描:检查语法错误,确定符号名字;
建立使用的全部符号名字表;
每一符号名字后跟一对应值(地址或数)。
第二次扫描:是在第一次扫描基础上,将符号地址转换成
地址(代真);
利用操作码表将助记符转换成相应的目标码。 ;三、伪指令
伪指令是告诉汇编程序,如何汇编源程序的指令。
伪指令既不控制机器的操作,也不能被汇编成机器代码,
故称为伪指令。 ;3、赋值伪指令 EQU
告诉汇编程序,将汇编语句操作数的值赋予本语句的标号。
格式: 标号名称 EQU 数值或汇编符号
“标号名称”在源程序中可以作数值使用,也可以作数据地址、
位地址使用。 先定义后使用,放在程序开头。?
4、定义字节伪指令 DB
告诉汇编程序从指定的地址单元开始,定义若干字节存储单
元并赋初值。
格式: [标号:] DB 字节数据或字节数据表
5、定义字伪指令 DW
从指定地址开始,定义若干个16个位数据,高八位存入低地址;
低八位存入高地址。 ;例、 ORG 1000H
PIOI:DW 7654H,40H、12、‘AB’ ;7、定义空间伪指令 DS
从指定地址开始,保留由表达式指定的若干字节空间作
为备用空间。
格式: [标号:] DS 表达式
例2、 ORG 1000H
DS 0AH
DB 71H,11H,11H ;从100BH开始存放
;71H11H、11H。 ;;;§3-3 汇编语言程序的基本结构及应用举例;语句 3;一、顺序程序举例
例1、设在外RAM的60H单元存有1个字节代码,要求将其分解成两个4位字段,高4位存入原单元的低4位,其低4位存入61H单元的低4位,且要求这两个单元的高4位均为0,试编制完整程序。 ;解: 核心指令 ANL
ORL 1000H
MODE:MOV R0,#60H
MOVX A,@R0
MOV B,A
ANL A,#0F0H
SWAP A
MOVX @R0,A
ANL B,#0FH
MOV A,B
INC R0
MOVX @R0,A
END;二、分支结构与分支程序设计
结构:根据不同的条件,进行相应的处理。
通常用条件转移指令形成简单分支结构。
如: 判(A) = Z 或 NZ ,转移
判(CY)= 1 或 0 ,转移
判(bit)=1 或 0 ,转移
CJNE 比较不相等转移 ;例3、设a存放在累加器A中,b存放在寄存器B中,要求按下式
计算Y值,并将结果Y存于累加器A 中,试编写程序。
a-b (a≥0)
Y =
a+b (a 0) ;例4、设有两个16位无符号数NA,NB分别存放在8031单片机内部RAM的40H、41H及50H、51H单元中,当NA NB时,将内部RAM的42H单元清0;否则,将该单元置成全1,试编程。
解法I:因为无16位数的比较指令,所以,只能用8位数的比较
指令。
(画出流程框图);解: ORG 2000H
CMP:MOV A,50H
CJNE A,40H,CMP1
MOV A,51H
CJNE A,41H,CMP1
文档评论(0)