22 lines
326 B
HolyC
22 lines
326 B
HolyC
|
asm {
|
||
|
_DIV_U64_BY_U64::
|
||
|
PUSH RBP
|
||
|
MOV RBP,RSP
|
||
|
XOR RDX,RDX
|
||
|
MOV RCX,64
|
||
|
MOV RAX,SF_ARG1[RBP]
|
||
|
MOV RBX,SF_ARG2[RBP]
|
||
|
@@1: SHL1 RAX
|
||
|
RCL1 RDX
|
||
|
CMP RBX,RDX
|
||
|
JA @@2
|
||
|
INC RAX
|
||
|
SUB RDX,RBX
|
||
|
@@2: LOOP @@1
|
||
|
POP RBP
|
||
|
RET1 16
|
||
|
}
|
||
|
|
||
|
_extern _DIV_U64_BY_U64 I64 DivU64ByU64(I64 dividend,I64 divisor);
|
||
|
|
||
|
"123456/10=%d\n",DivU64ByU64(123456,10);
|