Thread (3 messages) flat view 3 messages, 2 authors, 2000-05-15

Re: ppc assembler help needed

From: Franz Sirl <hidden>
Date: 2000-05-15 16:08:57

At 17:54 15.05.00, Andreas Tobler wrote:
Hi,

I have some problems understanding the following code snippet. It is
from misc.S in kernel 2.3.

The function call is like this:

void _insl_ns(volatile u32 *port, u32 *buf, int nl)

_GLOBAL(_insl_ns)
        cmpw  0,r5,0
        mtctr   r5
        subi    r4,r4,4
        blelr-
00:     lwz     r5,0(r3)
        eieio
        stwu    r5,4(r4)
        bdnz    00b
        blr

Am I right with port = r3, buf = r4, nl = r5?
If so, cmpw 0,r5,0 compares the content of r5, in my case nl, with zero
and stores the result in CR0?
No, cmpw 0,r5,0 compares r5 to r0, use cmpwi 0,r5,0 to make a signed
compare of r5 against 0

Franz.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help