?? myclib.msa
字號:
?BF_MASKED_ST_L10: //----------------------//
ld c,(ix+1)
ld b,(ix+2)
ld a,e
and c
ld e,a
ld a,d
and b
ld d,a
ld a,b
cpl
and (hl)
or d
ld (hl),a
dec hl
ld a,c
cpl
and (hl)
or e
ld (hl),a
ret
/*?BF_S_RET_VAL2_L10
call ?BF_MASKED_ST_L10
pop de
ld a,e
and c
ld e,a
ld a,d
and b
ld d,a
jr BF_S_RET_VAL2_L10_0*/
/******************************************************************************/
?BF_S_RET_VAL_L10: //----------------------//
call ?BF_MASKED_ST_L10
jp ?MY_BF_S_RET_VAL_L10
/******************************************************************************/
?MY_BF_S_RET_VAL_L10: //----------------------//
ld c,(ix+0)
bit 7,c
jr z,BF_S_RET_VAL_L10_0
ld a,c
and 0fh
ld b,a
bit 6,c
jr z,BF_S_RET_VAL_L10_1
call ?BF_SS_EXT_L10
call ?SS_RSH_L02
ld b,d
ld c,e
pop hl
jp BF_S_RET_VAL_L10_2
BF_S_RET_VAL_L10_1
call ?US_RSH_L02
ld b,d
ld c,e
pop hl
jp BF_S_RET_VAL_L10_2
BF_S_RET_VAL_L10_0
pop bc
BF_S_RET_VAL_L10_2
pop af
pop hl
pop de
pop ix
ex de,hl
ex (sp),hl
ex de,hl
ret
/******************************************************************************/
?SC_DIV_L01: //----------------------//
push bc
push de
ld c,a
xor a
call ?C_FIND_SIGN_L01
push af
call ?C_DIVMOD_L01
pop af
or a
ld a,c
jr z,SC_DIV_L01_0
inc a
jr SC_DIV_L01_1
SC_DIV_L01_0
xor 0ffh
SC_DIV_L01_1
pop de
pop bc
ret
/******************************************************************************/
?UC_DIV_L01: //----------------------//
push bc
push de
ld c,a
call ?C_DIVMOD_L01
ld a,c
xor 0ffh
pop de
pop bc
ret
/******************************************************************************/
?US_DIV_L02: //----------------------//
push af
push hl
call ?S_DIVMOD_L02
ld a,e
cpl
ld e,a
ld a,d
cpl
ld d,a
pop hl
pop af
ret
/******************************************************************************/
?US_DIVASG_L02: //----------------------//
ld e,(hl)
inc hl
ld d,(hl)
call ?US_DIV_L02
ld (hl),d
dec hl
ld (hl),e
ret
/******************************************************************************/
?SS_DIV_L02: //----------------------//
push af
push bc
push hl
xor a
call ?S_FIND_SIGN_L02
push af
call ?S_DIVMOD_L02
pop af
or a
jr z,SS_DIV_L02_0
inc de
jr SS_DIV_L02_1
SS_DIV_L02_0
ld a,e
cpl
ld e,a
ld a,d
cpl
ld d,a
SS_DIV_L02_1
pop hl
pop bc
pop af
ret
/******************************************************************************/
?S_FIND_SIGN_L02: //----------------------//
bit 7,b
jr z,S_FIND_SIGN_L02_0
xor a
sub c
ld c,a
ld a,0
sbc a,b
ld b,a
ld a,1
S_FIND_SIGN_L02_0
bit 7,d
ret z
push af
xor a
sub e
ld e,a
ld a,0
sbc a,d
ld d,a
pop af
xor 1
ret
/******************************************************************************/
?SS_DIVASG_L02: //----------------------//
ld e,(hl)
inc hl
ld d,(hl)
call ?SS_DIV_L02
ld (hl),d
dec hl
ld (hl),e
ret
/******************************************************************************/
?SL_DIVASG_L03: //----------------------//
push bc
push de
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld c,(hl)
inc hl
ld b,(hl)
ex de,hl
call ?SL_DIV_L03
JP ?L_END_MULDIVASG_L03
/******************************************************************************/
?SL_DIV_L03: //----------------------//
ex de,hl
ex (sp),hl
push af
push ix
ld ix,0
add ix,sp
push bc
push de
ld d,(ix+9)
ld (ix+9),h
ld e,(ix+8)
ld (ix+8),l
xor a
call ?L_FIND_SIGN_L03
call ?L_DIVMOD_L03
pop hl
pop bc
or a
call z,?L_NOT_L03
call nz,?L_INC_L03
pop ix
pop af
pop de
inc sp
inc sp
ret
/******************************************************************************/
?UL_DIVASG_L03: //----------------------//
push bc
push de
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ld c,(hl)
inc hl
ld b,(hl)
ex de,hl
call ?UL_DIV_L03
JP ?L_END_MULDIVASG_L03
/******************************************************************************/
?UL_DIV_L03: //----------------------//
ex de,hl
ex (sp),hl
push af
push ix
ld ix,0
add ix,sp
push bc
push de
ld d,(ix+9)
ld (ix+9),h
ld e,(ix+8)
ld (ix+8),l
call ?L_DIVMOD_L03
pop hl
pop bc
call ?L_NOT_L03
pop ix
pop af
pop de
inc sp
inc sp
ret
/******************************************************************************/
?C_V_SWITCH_L06: //----------------------//
ex (sp),hl
push af
push bc
ld c,(hl)
inc hl
ld b,(hl)
inc hl
ld a,e
cpir
jr nz,C_V_SWITCH_L06_0
inc hl
inc hl
C_V_SWITCH_L06_0
add hl,bc
jp ?V_SWITCH_END_L06
/******************************************************************************/
?V_SWITCH_END_L06:
add hl,bc
add hl,bc
ld a,(hl)
inc hl
ld h,(hl)
ld l,a
pop bc
pop af
ex (sp),hl
ret
/******************************************************************************/
?C_S_SWITCH_L06
ex (sp),hl
push af
push de
ld d,0
ld a,e
sub (hl)
inc hl
ld e,a
sub (hl)
inc hl
ld a,d
sbc a,(hl)
inc hl
jr nc,C_S_SWITCH_L06_0
ex de,hl
inc hl
add hl,hl
add hl,de
C_S_SWITCH_L06_0:
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
pop de
pop af
ex (sp),hl
ret
/******************************************************************************/
?ENT_PARM_DIRECT_L09:
pop hl
push bc
push de
push ix
ld ix,0
add ix,sp
jp (hl)
/******************************************************************************/
?LEAVE_DIRECT_L09:
ld sp,ix
pop ix
pop de
pop bc
ret
/******************************************************************************/
?MONITOR_LEAVE_IX_L09:
pop af
ld sp,ix
pop ix
ret po
ei
ret
/******************************************************************************/
?STRCPY_L11:
push af
push hl
push de
push bc
xor a
ex de,hl
STRCPY_L11_l0
cp (hl)
ldi
jr nz,STRCPY_L11_l0
pop bc
pop de
pop hl
pop af
ret
/******************************************************************************/
?MEMSET_L11:
push af
push hl
push de
ld a,b
or c
jr z,MEMSET_L11_l0
ld a,l
ld (de),a
dec bc
ld a,b
or c
jr z,MEMSET_L11_l0
ld l,e
ld h,d
inc de
ldir
MEMSET_L11_l0
pop de
pop hl
pop af
ret
/******************************************************************************/
?MONITOR_LEAVE_IX_PA_L09:
ld h,a
pop af
ld a,h
ld sp,ix
pop ix
ret po
ei
ret
/******************************************************************************/
memmove:
push ix
ld ix,0
add ix,sp
push bc
push de
ld l,c
ld h,b
ld c,(ix+4)
ld b,(ix+5)
ldir
pop de
pop bc
pop ix
ret
//added by vicky 20040816
/******************************************************************************/
?L_DEC_L03: //----------------------//
push af
ld a,l
or h
dec hl
jr nz,L_DEC_L03_0
dec bc
L_DEC_L03_0
pop af
ret
/******************************************************************************/
?S_S_SWITCH_L06: //----------------------//
ex (sp),hl
push af
push de
ld a,e
sub (hl)
inc hl
ld e,a
ld a,d
sbc a,(hl)
inc hl
ld d,a
ld a,e
sub (hl)
inc hl
ld a,d
sbc a,(hl)
inc hl
jp ?S_SWITCH_END_L06
/******************************************************************************/
?S_SWITCH_END_L06: //----------------------//
jr nc,S_SWITCH_END_L06_0
ex de,hl
inc hl
add hl,hl
add hl,de
S_SWITCH_END_L06_0
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
pop de
pop af
ex (sp),hl
ret
/******************************************************************************/
?S_V_SWITCH_L06: //----------------------//
ex (sp),hl
push af
push bc
ld c,(hl)
inc hl
ld b,(hl)
S_V_SWITCH_L06_0
inc hl
ld a,b
or c
jr z,S_V_SWITCH_L06_1
dec bc
ld a,e
sub (hl)
inc hl
jr nz,S_V_SWITCH_L06_0
ld a,d
sub (hl)
jr nz,S_V_SWITCH_L06_0
inc hl
inc hl
inc hl
S_V_SWITCH_L06_1
add hl,bc
add hl,bc
jp ?V_SWITCH_END_L06
/******************************************************************************/
?MEMCMP_L11: //----------------------//
push af
push bc
push de
ld a,c
or b
jr z,MEMCMP_L11_1
MEMCMP_L11_0
ld a,(de)
cpi
jr nz,MEMCMP_L11_2
inc de
jp pe,MEMCMP_L11_0
MEMCMP_L11_1
ld hl,0
jr MEMCMP_L11_3
MEMCMP_L11_2
push af
pop hl
ld h,l
MEMCMP_L11_3
pop de
pop bc
pop af
ret
/******************************************************************************/
?STRCMP_L11: //----------------------//
push af
push de
STRCMP_L11_0
ld a,(de)
cp (hl)
jr nz,STRCMP_L11_1
inc de
inc hl
or a
jr nz,STRCMP_L11_0
ld hl,0
defb 11
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -