第3章 指系统.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 指系统

(二) 外部RAM传送指令: MOVX 指令格式:MOVX 目的操作数,源操作数 寻址方式:片外数据存储器用寄存器间址方式。 DPTR作16位数据指针,寻址64KB片外RAM空间:MOVX A,@DPTR ;A←DPTR (读) MOVX @DPTR,A ;DPTR←A (写) 2. Ri作8位数据指针,寻址256B片外RAM空间(页内寻址):MOVX A,@Ri ;A←P2Ri (读) MOVX @Ri,A ;P2Ri←A(写) 例:实现片外数据存储器数据传送(2000H?2100H。 三 ROM传送指令(查表指令):MOVC 1.DPTR为基址寄存器: MOVC A,@A+DPTR ;A?A+DPTR (读)查表范围为 64KB 程序存储器任意空间, 称为远程查表指令。 2.PC为基址寄存器: MOVC A,@A+PC ;A?A+PC (读)常数表只能在查表指令后256B范围内, 称为近程查表指令。 P49:例1:以查表方法把累加器中的十六进制数转换为ASCII码,并送回累加器中。 例2: 程序: ORG 1000HSQU: MOV DPTR,#3000H ;确定表首地址(基地址) MOV A,20H ;取 X(变量:偏移量)MOVC A,@A+DPTR ;查表求YX2 MOV 21H,A ;保存Y(结果) RET ;子程序结束… ;其它程序段 ORG 3000H;常数表格首地址 TAB: DB 00,01,04,09,… ,225 ;平方表END 例2: 指令地址源程序ORG 1000H ;程序起始地址1000H SQU: MOV A,20H;取X1002H ADD A,#3 ;修正偏移量1004H MOVC A,@A+PC;查表求YX2 (PC1005H)1005H MOV 21H,A;存结果1007H RET;子程序结束1008H TAB: DB 00,01,04 … ;平方表100BH DB 09,… ,225 (四) 交换指令: 1. 字节交换指令 XCH A,Rn;A ?Rn XCH A,@Ri;A ?Ri XCH A,direct ;A ?direct 2. 半字节交换指令: (五)堆栈操作指令: 例:设 A02H,B56H,执行下列指令后,SP ? ,A ? ,B ? 练习:说明程序执行过程中,SP的内容及堆栈中内 容的改变过程。 程序如下:MOV SP,#30HMOV A,#20HMOV B,#30HPUSH APUSH B… …POP APOP B 习题:找出指令错误并改正: 1.MOV A,#1000H ;A←1000H(A装1个字节数) 2.MOVX A,1000H ;A←1000H片外RAMDPTR、Ri 3.MOVC A,1000H ;A←1000H片外ROMDPTR、PC 4.MOVX 60H,A;片外RAM60H←A(应为MOV) 5.MOV R0,60H ;片内RAM:61H←60HMOV 61H,@R0片内RAM可直接寻址6. XCH R1,R2;R1?R2必须有A参加 7. MOVX DPTR,#2000H ;DPTR←2000H应为MOV 8. MOVX 60H,@DPTR ;片内RAM←片外RAM必须有A参加 3.2.2 算术运算指令 1.标志位自动设置状态: 1)Cy:进位标志位 保存运算后最高位的进位/借位状态,当有进位/借位,Cy1,否则Cy0。 2)AC:辅助进位标志位 保存低半字节的进位/借位状态,当D3产生进位/借位,AC1,否则AC0。用于十进制调整。 3)OV:溢出标志位 OVCy7?Cy6,补码运算产生溢出OV1,否则OV0。 4)P:奇偶标志位 反映累加器A中数据的奇偶性。当1的个数为奇数,P1,否则P0。 2.用户选择位编程设置状态 算术运算指令: 加减指令(读-修改-写): 1. 加法指令: 带进位加法指令ADDC用于多字节运算: 例:设双字节数 X 存在片内RAM 41H、40H单元,Y存在42H、43H单元,编程求 ZX+Y,并存入片内RAM单元44H、45H、46H。(比较P52例3.3) 2.减法指令: 如:SUBB A,R2 ;A←A-R2-Cy,;影响Cy、OV、AC、P 3. 增量、减量指令: INC 单操作数 如: INC R2 ;R2←R2+1DEC 单操作数 如: DEC R2 ;R2←R2-1INC DPTR ;DPTR←DPTR+1不影响标志位状态。 4.乘除

文档评论(0)

fmm40085 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档