AX is the wrong register. REGARG is BP. actually, it's "RARG" in 6a, in case it
changes, although that seems less likely now.

On 16 November 2011 14:25, erik quanstrom <[email protected]> wrote:
> i plan to look at this when i get home, but it appears that 6a
> doesn't like big numbers.  demo script follows
>
> - erik
> -------
> ; cat >a.s <<'EOF'
> #define KZERO   (0xffffff0000000000ull)
>
> TEXT bignumber(SB), 1, $0
>        ADDQ    $KZERO, AX
>        RET
> EOF
> ; cat >ac.c<<EOF
> #include <u.h>
> #include <libc.h>
>
> extern uvlong bignumber(uvlong);
>
> void
> main(void)
> {
>        print("%llux\n", bignumber(0));
>        exits("");
> }
> EOF
> ; 6a a.s; 6c ac.c; 6l a.6 ac.6
>
>

Reply via email to