




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章80C51微控制器指令系统(2),3.3.2算术运算指令,2 .减法命令减法类命令共分为8个,2个组。包括4个带借用的减法指令和4个减法1指令。(1)借用减命令助记符为SUBB,4茄子命令为命令机械代码格式操作SUBB A,Rn1001 1rrr (A)-(Rn)-CY A SUBB A,direct 1001 0101(A)ri 1001如果需要,可以在发出SUBB命令之前使用“CLR C”命令将CY位清空为零。进位减法主要用于多位元组减法计算,在低位元组高位元组产生借用时,CY必须设定1,在牙齿情况下,必须对高位元组运算使用借方减法指令。无、3.3.2算术运算类别指令,例如,计算两个
2、16位数的差值。减少量为9876H,低字节为32H,高字节为33H。损耗为6789H,低字节存储在30H单元中,高字节存储在31H单元中。将结果的低字节和高字节分别放在单元34H和35H中。3.3.2算术运算类命令,第一步:减去低字节,借用最高位,CY位置1。第二步:减去高字节。由于减法的高字节低的字节借用了1,因此高字节应该减少1。借用时cy放1,因此等于减去CY。9876h,1001 1000 0111 0110 0111 1000 1001,6789h,0011 0000 1110 1101,3 0 E D,因此,借用减法都用于高字节减法,低字节减法时如果没有借用减法,则必须先将CY比特
3、清除为零,3.3.2算术运算类命令,MOV A,32H将减少的低字节发送到累加器,clr c。低字节不借用就减去;CY蛙泳0、SUBB A、30H、MOV 34H、A;将低字节的计算结果发送到34H,MOV A,33H。将相减的高字节发送到累加器,SUBB A,31H。减去借用,MOV 35H,a;将高字节的计算结果发送到34H。具体步骤:3.3.2算术运算类命令,借用减命令影响PSW的位:CY位:最高位(第7位)在借用时为1,借用时为0牙齿。AC位:第三位借用位置1,没有借用时为0。P位:A的数字可能会更改,P也可能会更改。AC=1,3.3.2算术运算类命令,OV位:-嗯?-嗯?对于微控制器
4、算术运算类命令,加法和减法可以执行有符号操作,其他命令只能执行无符号操作数。例如(-68H)-76H=?-68,76,3.3.2算术运算类命令,概括地说,在有符号加法和减法运算中,如果第7位(符号位)更改,结果将出错,因此使用OV=1表示错误。加法和减法时,不能分辨是无符号数字还是有符号数字。所以在做无符号数的加减运算中,OV位有时也发生变化,此时我们可以忽略OV。9878H-5686H,3.3.2算术运算类别指令,(2)减去1指令助忆键DEC以使用指令机器代码格式DEC rn 0001 RRR(rn)-1 rn DEC direct 0001 0101(direct),例如,假设A=00H,
5、DEC A,A=FFH,PSW你们都保持不变。SUBB A、#01H、A=FFH、CY=1、例如A=;3.3.2算术运算类命令,3 .乘法命令,乘法命令的助记符为MUL,只有一个指令。命令机器代码格式操作MULAB 1010 0100 (A) (B)、A07和B815。牙齿命令的功能是将累加器A和寄存器B的两个8位无符号计数相乘,将16位乘积的低8位字节放入A,将高8位字节放入B。乘法命令不影响CY位。CY总是影响OV位:0,3.3.2算术运算类命令,乘法命令。OV=1,表示乘积大于8位。a不能再放了。必须将高字节放在b中。OV=0,表示乘积小于或等于8位数。a完全可以放下。此时,B等于0。示
6、例:(A)=4EH,(B)=5DH是mulab,b a,3.3.2算术运算类命令,4。除法命令、除法命令的助记符为DIV,只有1。命令机器代码格式操作DIV AB 1000 0100 (A)(B)、商A、剩馀B。牙齿命令的功能是将A除以B。a和B的内容都是8位无符号整数。得到的份额在A,剩下的在B。分割命令不影响CY位。CY始终表示当,0,除数b为0时,a的结果不确定,并且OV设置为1,无法执行除法。3.3.3逻辑运算符类命令,包括、and、or、xor、清除、反转、移位等操作。这些指令的操作数都是8位,共25个指令。参与运算的操作数可分为两类茄子:单操作数逻辑运算和双操作数逻辑运算。1 .命
7、令的操作对象(如“逻辑运算符单个操作对象”命令)共有7个:清理0、反转、循环左移、舍入循环左移、循环右移、舍入循环右移、舍入循环右移和半字节更换命令。累加器A、3.3.3逻辑运算符类指令、(1)累加器清理0指令、指令机器代码格式操作CLRA110 0100a、清除累加器A。牙齿操作不影响标志位。(2)累加器执行逆指令,指令机器代码格式操作cpla 110100(A)A,累加器A的内容返回比特,并放入A。牙齿操作不影响标志位。3.3.3逻辑运算符类命令,(3)循环右移命令,命令机器代码格式操作RR A 0000 0011,将累加器的内容向右移动一位到位循环,并将A 0的内容移动到a7。牙齿操作不
8、影响标志位。,(4)循环左移命令,命令机器代码格式操作RL A 0010 0011,将累加器的内容向左移动一位作为位循环,a7的内容移动到A 0,牙齿操作不影响标记位。、3.3.3逻辑运算符类命令,(5)舍入循环右移命令,命令机器代码格式操作RRC A 0001 0011,累加器A的内容和舍入位一起向右移一步,A 0移至舍入位CY,CY的内容移至a7。(6)使用舍入循环左移命令、操作命令机器代码格式RLC A 0011 0011、将累加器A的内容和舍入位左移一位,a7将舍入位CY移至A 0,CY的内容移至A0。通常使用RLC命令执行累加器A乘以2操作。cy,cy,3.3.3逻辑运算符类命令,(
9、7)累加器半字节更换命令,命令机器代码格式操作SWAP A 1100 0100,牙齿命令的功能是累加器A的低半字节(a3a0双操作数逻辑运算符命令、双操作数逻辑运算符命令包括ANL(逻辑与)、ORL(逻辑,第一个操作数:A direct第二个操作数:arn direct # datari,)对于并行端口操作,为“读取和复盖”。操作不影响标志位。,双操作数逻辑运算符命令特征:(1)逻辑“and”操作命令组命令的助记符为ANL,共6个命令:ANL A,Rn;(a) (a) (rn) anl a,direct(a) (a) (direct) anl a,ri;(a)(a)(ri)anl a,# da
10、ta(a) (a) # data anl direct,a;(direct) (direct) (a) anldirect,# data(direct)(direct)#使用data逻辑and运算指令清除。3.3.3逻辑运算符类命令、(2)逻辑或“计算命令组的助记符为ORL,共6个命令:ORL A,RN;(a) (a) (rn) ORL a,direct;(a) (a) (direct) ORL a,ri;(a)(a)(ri)ORL a,# data(a) (a) # data ORL direct,a;(direct) (direct) (a) orldirect,# data(direct
11、)(direct)#使用data逻辑or运算指令作为位置。3.3.3逻辑运算符类命令,(3)逻辑“xor”操作命令组命令的助记符为XRL,共6个命令:xrl a,rn;(a) (a) (rn) xrl a,直接;(a) (a)(直接)xrl a,ri;(a)(a)(ri)xrl a,# data(a) (a) #数据xrldirect,a;(direct) (direct) (a) xrldirect,# data (direct) (direct) # data,3.3.3逻辑运算符类命令,3.控制传输命令共可分为17个。无条件传输调用和返回条件传输循环传输null操作命令、3.3.4控制传
12、输类命令、1无条件传输命令:等命令共4个:SJMP rel ajmp addr 11 ljmp addr 16 jmp a dptr等命令的功能是节目无条件传输、3.3.4控制传输类命令、(1命令可以在命令前旋转128 B,也可以在命令后旋转127 B。例如,设置(PC)=0101H,转入地址标记为RELADR的单元0123H,因此,rel=0123H(0101H 2)=20H,3.3.4控制传输类命令,执行命令SJMP (2)因此,程序的目标地址必须在2 KB的范围内,包括AJMP命令后第一个命令的第一个字节。3.3.4控制传输类命令,例如设置(PC)=0456H,标签JMPADR牙齿指向的
13、单元0123H。执行命令是AJMP JMPADR执行结果(PC)=0123H,因此程序将以0123H为单位切换并运行。(3)长传输(LJMP)命令:提供由两个字节和三个字节组成的16位地址。因此,节目转换的目标地址可以包含节目存储的全部64 KB空间。3.3.4控制传输类命令,例如设置(PC)=0123H,标签JMPADR牙齿指向的单元3456H。运行命令是LJMP JMPADR运行结果(PC)=3456H,因此程序以3456H为单位运行。(4)间接传输(JMP)命令:目标地址是累加器A的8位无符号计数加上数据指针DPTR的内容。加法运算不会影响累加器A和数据指针DPTR的原始内容。如果累加结
14、果大于64 KB,则从节目内存的0地址向下继续。3.3.4控制传输类命令,设置(A)=5,(DPTR)=4567H。执行命令是JMP A DPTR执行结果(PC)=(A) (DPTR)=4567H 5H=456CH,因此程序以456CH为单位运行。2.调用和返回命令等指令共有四种:ACALL addr11LCALL addr16RETRETI、3.3.4控制传输类命令、(1)绝对调用(ACALL)命令:无条件调用以addr11开头的子程序。运行时,在PC上添加2以获得以下命令的地址,将牙齿16位地址推送到堆栈(PCL,PCH),然后在堆栈指针上添加2。然后,命令提供的11位目标地址发送到PC10PC0,PC15PC11的值保持不变,程序切换到子程序的第一个地址运行。目标地址由指令1字节高3位和指令2字节组成。因此,调用的子例程的第一个地址必须与ACAL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土地房屋测绘项目投标方案技术标
- 管理会计试卷及答案 卷1
- 5.2 生活中的透镜 说课稿 2025年初中人教版物理八年级上册
- 接尘作业对外周血象和肝功能指标的影响分析
- 《深度学习项目案例开发》课件-任务一 使用神经网络完成服饰图像分类
- 车间定制管理及安全文明设施采购 投标方案(技术方案)
- 购物中心用地居间合同
- 农业行业智能灌溉与农产品追溯系统方案
- 国内经济环境现状分析
- 光伏太阳能发电技术
- 2025年阜阳幼儿师范高等专科学校单招职业技能考试题库学生专用
- 2025年安徽工业经济职业技术学院单招职业适应性测试题库附答案
- 2025湖北市政建设集团有限公司管理岗位公开竞聘14人笔试参考题库附带答案详解
- 3.13跨学科主题活动-在线学习小能手 课件 川教版(2024)三年级下册信息科技
- 矿产勘探数据分析-深度研究
- 2025年北京控股集团有限公司招聘笔试参考题库含答案解析
- 2024年07月江苏银行招考笔试历年参考题库附带答案详解
- 小学生药品安全课件图片
- 2021年煤矿应急资源调查报告
- 新入职员工年终工作总结课件
- 专题10 开展心理健康教育 促进身心健康成长-备战2023年中考英语阅读理解时文爆点专题训练(解析版)
评论
0/150
提交评论