diosmios/asm/CARDMountAsync.S

43 lines
517 B
ArmAsm

#include <asm.h>
#
# r3 Channel
# r4 workarea
# r5 detachCallback
# r6 attachCallback
CARDMountAsync:
cmpwi %r3, 0
beq DoCode
li %r3, -3
lis %r7, 0xC000
stw %r3, 0x2F94(%r7)
blr
DoCode:
mflr %r0
stw %r0, 4(%sp)
stwu %sp, -0x10(%sp)
li %r3, 0
li %r4, 0
cmpwi %r6, 0
beq end
mtctr %r6
bctrl
end:
li %r3, 0
li %r4, 0
lis %r7, 0xC000
stw %r3, 0x2F94(%r7)
lwz %r0, 0x14(%sp)
addi %sp, %sp, 0x10
mtlr %r0
blr