div64.h

来自「this SRC packet is the headfiles that MI」· C头文件 代码 · 共 45 行

H
45
字号
#ifndef __S390_DIV64#define __S390_DIV64/* for do_div "base" needs to be smaller than 2^31-1 */ #define do_div(n, base) ({                                      \	unsigned long long __n = (n);				\	unsigned long __r;					\								\	asm ("   slr  0,0\n"					\	     "   l    1,%1\n"					\	     "   srdl 0,1\n"					\	     "   dr   0,%2\n"					\	     "   alr  1,1\n"					\	     "   alr  0,0\n"					\	     "   lhi  2,1\n"					\	     "   n    2,%1\n"					\	     "   alr  0,2\n"					\	     "   clr  0,%2\n"					\	     "   jl   0f\n"					\	     "   slr  0,%2\n"					\             "   ahi  1,1\n"					\	     "0: st   1,%1\n"					\	     "   l    1,4+%1\n"					\	     "   srdl 0,1\n"					\             "   dr   0,%2\n"					\	     "   alr  1,1\n"					\	     "   alr  0,0\n"					\	     "   lhi  2,1\n"					\	     "   n    2,4+%1\n"					\	     "   alr  0,2\n"					\	     "   clr  0,%2\n"					\             "   jl   1f\n"					\	     "   slr  0,%2\n"					\	     "   ahi  1,1\n"					\	     "1: st   1,4+%1\n"					\             "   lr   %0,0"					\	     : "=d" (__r), "+m" (__n)				\	     : "d" (base) : "0", "1", "2", "cc" );		\	(n) = (__n);						\        __r;                                                    \})#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?