我想把c程序中一个值的地址传递给一个外部汇编程序进行修改

vjrehmav  于 2023-08-03  发布在  其他
关注(0)|答案(1)|浏览(112)

我有一个c程序(不是c++),它有一个值声明为

int msgNumber = 5555

字符串
我还有一个外部汇编程序例程,上面的C程序会调用它,我想把C程序中msgNumber值的地址传递给它,这样汇编程序就可以更新这个值,然后返回到调用它的C程序
有人能告诉我怎么做吗?
我试过什么,
我试过这个:

int msgNumber = 5555;
        VSHRTMSE(*msgNumber);      /*Ask for first or next msg from msg table entry */


编译者并不关心这个

ERROR CCN3018 src/c/VSHXYS.c:1480  Operand of indirection operator must be a pointer expression.
CCN0793(I) Compilation failed for file src/c/VSHXYZ.c.  Object file not created.
FSUM8226 make: Error code 12


我不是一个C程序员,我正在用头撞墙试图弄清楚这一点。

juud5qan

juud5qan1#

评论真的有答案。为了在这里形式化它,您使用解引用操作符*,这是您引用指针指向的值的方式。
int msgNumber保存要传递的整数的值,而不是整数的地址。
你需要做的是传递地址,这将是这样做的使用指针到操作符:

int msgNumber = 5555;
  VSHRTMSE(&msgNumber);      /*Ask for first or next msg from msg table entry */

字符串

相关问题