SPARC:使用存储指令时出现Segfault错误

时间:2016-02-09 11:33:38

标签: assembly segmentation-fault sparc

我需要更新作为此例程的参数传递的长数组中的元素,该数组也作为参数传递。

/*
 * Function Prototype:
 * updateNumber( long * numberAr, long newNumber);
 */

 updateNumber:
         save    %sp, -96, %sp            ! makes the arguments accessible in the in registers
         ld      [%i0], %l0               ! maps numberAr[0] to %l0
         mov     %i1, %l1                 ! puts newNumber in %l1

         st      %l1, [%i0]               ! should store newNumber in numberAr[0], but causes a segfault error

我尝试使用ldsb和ldub加载并使用stb存储,但这些都不起作用。我应该检查什么才能使这项工作? 我最近问了一个类似的问题,但这次我无法弄清楚解决方案,尽管唯一的区别应该是它有多头而不是字符。

0 个答案:

没有答案