




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6讲(2010-09-26)10-11第1学期第4周汽车单片机11.指令系统简介;2.寻址方式;3.指令系统;4.汇编语言程序设计;5.程序设计实例;第3章MCS-51指令系统及汇编语言2复习
数据传送类指令P50~57片内数据传送指令:MOV片外数据传送指令:MOVX程序存储器数据传送指令:MOVC数据交换指令:XCH,XCHD,SWAP堆栈操作指令:PUSH,POP33.3.2算术运算类指令(24条)单字节的加、减、乘、除法指令,都是针对8位二进制无符号数。执行的结果对Cy、Ac、OV
三种标志位有影响。但增1和减1指令不影响上述标志。主要包括
(1)加法(带、不带进位加法、加1、十进制调整);
(2)减法(带借位、减1);
(3)乘法;
(4)除法;41加法指令
(1)不带进位加法指令这类指令所完成的操作是把源操作数(立即数、直接地址单元内容、间接地址单元内容、工作寄存器内容)与累加器A的内容相加,将结果保存在累加器A中。指令助记符与功能说明如下:5要注意累加器A中的运算结果对各个标志位的影响:(a)如果位7有进位,则置“1”进位标志Cy,否则清“0”Cy(b)如果位3有进位,置“1”辅助进位标志Ac,否则清“0”Ac(Ac为PSW寄存器中的一位)6(c)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV置“1”,否则清“0”OV。溢出标志位OV的状态,只有在带符号数加法运算时才有意义。当两个带符号数相加时,OV=1,表示加法运算超出了累加器A所能表示的带符号数的有效范围7例
执行指令:MOVA,#0A9HADDA,#0B8H对程序状态寄存器的影响如图3.6所示。运算结果:(A)=61H,CY=1,AC=1,OV=1,P=1,(PSW)=0C5H8带进位加法指令与前述加法指令的区别仅为考虑进位位,其他与加法指令相同。(2)带进位加法指令指令助记符与功能说明如下:9(3)增1指令INCA ;(A)←(A)+1INCdirect ;(direct)←(direct)+1INC@Ri ;((Ri))←((Ri))+1INCRn ;(Rn)←(Rn)+1INCDPTR ;(DPTR)←(DPTR)+110例1
设(A)=40H,(41H)=29H,则执行下列指令:INCA ;(A)←40H+1HINC41H ;(41H)←29H+1H结果:(A)=41H,(41H)=2AH例2
设(R0)=56H,片内RAM单元(56H)=0FFH,(57H)=50H,则执行下列指令:INC@R0 ;(56H)←00HINCR0 ;(R0)←57HINC@R0 ;(57H)←51H结果:(56H)=00H,(R0)=57H,(57H)=51H例3
执行下述指令序列:MOVDPTR,#2FFEH ;(DPTR)←2FFEHINCDPTR ;(DPTR)←2FFFHINCDPTR ;(DPTR)←3000HINCDPTR ;(DPTR)←3001H则(DPTR)=3001H11(4)十进制调整指令用于对BCD码十进制数加法运算结果的内容修正。
指令格式:DAA两个BCD码按二进制相加之后,必须经本指令的调整才能得到正确的压缩BCD码的和数。二进制数的加法运算原则并不能适用于十进制数的加法运算,有时会产生错误结果。例如:(a)3+6=90011+0101=1001运算结果正确(b)7+8=150111+1000=1111运算结果不正确(c)9+8=171001+1000=00001C=1结果不正确12二进制数加法指令不能完全适用于BCD码十进制数的加法运算,对结果作有条件的修正——十进制调整
出错原因和调整方法:
BCD码只用了了其中的10个,6个没用到的编码。(1010,1011,1100,1101,1110,1111)为无效码凡结果进入或者跳过无效码编码区时,其结果就是错误的。13调整的方法是把结果加6调整,即十进制调整修正。修正方法应是:(a)累加器低4位大于9或辅助进位位Ac=1,则进行低4位加6修正。(b)累加器高4位大于9或进位位Cy=1,则进行高4位加6修正。(c)累加器高4位为9,低4位大于9,则高4位和低4位分别加6修正。14具体是通过执行指令:DAA来自动实现的。例(A)=56H,(R5)=67H,把它们看作为两个压缩的BCD数,进行BCD数的加法。执行指令:
ADDA,R5DAA
由于高、低4位分别大于9,所以要分别加6进行十进制调整对结果进行修正。结果为:(A)=23H,Cy=1
可见,56+67=123,结果是正确的。152.减法指令(1)带借位减法指令:(2)减1指令
DECA ;(A)-1→A DECRn ;(Rn)-1→Rn,n=0~7 DECdirect ;(direct)-1→direct DEC@Ri ;((Ri))-1→(Ri),i=0,1减1指令不影响标志位。16(1)
乘法指令例1
设(A)=67H(103),(B)=0ADH(173),执行指令:MULAB运算结果:乘积为459BH(17819),(A)=9BH,(B)=45H。另外:OV=1,CY=03乘除运算指令MULAB;(A)←乘积低8位,(B)←乘积高8位教材例3-2617A01010000B00110010例3-26:A=50H,B=32H;执行MULAB00000000010100000101000000000000000000000101000000000000000000000000A=A0H,B=0FH×18(2)除法指令例1
设(A)=9AH,(B)=23H,执行指令:
DIVAB则(A)=04H,(B)=0EH,OV=00H,CY=00HDIVAB;(A)←商,(B)←余数193.3.3逻辑运算指令(24条)1.双操作数指令(1)逻辑与指令逻辑与的规则定义为:0∧0=00∧1=1∧0=01∧1=1例1设(A)=0C3H,(R3)=0ADH,执行指令“ANLA,R3”。结果:(A)=81H(10000001B)。指令执行过程如下:ANLA,Rn;(A)∧(Rn)→A,n=0~7ANLA,direct;(A)∧(direct)→AANLA,#data;(A)∧#data→AANLA,@Ri;(A)∧((Ri))→A,i=0~1ANLdirect,A;(direct)∧(A)→directANLdirect,#data;(direct)∧#data→direct20(2)逻辑或指令ORLA,Rn;(A)∧(Rn)→A,n=0~7ORLA,direct;(A)∧(direct)→AORLA,#data;(A)∧#data→AORLA,@Ri;(A)∧((Ri))→A,i=0~1ORLdirect,A;(direct)∧(A)→directORLdirect,#data;(direct)∧#data→direct逻辑或的规则定义为:0∨0=00∨1=1∨0=11∨1=1例1
设(A)=0C3H,(R3)=0ADH,执行指令“ORLA,R3”。结果:(A)=0EFH(11101111B)。指令执行过程如下:21(3)
逻辑异或指逻辑异或的规则定义为:0⊕0=1⊕1=01⊕0=0⊕1=1XRLA,Rn;(A)∧(Rn)→A,n=0~7XRLA,direct;(A)∧(direct)→AXRLA,#data;(A)∧#data→AXRLA,@Ri;(A)∧((Ri))→A,i=0~1XRLdirect,A;(direct)∧(A)→directXRLdirect,#data;(direct)∧#data→direct例1
设(A)=0C3H,(R3)=0ADH,执行指令“XRLA,R3”。结果:(A)=6EH(01101110B)。指令执行过程如下:222单操作数逻辑运算指令
(1)累加器A清0指令格式:CLR A功能:将00H送入累加器A中。(2)累加器A取反指令格式:
CPLA功能:将累加器A中内容取反(将A中内容按位取反,即逻辑非运算)后再送回累加器A中。23(1)累加器A内容循环左移一位指令格式:RLA功能:将累加器A中的内容循环左移一位。即
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全教育:遵守规定不乱走动
- 成品仓库管理员述职报告
- 2025年一建《机电工程管理与实务》考试施工组织设计题库冲刺练习
- 安全事故应急处置流程
- 2025年小学英语毕业考试模拟卷(语法专项突破:情态动词运用解析)
- 2025年韩语TOPIK中级考试真题卷:写作与口语表达篇
- 2025年小学教师资格考试《综合素质》文化素养教育语文试题试卷(含答案)
- 2025年乡村医生考试题库(农村中医适宜技术)公共卫生与预防医学试题
- 2025年钳工高级工鉴定题库:金属加工工艺分析与应用试题
- 安徽省江南十校2024-2025学年高一上学期12月分科诊断联考生物试题 无答案
- 新生儿鼻饲喂养的护理课件
- 名老中医肿瘤辨治枢要
- 离婚协议书完整版Word模板下载
- 鲜食玉米培训课件
- 智能冷库可行性分析报告
- 单桩(群桩基础基桩)水平承载力特征值计算
- 人教版2023-2024学年六年级数学上册第六单元百分数应用篇其一:百分率问题和浓度问题(原卷版+答案解析)
- 姜杰西方管理思想史
- 上海建工标准化文明施工
- 2022年盐城市交通投资建设控股集团有限公司招聘笔试真题
- 招标工作管理制度
评论
0/150
提交评论