ZJM001 发表于 2024-10-30 16:42:40

C51的程序搬到C251上编译不通过

RT,我想把一个C51的程序搬到C251平台上(被C251平台更多的扩展指令吸引),但是在变量定义的时候是报错的,




我把程序中的P2.6P2.5P2.7改成了0A0H.60A0H.50A0H.7就可以正常通过了

都是位可寻址的,请问有没有其他的修改方法能尽可能的兼容以前的这种写法?直接写寄存器地址.位的这种方法可读性太差了

ZJM001 发表于 2024-10-30 16:44:48

另外顺便想问问Ai8051U运行在C51-8bit下能不能使用Source模式的汇编?

DebugLab 发表于 2024-10-30 17:09:19

用头文件然后#define就行

ZJM001 发表于 2024-10-30 17:48:26

DebugLab 发表于 2024-10-30 17:09
用头文件然后#define就行

OK,#define P2 0A0H 这样就可以吗?然后是用$include "header.h" 这样吗?

顺便想问问Ai8051U运行在C51-8bit下能不能使用Source模式的汇编?

LAOXU 发表于 2024-10-30 17:56:39

本帖最后由 LAOXU 于 2024-10-30 17:58 编辑

应该是重复定义了

ZJM001 发表于 2024-10-30 18:03:23

LAOXU 发表于 2024-10-30 17:56
应该是重复定义了

可是上面和下面并没有定义过P2

DebugLab 发表于 2024-10-30 18:09:02

ZJM001 发表于 2024-10-30 17:48
OK,#define P2 0A0H 这样就可以吗?然后是用$include "header.h" 这样吗?

顺便想问问Ai8051U运行在C51 ...









LAOXU 发表于 2024-10-30 19:05:35

ZJM001 发表于 2024-10-30 18:03
可是上面和下面并没有定义过P2

你引用的头文件(比如STC32G.H),里面有定义

LAOXU 发表于 2024-10-30 19:08:06

看图片

ZJM001 发表于 2024-10-30 19:24:24

LAOXU 发表于 2024-10-30 19:08
看图片

真的没有引入头文件,应该不是重复定义,重复定义是REDEFINE


页: [1] 2
查看完整版本: C51的程序搬到C251上编译不通过