首页 > 编程知识 正文

movx用c语言等效,C语言mov

时间:2023-12-29 20:32:12 阅读:331375 作者:JVWN

本文目录一览:

MOV DPTR,#0030H MOV A,#31 MOVX @DPTR,A 好比这段程序,用c语言应该怎么写呢?

先要定义一外部存储器的变量,然后给这个变量赋值31就OK。

char xdata *mydat;

......

mydat=(char xdata*)0x0030;

*mydat=31;

单片机中与 MOVX A,R0 等价的是什么语句;

楼主所写的指令不对。没有这样的语句。

单片机的MOVX指令只有以下四种:

MOVX A,@Ri ;i只能是0或1

MOVX A,@A+DPTR

MOVX @Ri ,A;i只能是0或1

MOVX @A+DPTR,A

若@Ri里存放数据37H,则MOVX A,@Ri的意思是把片外数据存储器37H里存放的数据传送给A;

MOVX A,@A+DPTR的意思是把DPTR和A的和所对应的片外数据存储区地址里的数传送给A。

因为楼主写的指令不存在,所以也没有与其等价的指令。

movx @DPTR,A怎么转换为C语言

首先要

添加一个头文件

#includeabsacc.h

主程序前

#define

address

XBYTE[0x8000]

uchar

xdata

*add;

主程序中可以写

add=address;

*add=0x00;

关于51单片机里 wr rd两个引脚。在汇编中MOVX是自动赋值的。那在C语言中呢。自能手动赋值?

c语言可用XBYTE[ 一个外部十六进制地址]来直接访问xdata的存储空间 它已经包括了MOVX

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。