- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章:单片机指令系统新
4.1 指令格式 汇编语言指令格式: [标号:] 操作码 操作数1,操作数2 [;注释] (换行表示一条指令结束) 例: START: MOV A ,#40H ;取参数 机器语言指令格式 操作码 [操作数1] [操作数2] 有单字节、双字节和三字节指令。 4.2 MCS-51指令寻址方式 4.2.1 操作数类型 位 (b)─ 位寻址区和可位寻址寄存器中的一位二进制数据 字节(B)─ 8位二进制数据 字 (W)─ 16位双字节数据 课外作业 访问外部数据存储器3270H单元的寻址方式有哪几种?写出访问指令。 4.3 MCS-51指令系统 数据传送类指令:8种操作码 算术运算类指令:8种操作码 逻辑运算类指令:9种操作码 控制转移类指令:12种操作码 位操作类指令: 11种操作码 4.3.1 数据传送类指令(8条助记符) 指令格式: MOV 目的操作数,源操作数 寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间址。 例:顺序执行下列指令序列,求每一步执行结果。 MOV A,#30H MOV 4FH,A MOV R0,#20H MOV @R0,4FH MOV 21H,20H ② 外部传送指令 实现片外数据存储器和A累加器之间的数据传送。 指令格式: MOVX 目的操作数,源操作数 寻址方式:访问片外数据存储器只能用寄存器间址方式。 例:实现片外数据存储器数据传送(2000H)?(2100H)。 ③ 交换指令(XCH、XCHD、SWAP) 实现片内RAM区的数据双向传送。 1.字节交换指令 XCH A,Rn ;A ? Rn XCH A,@Ri ;A ?(Ri) XCH A,direct ;A ?(n) 2. 半字节交换指令 ④ 堆栈操作指令 ( PUSH、POP )入栈指令:PUSH direct ;SP?SP+1,(SP)?(n)出栈指令:POP direct ;(n)?(SP),SP?SP-1 例:设 A=02,B=56H,执行下列指令后,SP= ?,A= ? ,B= ? ⑤ 程序存储器读取指令(查表指令) 实现从程序存储器读取数据到A累加器,只能使用变址间接寻址方式。多用于查常数表程序,可直接求取常数表中的函数值。 1.DPTR为基址寄存器 MOVC A,@A+DPTR ;A?(A+DPTR) 查表范围为 64KB 程序存储器任意空间,称为远程查表指令 。 2.PC为基址寄存器 MOVC A,@A+PC ;A?(A+PC) 常数表只能在查表指令后 256B 范围内。 例: 查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H单元中,要求将查表求Y,存入片内RAM21H单元。 1) ORG 1000H SQU: MOV DPTR,#TAB ;确定表首地址(基地址) MOV A,20H ;取X(偏移量) MOVC A,@A+DPTR ;查表求Y=X2 MOV 21H,A ;保存Y RET ;子程序结束 … ;其它程序段 ORG 3000H ;常数表格首地址 TAB: DB 00,01,04,09,…,225 ;平方表 例:查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H单元中,要求将查表求Y,存入片内RAM21H单元。 2)指令地址 源程序 ORG 1000H ;程序起始地址 1000H SQU: MOV A,20H ;取X 1002H ADD A,#3 ;修正偏移量 1004H MOVC A,@A+PC ;查表求Y=X2 1005H MOV 21H,A ;存结果 1007H RET ;子程序结束 1008H TAB: DB 00,01,04 ;平方表 100BH DB 09,…,225 习题:找出下列指令错误并改正 1.MOV A,#1000H ;A←1000H 2.MOVX A,1000H ;A←片外RAM(1000H) 3.MOVC A,1000H ;A←片外ROM(1000H) 4.MOVX 60H,A ;片外RAM(60H)←A 5.MOV R0,60H ;片内RAM:(61H)←(60H) MOV 61H,@R0 6. XCH R1,R2 ;R1←→R2 7. MOVX DPTR,#2000H;DPTR←2000H 8. MOVX 60H,@DPTR ;片内
文档评论(0)