- 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章 汇编语言程序设计;;; 程序结构
模块设计
开发方法
自底向上开发:首先对最底层模块进行编码,测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。
自顶向下开发:首先对最高层进行编码和调试。;4.1.2 80C51汇编语言的伪指令;2. 汇编结束伪指令
汇编结束伪指令一般格式如下:
格式1:〈字符名称〉END〈表达式〉
格式2:〈字符名称〉END或者END
该指令是汇编语言源程序的结束标志,在END以后所写的指令,汇编程序都不予处理。因此,在一个源程序中只允许出现一个END语句,它必须放在整个程序的最后。; 3. 赋值伪指令
赋值伪指令一般格式如下:
〈字符名称〉EQU〈表达式〉
该指令的功能是将“表达式”赋给“字符名称”。
例:LOOPEQU2007H;LOOP=2007H
解:用EQU指令给一个字符名称赋值之后,在整个程序中该字符名称的值都是固定的,不能更改。若需更改,需用伪指令DL重新定义赋值。;4. 数据地址定义指令
数据地址定义指令一般格式如下:
〈字符名称〉DATA〈表达式〉
DATA伪指令的功能与EQU有些相似,使用时要注意它们有以下区别:
①EQU伪指令必须先定义后使用,而DATA伪指令可以后定义先使用;
②用EQU伪指令可以把一个汇编符号赋给一个字符名称,而DATA只能把数据赋给字符名称;
③DATA伪指令可将一个表达式的值赋给一个字符名称,所定义的字符名称也可以出现在表达式中,而EQU定义的字符则不能这样使用。DATA伪指令在程序中常用来定义数据地址。;5.定义标号值伪指令
定义标号值伪指令一般格式如下:
〈字符名称〉DL〈表达式〉
例:COUNT DL4064H ;定义标号COUNT的值为4064H
COUNT DL COUNT+3 ;重新定义COUNT的值为4064H+3
解:DL和 EQU的功能都是将表达式值赋予标号,但两者有差别:可用DL语句在同一源程序中给同一标号赋予不同的值,即可更改已定义的标号值;而用EQU语句定义的标号,在整个源程序中不能更改。 ;6.定义字节伪指令
定义字节伪指令一般格式如下:
〈字符名称〉 DB 〈表达式或表达式列表〉
定义字节伪指令是在程序存储器的某一部分存入一组8位二进制数,或者将一个数据表格存入程序存储器中。这个伪指令在汇编以后,将影响程序存储器的内容。
例:ORG4000H
TABLE DB45H,67,100,32,00,-2 ;7. 定义字伪指令
定义字伪指令一般格式如下:
〈字符名称〉 DW 〈表达式或表达式表〉
DW是从指定的地址开始定义若干16位数据,且把字的高字节数存入低地址单元,低字节数存入高地址单元,按顺序连续存放。
例:DW 7064H,1234H,209H
说明:表示按顺序存入70H,64H,12H,34H,02H,09H。;8. 定义存储区伪指令
定义存储区伪指令一般格式如下:
〈字符名称〉 DS 〈表达式〉
定义存储区伪指令是从指定的地址开始,保留若干字节的内存空间以作备用。汇编时,对这些单元不赋值。
例:ORG 4000H
DS 9H
DB 86H,A7H;9. 位地址符号伪指令
位地址符号伪指令一般格式如下:
〈字符名称〉 BIT 〈位地址〉
位地址符号伪指令是对位地址赋予所规定的字符名称。
说明:其中,位地址可以是绝对地址,也可以是符号地址。
例:A1 BIT P2.1
A2 BIT P3.0;例:8051单片机常用伪指令的应用举例。
ORG 6070H
BUFFER DS 45H
DW “E F”
DW 1100H,209H,-814
解:① 汇编后程序将6070H至60B4H空间作为缓冲区空间;
② (60B5H)= ‘E’,(60B6H)= ‘F’;
③ 60B7H单元起存放11H、00H、02H、09H、FCH、D2H 。
;4.2 顺序结构程序设计;4.2.1 数据传送程序设计;例2:现有两个双字节无符号数,分别存在R3R4H,R5R6中,高字节在前,低字节在后,通过编程使两数相加,和数存放在20H21H22H单元中。
解: ORG 4000H
CLR C ;清C
MOV A,R4 ;把被加数的低位放到A
ADD A,R6 ;将加数和被加数的低位相加
MOV 22H,A ;把结果的低位存入22H单元
MOV A,R3 ;把
您可能关注的文档
最近下载
- 绿色工厂培训课件.pptx VIP
- 8+新能源项目预收购(转让)协议.docx VIP
- SL∕T 617-2021 水利水电工程项目建议书编制规程.pdf
- 2025年高考化学河北卷及答案(新课标卷).docx VIP
- 天津《温拌沥青混合料超薄罩面技术规程》DBT 29-210-2022.pdf
- 2010年考研英语二真题答案及解析.pdf VIP
- 2024浙江嘉兴市海盐县交通投资集团有限公司第二轮招聘12人笔试模拟试题及答案解析.docx VIP
- 消毒剂消毒效果及储存效期验证方案.docx VIP
- 电工仪表及测量第一章 测量与电工仪表的基本知识.ppt VIP
- 浙江省计算机二级办公软件高级应用技术真题.doc VIP
文档评论(0)