; 进展 By G-Spider
struct MP_INT
usd dd ?
alc dd ?
sgn dd ?
dat dd ?
ends
MP_PREC = 8 ;byte 8 16 32 64 128 256 ...
MP_MASK = 3FFFFFFFh ;base 30bit 28~31
MP_BIT = 30
MP_GT = 1 ;大于
MP_EQ = 0 ;等于
MP_LT =-1 ;小于
;-----------------------------------------------
;初期命名
;-----------------------------------------------
;fsm_ :self-modifying . example a=a+b.
;fwc_ :write on copy . example c=a+b.
;instruction set:_alu_ 、_mmx_ 、_sse2_、_avx_.
;z:high level . n:low level.
;-----------------------------------------------
include 'XMALLOC.asm'
include 'XREALLOC.asm'
include 'XFREE.asm'
include 'XMEMMOVE.asm'
;----------------------------
include 'mpn_grow.asm'
include 'mpn_cmp_mag.asm'
include 'mpz_init.asm'
include 'mpz_clear.asm'
include 'mpz_init_size.asm'
include 'mpz_init_copy.asm'
include 'mpz_zero.asm'
include 'mpz_neg.asm'
include 'mpz_set.asm'
include 'mpz_set_d.asm'
include 'mpz_read_radix.asm'
include 'fsm_mpz_abs.asm'
include 'fwc_mpz_abs.asm'
include 'alu_mpz_copy.asm'
include 'fsm_alu_mpz_add_d.asm'
include 'fsm_alu_mpz_sub_d.asm'
include 'fsm_alu_mpz_mul_d.asm'
;----------------------------
include 'fsm_alu_mpn_add.asm'
include 'fsm_alu_mpn_sub.asm'
include 'fsm_alu_mpz_add.asm'
include 'fsm_alu_mpz_sub.asm'
;----------------------------
include 'fwc_alu_mpn_add.asm'
include 'fwc_alu_mpn_sub.asm'
include 'fwc_alu_mpz_add.asm'
include 'fwc_alu_mpz_sub.asm'
;----------------------------
include 'fsm_alu_mpz_mul_2.asm'
include 'fsm_alu_mpz_div_2.asm'
include 'fwc_alu_mpz_mul_2.asm'
include 'fwc_alu_mpz_div_2.asm'
;----------------------------
include 'fsm_alu_mpz_lshd.asm'
include 'fsm_alu_mpz_rshd.asm'
include 'fsm_alu_mpz_mul_2d.asm'
include 'fsm_alu_mpz_div_2d.asm'
include 'mpz_mod_2d.asm'
struct MP_INT
usd dd ?
alc dd ?
sgn dd ?
dat dd ?
ends
MP_PREC = 8 ;byte 8 16 32 64 128 256 ...
MP_MASK = 3FFFFFFFh ;base 30bit 28~31
MP_BIT = 30
MP_GT = 1 ;大于
MP_EQ = 0 ;等于
MP_LT =-1 ;小于
;-----------------------------------------------
;初期命名
;-----------------------------------------------
;fsm_ :self-modifying . example a=a+b.
;fwc_ :write on copy . example c=a+b.
;instruction set:_alu_ 、_mmx_ 、_sse2_、_avx_.
;z:high level . n:low level.
;-----------------------------------------------
include 'XMALLOC.asm'
include 'XREALLOC.asm'
include 'XFREE.asm'
include 'XMEMMOVE.asm'
;----------------------------
include 'mpn_grow.asm'
include 'mpn_cmp_mag.asm'
include 'mpz_init.asm'
include 'mpz_clear.asm'
include 'mpz_init_size.asm'
include 'mpz_init_copy.asm'
include 'mpz_zero.asm'
include 'mpz_neg.asm'
include 'mpz_set.asm'
include 'mpz_set_d.asm'
include 'mpz_read_radix.asm'
include 'fsm_mpz_abs.asm'
include 'fwc_mpz_abs.asm'
include 'alu_mpz_copy.asm'
include 'fsm_alu_mpz_add_d.asm'
include 'fsm_alu_mpz_sub_d.asm'
include 'fsm_alu_mpz_mul_d.asm'
;----------------------------
include 'fsm_alu_mpn_add.asm'
include 'fsm_alu_mpn_sub.asm'
include 'fsm_alu_mpz_add.asm'
include 'fsm_alu_mpz_sub.asm'
;----------------------------
include 'fwc_alu_mpn_add.asm'
include 'fwc_alu_mpn_sub.asm'
include 'fwc_alu_mpz_add.asm'
include 'fwc_alu_mpz_sub.asm'
;----------------------------
include 'fsm_alu_mpz_mul_2.asm'
include 'fsm_alu_mpz_div_2.asm'
include 'fwc_alu_mpz_mul_2.asm'
include 'fwc_alu_mpz_div_2.asm'
;----------------------------
include 'fsm_alu_mpz_lshd.asm'
include 'fsm_alu_mpz_rshd.asm'
include 'fsm_alu_mpz_mul_2d.asm'
include 'fsm_alu_mpz_div_2d.asm'
include 'mpz_mod_2d.asm'