版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3课指令集,hehai university computer and information college,基于机器人项目的嵌入式培训讲义,目录,本课重点:寻址方法;CIP-51指令集;CIP-51命令系统、简介、CIP-51系统控制器的命令集与标准MCS-51TM命令集完全兼容,并且可以使用标准8051的开发工具为CIP-51开发软件。所有CIP-51命令在二进制代码和功能上与相同的MCS-51TM产品完全相同,包括操作码、寻址方式以及对PSW标志的影响,但命令计时与标准8051不同。ASM-51指令格式,可选标签指示指令所在的地址。1-8个字符/数字,以字母开头,“:”结束opcod
2、e是指令功能支持符号,指令物理目的操作数说明,“;”以表示,开始,标签:操作码目标操作数,源操作数;注释、31汇编语言、3.1.1指令和编程语言指令:CPU根据人的意图执行某些任务的命令。命令系统:可以在一台计算机上运行的所有命令的集合;程序:根据人的需要编写的命令操作序列;程式设计:程式建立程序。机器语言:每个指令的二进制代码表示,是计算机直接识别和执行的语言。汇编语言:用助记符、符号和数字表示指令的程序语言。机器语言程序:用机器语言编写的程序;命令程序,也称为目标程序。汇编语言程序:用汇编语言编写的程序。例如:1020汇编语言程序机器语言程序MOVA,# 0ah74H0AHADDA,# 1
3、4h24H14H,例如LOOP:MOVA、R0;标签opcode指定R0的内容为第一个操作数第二个操作数注释(目标操作数) (源操作数)、3.1.2命令格式、opcode部分:指定由25个字符组成的命令实现操作功能;操作数部分:表示参与操作的数据源以及存储操作结果的目标单元。操作数可以是直接数字(立即),也可以是数据所在的空间地址。指令类型:根据字节长度,它分为单字节指令、双字节指令和三字节指令。1,1字节指令49条指令的8位二进制代码包含有关操作码和操作数的信息。(1)抑制脚本中一个寄存器的操作。例如,INCDPTR(2)指定脚本中RRR的三位编码所做的寄存器,例如MOVA、rn RRR 3
4、3007r7、10100011、1110101rrr、2、2字节命令45是一个字节的操作码例如:MOVA、#30HMOVA、30H、opcode、立即或地址、74H、30H、0E5H、30H、3、3字节指令17字节表示操作码,2字节表示操作数或操作数所在的地址。例如:MOV30H、#40H、操作码、即时计数或地址、75H、30H、40H、直接地址、3.2寻址方法、寄存器寻址立即寻址寄存器间接寻址寻址寻址寻址寻址(默认地址寄存器间接寻址)相对寻址、寻址方式越多,计算机寻址功能就越好,但是指令系统也变得越复杂。3.2.1 7种寻址方法,一个命令可以包含多个寻址方法,1,寄存器寻址寄存器寻址:将命令
5、作为操作数表示寄存器组R0R7的一个或另一个寄存器(a、b、DPTR等)的内容。寄存器组由PSW中的寄存器组选择控制位(RS1,RS0)确定。操作数位于R0-R7、a、b、Cy(位)、DPTR等寄存器中。MOVA、b;(A)(B)MOV30H,r0;(30H)(R0)MOVA,R1;(A)(R1),2,立即寻址(立即寻址),opcode后接一个单字节或双字节操作数,用数字表示以直接区分地址。因此,操作数是放置在程序内存中的常量。操作数直接在命令中提供示例。MOVA,# 64h(a)立即64HADDA,# 05h(A)(A)立即编号05HMOVDPTR,# 2000hDPTR2000H注意:“#
6、”符号表示后面紧跟数字,后面紧跟数字。3,直接寻址直接寻址:命令直接提供操作数所在的存储单元的地址。指示的操作数部分是操作数所在的地址。使用直接寻址的命令是双字节命令。只有内部RAM的低128字节和特殊功能寄存器(SFR)可以使用直接寻址。不能对内部RAM的最大128字节使用直接寻址,因为最大128字节RAM的地址与专用寄存器的地址重复。操作数所在单元的地址或名称(MOVR1,1FH)直接提供给直接寻址命令。(R1)(1FH)MOV30H,4AH;(30H)(4AH),根据此微控制器,访问特殊功能寄存器SFR只能采用直接寻址方式。例如,MOVA、SP;(a) (sp) mova,81h(a)
7、(sp) mov P1,# 5ah(P1) # 5ah mov 90 h,# 5ah;(P1) # 5ah movb,30h(B)(30H),相同,相同,4,寄存器间接寻址对于间接寻址,命令指定存储操作数地址的寄存器。该地址指定的单元内容用作操作数。内部和外部RAM都可以使用这种寻址方式,但不能访问专用寄存器。操作寄存器R0或R1可用作地址间寄存器,以256字节RAM为单位进行寻址。操作寄存器R0或R1,16位数据指针寄存器(DPTR)作为地址间寄存器,可以指定64KB的外部数据存储空间(包括I/O)地址。寄存器间接寻址寄存器的内容是必需操作数的内容的地址。操作数通过寄存器间接获得。注:1)“
8、间接”表示寄存器的“内容”只是“单位地址”,存储在此地址单元中的数据是要查找的“操作数”。2)“符号”的意思是“间接,其意义和发音都是“at”。-指针,例如MOVR1,# 30H(R1)立即30HMOVR1,# 0FH(30H)立即0FHMOVA,R1;(A)(30H)=#0FH,MOVA,R0MOVA,R1MOVXA,DPTRMOVA,r0;(R0)=65H,(65h)=47h,47h,47h,R0,a,65H,此单芯片微计算机上访问特殊功能寄存器的SFR只能使用直接寻址,mova,90H对应于MOVA,P1对应于直接寻址MOVA,R0;预先通知(R0)=#90H执行的操作:A(90H)是寄
9、存器的间接寻址,随机编写的命令(如MOVA、85H)是非法的!80H0FFH范围内的RAM只能作为寄存器进行间接寻址,SFR只能使用直接地址。地址冲突问题已解决。例如,内存配置(片上RAM),89C51片上RAM128字节(00H7FH)89C52片上RAM256字节(00H0fh),00h,20h,2fh,7FH此寻址方法用于访问程序存储,对于验证表访问特别有用。数据指针DPTR或程序计数器PC作为地址更改寄存器,累加器a作为主地址寄存器,DPTR或PC的内容与累加器a的内容相加,用作操作数的16位程序内存地址。MOVCA、dptrA(A)(DPTR)mov ca,A PC;a(a)(PC)
10、1eh,02f1,11h,dptr,a,0302h,1eh,a,寻址方法的另一种情况由条件转移命令使用在这种情况下,发送命令的目标地址是主地址寄存器加地址寄存器的和。示例:JMPA DPTR地址(A) (DPTR)、6、相对寻址、相对寻址仅用于相对传输指令。执行相对传输命令时,当前PC值加上命令中指示的偏移rel,形成实际传输地址。PC当前值:运行相对传输命令后的PC值;源地址:具有相对传输命令操作码的地址;目的地地址:转让后的地址;目标地址源地址2(相对传输指令字节数)relrel范围:128127例如,JCrel集CY=1,rel=75H,实际使用时标签:JCLABLELABLE:MOVA
11、,#30H,3360MOVA指令是芯片内RAM(包括SFR)的一个单位的位地址,以位表示。直接使用地址:20H2FH的16个单位位地址:00h 7 FH;例如:CLR00HSETB7FH表示“.”使用运算符。对于特殊功能寄存器,可以通过寄存器名称直接添加数字位数。例如,clr PSW . 1 setbp 1.0;片内RAM的位寻址为128位;位地址:00H7FH分布:20H2FH单元;此外,SFR有92个位,可以按位寻址;RAM区域,只能在、00h、20h、2fh、7fh、1fh、30h、80h、ffh、52子产品系列中使用;常规RAM区域;位寻址区域1,寻址空间,2,寻址方法中常用的符号注释
12、(1)Rn(n=07)操作寄存器组R0R7(2)Ri(i=0,1)寄存器组R0,R1 (3) # data 根据命令执行时间分类:单个周期(64条);双重周期(45万亿);按命令功能划分的4个周期(2个),可分为5个类别:数据传输类(29个);算术运算类(24个)逻辑运算和移位类(24个);控制每个命令在程序内存ROM中占用特定空间的传输类(17个)位操作类(17个)。指令分类字节数:单字节(49万亿);双字节(46万亿);3字节(16个),内部存储间传输:(MOV16个)外部数据存储和累加器间传输:(MOVX4个)程序存储累加器:(MOVC2个)数据交换:(XCH、XCHD、swap app
13、er以累加器a为对象的操作数指令,MOVA,Rn;N=07,a (rn) mova,directA(Rn)direct是内部RAM或SFR地址MOVA、Ri;I=0,1,a (ri) mova,dataAdata注释:MOVA、Ri;将Ri的内容作为地址,将的内容发送到a。a(ri)mova,r0;将R0的内容发送到a。a(r0)mova,# 20h(A)=20HA的内容为20hm ova,20h;(A)=(20H)A的内容为20H的内容。以上两套指示,2 .使用Rn作为目标操作数的命令,MOVRn,a;Rn(A),n=07MOVRn,direct;Rn(直接)MOVRn、数据;Rndata,
14、3 .用于以直接地址为目标操作操作数的命令,mov direct,a;直接(a) mov直接,rn;Direct(Rn),n=07 mov direct,ri;direct(Ri)I=0,1 mov direct,direct;Direct (direct) mov direct,# dataDirectdata,4 .以寄存器间接地址为目的的操作数命令,MOVRi,a;(Ri)(A),i=0,1MOVRi,direct;(Ri)(直接)MOVRi,data;(Ri)data,Acc累加器,Direct直接寻址,Ri间接寻址,Rn寄存器,#data立即计数,MOVDPTR,# 2000h等16
15、位即时寻址:DPHdataH,DPLdataL包括MOVDPH、#20HMOVDPL、#00H、MOVCA、A DPTRMOVCA、A PC寻址方案3360“默认地址寄存器地址更改寄存器间接寻址”、6、查找表命令、A DPTR或要传递给累加器ACC的数据是程序中预写的表数据。这些表数据经常使用伪命令DB、DW等在程序中定义。1000H:MOVA,# 0dhA0DH1002H:MOVCA,A PC;A(0DH 1000H)1003H:MOVR0,a;R0(a)1010h 336002h 1011h :1h 1012h 33606h 1013h 33600h(a)=02h,(R0)=02H,(PC)=1004H,可能的话,DPTR1000H:MOVA,# 00hA 00 h 1002 h : mov dptr,# 1010h;DPTR 1010h 1005h 3360
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西瓜嫁接换根种植方案
- 痛风患者尿酸控制饮食规范
- 腰椎间盘突出康复护理
- 草莓无土栽培基质配方
- 家政员背景调查作业实施细则
- 职业高中机电技术应用题库及答案
- 航空航天飞行器设计题库及答案
- 个人防护用品质量验收标准
- 种鹅秋季换羽产蛋管理技术方案
- 水稻插秧机调试维护保养规范
- 企业董事长助理岗位职责书
- 林光互补光伏发电项目可行性研究报告
- 民兵军事训练教案
- 教师形体与礼仪(成都师范学院)知到智慧树网课答案
- 2025年黑龙江省公安辅警招聘知识考试题(含答案)
- 打叶复烤设备操作工职业考核试卷及答案
- 矿山工程质量监理评估报告范文
- 《数字图像与视频处理》课件-第8章 数字水印技术
- 2025至2030中国UDCA的药物行业发展趋势分析与未来投资战略咨询研究报告
- 2025年贵阳贵安面向退役军人选拔培养中小学“兵教师”40人考试参考试题及答案解析
- 医养结合机构运营管理规范
评论
0/150
提交评论