位置:51电子网 » 技术资料 » IC/元器件

ROM中常数读取指令

发布时间:2016/7/10 18:02:14 访问次数:2050

   为了取出存放在程序存储器中的表格数据,80C51单片机提供了两条查表指令,这两条JCM5052令的操作码助记符为“MOVC”(movc∞de),表示操作对象是程序存储器。

   MOVC A,@A+PC       《PC》1→PC

   ;((Al+CC))Rc,M→A

   MOVC A,@A+DPTR     ;((A》(DPTR)λoM→A

   指令MOVC A,@A+PC以PC作为基址寄存器,A作为变址寄存器,A中的8位无符号数与PC内容(该指令的下一条指令的起始地址)相加后得到一个16位RoM地址,然后将该地址单元的内容取出送累加器A。

   指令MOVC A,@A+DPTR以DPTR为基址寄存器,A作为变址寄存器,A中的8位无符号数与DPTR内容相加后得到一个16位ROM地址,然后将该地址单元的内容取出送累加器A。

   【例4.12】己知内存单元⒛H中有一个0~9范围内的数∫用查表指令编出能查出该数平方值的程序。设平方表表头地址标号为LAB。程序设计如下:LAB:DB 0,l,4,9,10H,19H¨・若(20H)为3,执行MOVC A,@A+DPTR查表得9并存于A中。

  【例4.13】2000H∶MOV A,#02H

  20怩H∶MOVC A,@A+PC

   由于MOVC A,@A+PC是单字节指令,下一条指令首地址为⒛02H+1=2003H,执行MOVCA,@A+PC指令后,ROM中⒛05单元内容将送到A中。

 

   为了取出存放在程序存储器中的表格数据,80C51单片机提供了两条查表指令,这两条JCM5052令的操作码助记符为“MOVC”(movc∞de),表示操作对象是程序存储器。

   MOVC A,@A+PC       《PC》1→PC

   ;((Al+CC))Rc,M→A

   MOVC A,@A+DPTR     ;((A》(DPTR)λoM→A

   指令MOVC A,@A+PC以PC作为基址寄存器,A作为变址寄存器,A中的8位无符号数与PC内容(该指令的下一条指令的起始地址)相加后得到一个16位RoM地址,然后将该地址单元的内容取出送累加器A。

   指令MOVC A,@A+DPTR以DPTR为基址寄存器,A作为变址寄存器,A中的8位无符号数与DPTR内容相加后得到一个16位ROM地址,然后将该地址单元的内容取出送累加器A。

   【例4.12】己知内存单元⒛H中有一个0~9范围内的数∫用查表指令编出能查出该数平方值的程序。设平方表表头地址标号为LAB。程序设计如下:LAB:DB 0,l,4,9,10H,19H¨・若(20H)为3,执行MOVC A,@A+DPTR查表得9并存于A中。

  【例4.13】2000H∶MOV A,#02H

  20怩H∶MOVC A,@A+PC

   由于MOVC A,@A+PC是单字节指令,下一条指令首地址为⒛02H+1=2003H,执行MOVCA,@A+PC指令后,ROM中⒛05单元内容将送到A中。

 

热门点击

 

推荐技术资料

单片机版光立方的制作
    N视频: http://v.youku.comN_sh... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式