- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 89C51单片机的指令系统 §3.1 指令系统简介 指令系统 特点 指令格式 指令格式 编写程序时,应注意以下几个问题: 缩写符号 p32 §3.2 寻址方式 立即寻址方式 直接寻址方式 直接寻址访问空间 寄存器寻址方式 寄存器间接寻址方式 寄存器间接寻址 变址寻址 相对寻址方式 直接寻址方式之位寻址方式 位地址的表示方式 寻址方式小结 §3.3 数据传送类指令 数据传送指令理解 存贮器结构与数据传送指令 以累加器A为目的操作数的数据传送指令 以寄存器Rn为目的操作数的数据传送指令 以直接地址为目的操作数的数据传送指令 以间址@Ri为目的操作数的数据传送指令 以DPTR为目的操作数的数传送指令 外RAM数据传送指令 疑难指令详解——数据传输指令 查表指令 p39 疑难指令详解——查表指令 疑难指令详解——查表指令 数据交换指令 堆栈操作指令 数据传送指令总结 例:顺序执行下列指令序列,求每一步执行结果 例:堆栈操作 例 §3.4 算术运算类指令 不带进位的加法指令 带进位的加法指令 带借位的减法指令 加1指令 疑难指令详解——算术指令 减1指令 乘/除运算指令 十进制调整指令 疑难指令详解——算术指令 DA A 算术运算指令总结 §3.5 逻辑运算及移位类指令 逻辑与运算指令 逻辑或运算指令 逻辑异或运算指令 取反/清零指令 移位指令 逻辑运算指令总结 §3.6 控制转移类指令 无条件控制转移指令 疑难指令详解——转移指令JMP 累加器判零转移指令 比较条件转移指令 比较条件转移指令 疑难指令详解——转移指令CJNE 疑难指令详解——转移指令CJNE 减1条件转移指令 疑难指令详解——转移指令DJNZ 子程序概念 子程序特点 主程序与子程序之间的关系 子程序调用 返回指令 控制转移指令总结 空操作指令 §3.7 位操作类指令 布尔处理机特点 采用布尔处理器的优点 bit的四种表示形式 位变量传送指令 位置位与清零指令 位逻辑运算指令 位控制转移指令 位控制转移指令 位操作指令总结 例 JZ rel ;若(A)=0,则PC←(PC)+2+rel, 若(A)≠0,则PC ←(PC)+2 JNZ rel ;若(A)≠0,则PC ←(PC)+2+rel, 若(A)=0,则PC ←(PC)+2 CJNE A,#data,rel ;若(A)=data,则PC ←(PC) +3, Cy ← 0 若(A)>data,则PC ← (PC) +3+rel, Cy ← 0 若(A)<data,则PC ← (PC) +3+rel, Cy ← 1 CJNE A,direct,rel ;若(A)=(direct),则PC ← (PC) +3, Cy ← 0 若(A)>(direct),则PC ← (PC) +3+rel, Cy ← 0 若(A)<(direct),则PC ← (PC) +3+rel, Cy ← 1 CJNE Rn,#data,rel ;若(Rn)=data,则PC ←(PC)+3, Cy ← 0 若(Rn)>data,则PC ←(PC)+3+rel, Cy ← 0 若(Rn)<data,则PC ← (PC)+3+rel, Cy ← 1 CJNE @Ri,#data,rel ;若((Ri))=data,则PC ←(PC)+3, Cy ← 0 若((Ri))>data,则PC ←(PC)+3+rel, Cy ← 0 若((Ri))<data,则PC ←(PC)+3+rel, Cy ← 1 CJNE指令在进行比较不相等时程序作相对转移,并指出其大小,以备作第二次判断。 数值比较: (CY)=0,目的操作数源操作数 (CY)=1,目的操作数源操作数 程序转移: 目的操作数=源操作数 PC ?(PC)+3, CY ? 0 目的操作数源操作数 PC ?(PC)+3+rel, CY ? 0 目的操作数源操作数 PC ?(PC)+3 +rel, CY ? 1 DJNZ Rn,rel ; Rn ←(Rn)-1 若(Rn)≠0,则PC ← (PC)+2+rel 若(Rn)=0,则PC ← (PC)+2 DJNZ direct,rel ;direct ← (direct)-1 若(direct)≠0,则PC ← (PC)+3+rel 若(direct)=0,则PC ← (PC)+3 这是一组功能极强的循环转移指令 可以派生出很多不同的应用和多重循环层次。 内部RAM单元可
文档评论(0)