- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8051指令系统与编程基础-指令系统部分概要
3.3.2 算术运算类指令 * 指令系统中,有单字节的加、减、乘、除法指令,算术运算功能比较强。 算术运算指令都是针对8位二进制无符号数的,如要进行带符号或多字节二进制数运算,需编写具体的运算程序,通过执行程序实现。 算术运算的结果将使PSW的进位(Cy)、辅助进位(Ac)、溢出(OV)3种标志位置1或清0。但增1和减1指令不影响这些标志。 3.3.2 算术运算类指令 * 1 加法指令 把源操作数内容送累加器A相加。 ADD A,Rn ;(A)+(Rn)→A ,n=0~7 ADD A,direct ;(A)+(direct)→A ADD A,@Ri ;(A)+((Ri))→A,i=0,1 ADD A,#data ;(A)+#data→A 8位加法指令的一个加数总是来自累加器A,而另一个加数可由寄存器寻址、直接寻址、寄存器间接寻址和立即数寻址等不同的寻址方式得到。加的结果总是放在累加器A中。 3.3.2 算术运算类指令 * 2 带进位加法指令 进位标志位Cy参加运算,三个数相加。 ADDC A,Rn ;(A)+(Rn)+C→A ,n =0~7 ADDC A,direct ;(A)+(direct)+C→A ADDC A,@Ri ;(A)+((Ri))+C→A,i =0,1 ADDC A,#data ;(A)+#data+C→A 3.3.2 算术运算类指令 * 3 增1指令 把指令中所指出的变量增1,且不影响PSW中的任何标志。 INC A INC Rn ;n=0~7 INC direct INC @Ri ;i =0,1 INC DPTR 指令“INC DPTR”,16位数增1指令。首先对低8位指针DPL执行加1,当溢出时,就对DPH的内容进行加1,不影响标志Cy。 3.3.2 算术运算类指令 * 4 带借位的减法指令 从A的内容减去指定变量和进位标志Cy的值,结果存在A中。 SUBB A,Rn ; (A)-(Rn)-Cy→A,n =0~7 SUBB A,direct ; (A)-(direct)-Cy→A SUBB A,@Ri ; (A)-((Ri))-Cy→A, i =0,1 SUBB A,#data ; (A)-#data-Cy→A 3.3.2 算术运算类指令 * 5 减1指令 指定的变量减1。若原来为00H,减1后下溢为FFH,不影响标志位(P标志除外)。 DEC A ;(A)-1→A DEC Rn ;(Rn)-1→Rn,n=0~7 DEC direct;(direct)-1→direct DEC @Ri ;((Ri))-1→(Ri),i =0,1 3.3.2 算术运算类指令 * 6 乘法指令 积的低字节在累加器A中,高字节在B中。 MUL AB ;A×B→BA 7 除法指令 商(为整数)存放在A中,余数存放在B中。 DIV AB ;A/B→A(商),余数→B 8 其它指令 十进制调整指令:DA。 3.3.3 逻辑操作类指令 * 1 累加器A 清“0”指令 累加器A清0。 CLR A 2 累加器A求反指令 累加器A的内容按位逻辑取反。 CPL A 7 其它指令 累加器半字节交换指令:SWAP;逻辑与指令:ANL;逻辑或指令:ORL;逻辑异或指令:XRL。 3.3.3 逻辑操作类指令 * 3 左环移指令 A向左循环移位,位7循环移入位0。 RL A 4 带进位左环移指令 累加器A的内容和进位标志位Cy一起向左环移一位。 RLC A 3.3.3 逻辑操作类指令 * 5 右环移指令 A向右循环移位,位0循环移入位7。 RR A 6 带进位右环移指令 累加器A的内容和进位标志位Cy一起向右环移一位。 RRC A 3.3.4 控制转移类指令 * 1 条件转移指令 执行指令时,如条件满足,则转移;不满足,则顺序执行下一指令。转移目的地址在以下一条指令首地址为中心的256B范围内(-128~+127)。 JZ rel ;如果累加器内容为0,则执行转移 JNZ rel ;如果累加器内容非0,则执行转移 3.3.4 控制转移类指令 * 2 比较不相等转移指令 比较前两个操作数大小,如果值不相等则转移,并转向目的地址。 CJNE A, direct,rel CJNE A, #data,rel CJNE Rn, #data,rel CJNE @Ri,#data,rel 3.3.4
您可能关注的文档
最近下载
- 组合数学问题解答与分析.pdf VIP
- 《GB_T 41867-2022信息技术 人工智能 术语》专题研究报告.pptx
- Excel练习素材(最新整理版).xlsx VIP
- 2024年7月黑龙江高中学业水平考试政治试卷真题(含答案)_可搜索.pdf VIP
- 50256-2014 ㍿《电气装置安装工程 起重机电气装置施工及验收规范》.pdf VIP
- 上海高校毕业生登记表(研究生).docx VIP
- (正式版)XJJ 143-2022 《城镇供热企业安全生产标准化评定标准》.docx VIP
- 组合数学参考答案(卢开澄第四版)60页.pdf VIP
- 国开电大专科《管理英语1》一平台机考真题题库(第二套) .pdf VIP
- 中科院专业课考研动力气象.pdf VIP
原创力文档


文档评论(0)