第3章80C51单片机汇编语言概述单片机原理及应用(C51编程)-李全利
第3章 80C51单片机汇编语言概述3.1 3.23.3 3.4 3.5 单片机可执行程序生成示例
汇编指令格式与寻址方式汇编器的伪指令
80C51的指令系统汇编语言程序示例
2015-1-6
3.1 单片机可执行程序生成示例3.1.1 编辑源文件 【例3-1】编写程序,实现将30H至3FH共16个RAM单元初始 化为“55H”的功能。 ORG MAIN:MOV MOV MOV LOOP:MOV INC DJNZ SJMP END2015-1-6
0000H R7,#16 R0,#30H A,#55H @R0,A R0 R7,LOOP $
;R7存放单元数量16 ;R0作为地址寄存器,初值为30H ;数据55H放入累加器中 ;累加器内容送入R0指向的单元中 ;调整地址指向下一单元 ;循环直至16个单元全都完成 ;踏步暂停
3.1.2
汇编与连接
汇编连接后得到目标文件。
:记录长度|起始地址|记录类型|指令代码|校验和
3.1.32015-1-6
可执行程序的写入3
3.2 汇编指令格式及寻址方式3.2.1 汇编语言的指令格式[标号:] 指令助记符 [操作数1,] [操作数2,] [操作数3,] [;注释]
标号是指令的符号地址,以非数字字符开头; 助记符是指令功能的英文缩写; 操作数是指令要操作的数据或数据的地址; 注释字段可以增加程序的可读性。
运算符(表3.1):
NOT、HIGH、LOW、MOD、SHL、SHR、AND、OR、XOR等。例:17/5结果为3、17 MOD 5结果为2。2015-1-6 4
3.2.2 2015-1-6
汇编指令功能描述符号
Rn(n=0~7)-当前工作寄存器组中的寄存器R0~R7之一 Ri(i=0,1)-当前工作寄存器组中的寄存器R0或R1 @ ----------间址寄存器前缀 #data ------8位立即数/ #data16-----16位立即数 direct------片内低128个RAM单元地址及SFR地址 addr11------11位目的地址 addr16------16位目的地址 rel---------8位地址偏移量,范围:-128~+127 bit---------片内RAM位地址、SFR的位地址 (×)------表示 × 地址单元或寄存器中的内容 / ----------位操作数的取反操作前缀5
3.2.3
操作数寻址方式
寻址方式:寻找(源)操作数或指令转移地址的方式 仅介绍5种操作数寻址方式
一、寄存器寻址
【例】若(R0)=30H,执行
MOV A,R0后,(A)=30H 操作数在寄存器中 寻址空间: 00H R0 30H R0~R7、A、B(AB形式) 操作数 在R0 MOV A,R0 E8H 和DPTR特点: 传送和执行速度快ROM RAM 30H SFR ACC
2015-1-6
二、 直接寻址 操作码后接字节存放的是操作数地址 寻址空间: 【例】若(50H)=3AH , 片内RAM低128字节 执行MOV A,50H后,(A)=3AH SFR(符号形式)操作数 在50H单元
另一类直接寻 址是转移目标地 址的寻址。如: LJMP ADDR16
50H E5H 50H MOV A,50H RAM
3AH
3AH ROM SFR
ACC
2015-1-6
三、寄存器间接寻址 寄存器中的内容是操作数的地址 寻址空间: 【例】若(R0)=30H,(30H)=5AH 片内RAM(@Ri、SP) 执行MOV A,@R0后
,(A)=5AH 片外RAM(@Ri、@DPTR)30H R0
指令助记符: 片内:MOV 片外:MOVX
30H E6H MOV A,@R0 RAM R0中的内容为 操作数的地址 ROM
5AH
5AH SFR
ACC
2015-1-6
四、立即寻址 操作数在指令编码中 寻址空间: ROM74H 50H
【例】执行MOV
A,#50H
结果:(A)=50H00H
MOV A,#50H RAM 操作码后紧跟 操作数50H 50H SFR ACC
ROM
对于MOV DPTR,#2100H指令,立即数高8位“21H”装入DPH2015-1-6 9
五、变址寻址 操作数地址:基地址+偏移量 寻址空间: ROM 【例】(A)=0FH (DPTR)=2400H88H ROM 93H
执行MOVC
A,@A+DPTR”后
结果:(A)=88H00H RAM 00H 24H 0FH 88H SFR DPL DPH ACC
MOVC A,@A+DPTR 240FH单元的内 容88H为操作数 + 240FH
2400H
变址寻址还用于跳转指令,如JMP2015-1-6 10
@A+DPTR
3.3 汇编器的伪指令伪指令是汇编器能够识别并对汇编过程进行某种指示的命令。 一、 状态控制伪指令
ORG、END二、 符号定义伪指令
EQU、BIT
例:LEN EQU 10
三、存储空间初始化伪指令
DB,DW四、其他伪指令
例:DB -1,2
见表3.3所示。2015-1-6 11
3.4 80C51的指令系统3.4.1 数据传送类指令(29条)
一般不影响标志寄存器PSW的状态。传送类指令有两大类 一般传送( MOV ) 特殊传送,如: MOVC MOVX PUSH、POP XCH、XCHD SWAP2015-1-6 12
一、 一般传送指令16位传送(仅1条) MOV DPTR,#2100H;DPTR←#2100H 8位传送以A为目的,例如: MOV A,#55H ;A←#55H MOV A,55H ;A←(55H) MOV A,R0 ;A←(R0) MOV A,@R0 ;A←((R0)) 以Rn为目的,例如: MOV MOV MOV2015-1-6
R7,A ;R7←(A) R7,#55H ;R7←#55H R7,55H ;R7←(55H)13
以direct为目的,例如: MOV 30H,A ;(30H)←(A) MOV 30H,#55H ;(30H)←#55H MOV 30H,55H ;(30H)←(55H) MOV 30H,R0 ;(30H)←(R0)MOV 30H,@R0 ;(30H)←((R0))
以@Ri为目的,例如: MOV MOV MOV @R0,A ;(R0)←A @R0,#55H ;(R0)←#55H @R0,55H ;(R0)←(55H)14
2015-1-6
二、 特殊传送指令
堆栈操作指令PUSH和POP堆栈是一片存储区,遵循“后进先出”原则,栈顶由SP指示。 80C51的堆栈设在片内RAM低端的128个单元,向上生长。
入栈指令PUSH PUSH direct ;SP←(SP)+1,(SP)←(direct) 出栈指令POP POP direct ;(direct)←((SP)),SP ←(SP)-1
注:堆栈用于子程序调用时保护返回地址,或者用于保护子程序调 用之前的某些重要数据(即保护现场),还可以用于数据交换。
2015-1-6
数据交换指令XCH、XCHD和SWAP数据交换属于同时进行的双向传送 字节交换,例如: XCH A,55H ;(A) XCH XCH A,R7 A,@R0 ;(A) ;(A) (55H) (R7) ((R0))
半字节交换,例如:
XCHD SWAP
A,@R0 A
; 间址操作数的低半字节与A的低半字节互换。 ; 累加器的高低4位互换
片外RAM(或接口)传送指令MOVX
片外RAM中经常存放数据采集与处理的中间数据 读片外RAM MOVX MOVX A,@DPTR ;A ←((DPTR)) A,@Ri ;A ←((Ri))
写片外RAM MOVX @DPTR,A ;((DPTR))←A MOVX @Ri,A ;((Ri))←A 注意:用@Ri寻址时,高8位地址由P2口提供2015-1-6 17
读ROM中常数表项指令MOVCROM中可以存放程序代码,还经常存放常数表 以DPTR内容为基址 MOVC A,@A+DPTR;A ←((A)+(DPTR)) 常数表存放约束小,称为远程查表指令。占用DPTR 以PC内容为基址 MOVC A,@A+PC ;A ←((A)+(PC)) 常数表存放约束大,称为近程查表指令。不占用DPTR
3.4.2
算数运算类指令(24条)
算数运算结果要影响PSW中标志位标志位意义 CY为1,无符号数(字节)加减发生进位或借位 OV为1,有符号数(字节)加减发生溢出错误 AC为1,十进制数(BCD码)加法的结果应调整 P为1,存于累加器A中操作结果的“1”的个数为奇数 标志位与相关指令影响指令 标志 ADD、ADDC、SUBB DA MUL DIV
CYAC OV P
√√ √ √19
√√ × √
0× √ √
0× √ √
2015-1-6
…… 此处隐藏:2038字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




