- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章节汇编言语程序设计
第四章 汇编语言程序设计 §1 编程的步骤 ; 汇编语言语句的规定:用MCS-51 汇编语言编写的源程序行(一个语句)通常由四个部分(字段)组成。
[ 标号:] 操作码 [操作数] ;[注释]
其中操作码是必有的,其它三项可视具体情况选用。
一. 标号:用户定义的符号地址。一般用于表示指令的地址、数据块和表格的首地址等。
标号由1—8个字符组成,必须以英文字母开头。标号与操作码之间要用“:”分隔开。禁止用单片机的保留名(SFR名、专用位名、指令助记符等)作为标号。
例:合法标号: LOOP、BLOCK、TABLE、T12、CS34、D5H7
非法标号: 1CDG、ACC、CY、SUBB(但ACC1、CYU、SUBB3合法)
二. 操作码:指令助记符。(必备)操作码与操作数之间要用空格分隔开。
例:MOV、 ADD、 SJMP、ANL ; 三. 操作数:
按指令规定的寻址方式给出。(不是必备)如操作数为两个,之间要用“,”分隔开。合法的操作数形式有:
(1)工作寄存器名:R0 — R7
(2)专用寄存器名:A(ACC)、B、P0—P3、PSW、DPTR等。
(3)标号名:有定义(在汇编中可确定其具体数值)的标号。
赋值标号:由伪指令 EQU、DATA等进行赋值的标号。
指令标号:代表指令的地址。不须赋值,由指令存放地址确定。
(4)常数:二进制数(加后缀B)、十进制数(加后缀D或省略)、十
六进制数(加后缀H;必须以0—9数字开头,如以A—F开头
则前面应加“0”,例:0CFH、0E0H)
(5)$:表示PC的当前值(未取指时)例:SJMP $
(6)表达式:例:MOV A,SUM+1
四. 注释: 以 “;”开头,后跟注释语句,以增加程序的可读性。 ; §2 汇编语言源程序的编辑和汇编 ;三.伪指令(Pseudo):
在汇编程序中定义的各种汇编命令。用以指定程序的实际存放地址、定义各种文字符号的数值等。这些命令并不产生机器码,仅起到汇编时的辅助作用。
以下为标准的MCM-51汇编程序中定义的一些常用伪指令。
㈠. 汇编起始命令:
格式: ORG 16??地址
功能:定义此指令后面源程序的汇编地址(目标程序存放的首地址)
例: ORG 2000H
START:MOV A,#64H
……
则规定 MOV A,#64H从2000H单元开始存放,同时将标号START定义为2000H。
* ORG指令可多次使用。
㈡.汇编结束命令:
格式:END
功能:通知汇编程序结束汇编。
* END指令仅用于整个源程序的结束。 ;㈢.赋值命令
格式:字符名称 EQU 项(数或文字符号)
功能:将“项”赋于“字符名称”。
例:AA EQU R1
MOV A, AA ;将R1内容送A
例:A8 EQU 10
G7 EQU 50
DELY EQU 07EBH
MOV A, A8 ;(10)→A
MOV B, #G7 ; 50 →B
LCALL DELY ;调用首址为07EBH的子程
㈣.数据地址赋值命令
格式: 字符名称 DATA 表达式
功能: 将表达式的值赋于字符名称。
* 常用于定义内RAM数据地址
例: Block DATA 40H
MAX DATA BLOCK+10H
文档评论(0)