打印
[STM32F1]

关于KEIL中的伪指令

[复制链接]
2930|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangke1993|  楼主 | 2014-7-2 01:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,问题是这样的
                GBLA VersionNumber   ;声明全局算数变量
  VersionNumber SETA 21              ;给变量赋值
编译后提示出错asm.s(124): error: A1163E: Unknown opcode VersionNumber , expecting opcode or Macro
哪位大神知道是什么原因吗?用的是STM32芯片,keil版本Keil uVision4
沙发
看上去像版本低的问题~

使用特权

评论回复
板凳
huangke1993|  楼主 | 2014-7-2 14:52 | 只看该作者
想做大牛的小马 发表于 2014-7-2 09:52
看上去像版本低的问题~

好像不是啊,因为我更新到uVision5也一样报错,会不会是软件哪里设置有问题啊

使用特权

评论回复
地板
huangke1993 发表于 2014-7-2 14:52
好像不是啊,因为我更新到uVision5也一样报错,会不会是软件哪里设置有问题啊 ...

提示的意思: VersionNumber 是 unknow opcode
就是你的VersionNumber编译器不认识,看看GBLA的定义是什么~

使用特权

评论回复
5
huangke1993|  楼主 | 2014-7-2 15:41 | 只看该作者
想做大牛的小马 发表于 2014-7-2 15:12
提示的意思: VersionNumber 是 unknow opcode
就是你的VersionNumber编译器不认识,看看GBLA的定义是什 ...

我看的那个ST公司的汇编器指南说gbla伪指令是声明一个全局算数变量,然后seta是给变量赋值,gbla在开发环境里字体是蓝色的,但是seta是灰色的,都不知道怎么回事,好郁闷

使用特权

评论回复
6
huangke1993 发表于 2014-7-2 15:41
我看的那个ST公司的汇编器指南说gbla伪指令是声明一个全局算数变量,然后seta是给变量赋值,gbla在开发环 ...

我表示看不懂。。。汇编语言的话,也应该是先写op-code,这个格式才合理吧:
seta  VersionNumber xx

使用特权

评论回复
7
huangke1993|  楼主 | 2014-7-2 19:02 | 只看该作者
想做大牛的小马 发表于 2014-7-2 18:54
我表示看不懂。。。汇编语言的话,也应该是先写op-code,这个格式才合理吧:
seta  VersionNumber xx ...

这是ST给的文档的格式语法
variable <setx> expr
其中:
<setx> 是 SETA、SETL 或 SETS。
variable 是由 GBLA、GBLL、GBLS、LCLA、LCLL 或 LCLS 指令声明的变量的名
称。
expr 是一个表达式,可以为以下几种类型:
• 对于 SETA,其值是数值型(请参阅第3-30 页的数字表达式)
• 对于 SETL,其值是逻辑型(请参阅第3-33 页的逻辑表达式)
• 对于 SETS,其值是字符串(请参阅第3-29 页的字符串表达
式)

使用特权

评论回复
8
huangke1993|  楼主 | 2014-7-2 21:35 | 只看该作者
其中变量名要顶格书写,不然会报错
variable <setx> expr

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

67

帖子

0

粉丝