相关疑难解决方法(0)

编写一个非常基本的SPARC程序例程会导致数字是否为奇数

我正在编写一个名为isOdd的小型汇编程序,顾名思义,如果传递的整数是奇数,则通过从%运算返回1来返回.

到目前为止这是我的代码:

Function prototype: int isOdd( long num )

isOdd:
    save     %sp, -96, %sp  ! Save caller's window

    mov      %i0, %o0       ! Parameter num goes to %o0
    mov      2, %l0         ! 2 goes to local register
    call     .rem           ! Call modulus subroutine
    nop

    mov      %o0, %l0       ! moves the result of the subroutine 
                            ! to output register o0
    ret
    restore
Run Code Online (Sandbox Code Playgroud)

但是,我没有得到好的输出; 事实上,它似乎只是返回我传递给num的任何值,而不是实际进行模数运算.

谷歌对这样一个基本问题没有任何帮助.这是我的第一个汇编代码,所以我对"寄存器"的概念非常不熟悉,我认为将它们混合在一起就是我的错误所在.

在此先感谢您的帮助!

assembly sparc

1
推荐指数
1
解决办法
5305
查看次数

标签 统计

assembly ×1

sparc ×1