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);