- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中北大学80C51的指令系统分析
3.1 指令格式及常用符号 3.1.1 机器指令的编码格式 高5位为操作码,低3位为存放操作数的寄存器编码。如:MOV A,R0 双字节指令 三字节指令 3.1.2 符号指令的格式 如:ANL A,#40H ANL为“与”操作的助记符,立即数“40H”为源操作数,累加器A为目的操作数。 3.1.3 符号指令及其注释中常用的符号 addr11-----------11位目的地址; addr16-----------16位目的地址; rel-----------------补码形式表示的8位地址偏移量,值在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可用符号名称表示); /-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容; ← ----------------箭头右边的内容送入箭头左边的单元中。 3.2 80C51的寻址方式 寻找操作数或指令的地址的方式。 操作数在寄存器中,指令中直接给出该寄存器名称。具有较高的传送和运算速度。 操作码后的字节是操作数的地址,操作数本身放在该地址指示的存储单元中。 寄存器中内容为地址,从该地址取操作数。 编码中直接给出操作数。操作码之后的操作数称为立即数。 以一个基地址加上一个偏移量地址形成操作数地址。 以PC当前值为基准,加上指令中相对偏移量 rel 形成目标地址。 对位地址中内容进行操作。操作的是8位二进制数中的某一位。 3.3 数据传送类指令(29条) 一般不影响PSW状态 16位传送 8位传送 以A为目的 以Rn 为目的 以direct 为目的 以@Ri为目的 3.3.2 特殊传送指令 例:若(R0)=80H,(A)=20H。 执行 XCH A,R0 3.4 算术运算类指令(24条) 例 若(A)=84H,(30H)=8DH,执行指令 ADD A,30H 之后,由于: 带进位加 增1 十进制调整 例:若(CY)=0,A和R2内容见下式。执行指令: ADD A,R2 DA A 3.4.2 减法 例 若(A)=C9H,(R2)=54H,(CY)=1,执行指令 SUBB A,R2 之后,由于: 3.4.3 乘法 3.4.4 除法 3.5 逻辑运算与循环类指令(24条) 3.6 控制转移类指令(17条) 程序执行是顺序的,改变程序执行顺序,称作程序转移。 3.6.1 无条件转移 3.6.2 条件转移 3.6.3 调用与转移 3.6.4 空操作 3.7 位操作类指令(17条) 以位为单位进行的各种操作。 3.7.1 位传送 3.7.2 位状态设置 3.7.3 位逻辑运算 3.7.4 位判跳(条件转移) 1、80C51系列单片机的指令系统有何特点? 2、80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何? 3、访问特殊功能寄存器SFR可以采用哪些寻址方式? 4、访问内部RAM单元可以采用哪些寻址方式? 5、访问外部RAM单元可以采用哪些寻址方式? 6、访问外部程序存储器可以采用哪些寻址方式? 7、为什么说布尔处理功能是80C51单片机的重要特点? 8、对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问? 9、试根据指令编码表写出下列指令的机器码。 (1)MOV A,#88H (2)MOV R3,50H (3)MOV P1.1,#55H (4)ADD A,@R1 (5)SETB 12H 10、完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。 (1)将R0的内容传送到R1; (2)内部RAM单元60H的内容传送到寄存器R2; (3)外部RAM单元1000H的内容传送到内部RAM单元60H; (4)外部RAM单元1000H的内容传送到寄存器R2; (5)外部RAM单元1000H的内容传送到外部RAM单元2000H。 11、若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。 MOV A,@R1 MOV @R1,40H MOV 40H,A MOV R1,#7FH 12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指
文档评论(0)