📄 change.asm
字号:
dw FMULTT_S-1
jsr push_fac_to_hs_data_stack
jsr i_equ_i_1
jsr pop_fac_from_hs_data_stack
bra ?fpln_loop
?fpln_loop_exit:
rts
count_y_mul_k_add_1:
lda #>realty_month
tay
lda #<realty_month
jsr copy_data_to_fac
lda #>realty_n_1
tay
lda #<realty_n_1
jsr copy_fac_to_data
jsr i_equ_i_1
lda #>tab_1d0
tay
lda #<tab_1d0
jsr copy_tab_to_fac
fpln_loop:
lda realty_n_1
beq fpln_loop_exit
lda #>realty_k
tay
lda #<realty_k
jsr copy_data_to_arg
jsr ljsr
dw SciBank
dw FMULTT_S-1
lda #>tab_1d0
tay
lda #<tab_1d0
jsr copy_tab_to_arg
jsr ljsr
dw SciBank
dw FADDT_S-1
jsr push_fac_to_hs_data_stack
jsr i_equ_i_1
jsr pop_fac_from_hs_data_stack
bra fpln_loop
fpln_loop_exit:
rts
;====================================================
i_equ_i_1:
lda #>realty_n_1
tay
lda #<realty_n_1
jsr copy_data_to_arg
lda #>tab_1d0
tay
lda #<tab_1d0
jsr copy_tab_to_fac
jsr ljsr
dw SciBank
dw FSUBT_S-1
lda #>realty_n_1
tay
lda #<realty_n_1
jsr copy_fac_to_data
rts
;====================================================
count_k_in_realty:
lda #>tab_1200
tay
lda #<tab_1200
jsr copy_tab_to_arg
jsr ljsr
dw SciBank
dw FADDT_S-1
jsr copy_fac_to_arg
lda #>tab_1200
tay
lda #<tab_1200
jsr copy_tab_to_fac
lda #0
jsr ljsr
dw SciBank
dw FDIVT_S-1
lda #>realty_k
tay
lda #<realty_k
jsr copy_fac_to_data
rts
;====================================================
RetMenu_stat:
jmp TLoad_0
;==========================================================
stat_process:
jsr if_stat_key
bpl ?is_stat_key
jmp jmplmain
?is_stat_key:
stz float_bit
stz hs_flag
lda <KeyNo
cmp #EscKey
beq RetMenu_stat
lda input_status
asl
tax
lda stat_input_status+1,x
pha
lda stat_input_status,x
pha
rts
;====================================================
stat_input_status_0:
lda <KeyNo
cmp #ac_key
beq ?11113
cmp #SpaceKey
bne ?11117
jmp ?count_stat_result
?11117:
lda stat_n
cmp #50
bcc ?11111111
jmp jmplmain
?11111111:
lda <KeyNo
cmp #VKey
beq ?11114
cmp #FKey
beq ?11115
cmp #EnterKey
beq ?11116
jmp data_input_in_stat_jmp
?11113:
jmp stat_init
?11114:
jmp hs_disp_only_0
?11115:
lda #01000000b
eor StatusFlag
sta StatusFlag
bbs6 <MinusFlag,?2
stz Fac_Sgn
bra ?3
?2:
lda #ffh
sta Fac_Sgn
?3:
lda #04h
sta <oy
jsr List_input_digit
jmp jmplmain
;=======================================================
?11116:
inc stat_n
lda #>tab_1d0
tay
lda #<tab_1d0
jsr copy_tab_to_fac
lda #>stat_value_n
tay
lda #<stat_value_n
jsr copy_data_to_arg
jsr ljsr
dw SciBank
dw FADDT_S-1
lda #>stat_value_n
tay
lda #<stat_value_n
jsr copy_fac_to_data
jsr jsr_fin
jsr push_fac_to_hs_data_stack
jsr disp_old_stat_input
lda stat_n
cmp #1
bne ?skip_init_max_min
lda #>stat_max_value
tay
lda #<stat_max_value
jsr copy_fac_to_data
lda #>stat_min_value
tay
lda #<stat_min_value
jsr copy_fac_to_data
bra ?it_is_not_the_max
?skip_init_max_min:
jsr pop_fac_from_hs_data_stack
jsr push_fac_to_hs_data_stack
lda #>stat_min_value
tay
lda #<stat_min_value
jsr copy_data_to_arg
jsr jsr_sub
jsr fac_if_minus
bne ?it_is_not_the_min
jsr pop_fac_from_hs_data_stack
jsr push_fac_to_hs_data_stack
lda #>stat_min_value
tay
lda #<stat_min_value
jsr copy_fac_to_data
bra ?it_is_not_the_max
?it_is_not_the_min:
jsr pop_fac_from_hs_data_stack
jsr push_fac_to_hs_data_stack
lda #>stat_max_value
tay
lda #<stat_max_value
jsr copy_data_to_arg
jsr jsr_sub
jsr fac_if_minus
beq ?it_is_not_the_max
jsr pop_fac_from_hs_data_stack
jsr push_fac_to_hs_data_stack
lda #>stat_max_value
tay
lda #<stat_max_value
jsr copy_fac_to_data
?it_is_not_the_max:
jsr pop_fac_from_hs_data_stack
jsr push_fac_to_hs_data_stack
?cnt_E_x_2:
jsr copy_fac_to_arg
jsr ljsr_mul
lda #>stat_E_x_2
tay
lda #<stat_E_x_2
jsr copy_data_to_arg
jsr ljsr
dw SciBank
dw FADDT_S-1
lda #>stat_E_x_2
tay
lda #<stat_E_x_2
jsr copy_fac_to_data
jsr pop_fac_from_hs_data_stack
jsr push_fac_to_hs_data_stack
?cnt_E_x:
lda #>stat_E_x
tay
lda #<stat_E_x
jsr copy_data_to_arg
jsr ljsr
dw SciBank
dw FADDT_S-1
lda #>stat_E_x
tay
lda #<stat_E_x
jsr copy_fac_to_data
?cnt_x__:
lda stat_n
sta stat_n_bak
lda hs_stack_dptrl
pha
lda hs_stack_dptrh
pha
jsr clearnum_hs
lda #>stat_x__
tay
lda #<stat_x__
jsr copy_fac_to_data
jsr copy_fac_to_arg
jsr copy_arg_to_argbak
?_nt_x___dt_continue:
jsr pop_arg_from_hs_data_stack
lda #>stat_value_n
tay
lda #<stat_value_n
jsr copy_data_to_fac
jsr ljsr
dw SciBank
dw FDIVT_S-1
jsr copy_argbak_to_arg
jsr ljsr
dw SciBank
dw FADDT_S-1
jsr copy_fac_to_arg
jsr copy_arg_to_argbak
dec stat_n_bak
bne ?_nt_x___dt_continue
pla
sta hs_stack_dptrh
pla
sta hs_stack_dptrl
jsr stat_five_to_inc_1
lda #>stat_x__
tay
lda #<stat_x__
jsr copy_fac_to_data
jmp hs_disp_only_0
?count_stat_result:
lda stat_n
bne ?stat_count_can
jmp jmplmain
?stat_count_can:
lda #01h
sta input_status
stz which_item
jmp stat_display
stat_input_status_1:
lda <KeyNo
cmp #ac_key
bne ?21113
jmp stat_init
?21113:
cmp #VKey
bne ?21114
jsr pop_fac_from_hs_data_stack
jsr push_fac_to_hs_data_stack
jsr display_data2
stz input_status
jsr disp_old_stat_input
jmp hs_disp_only_0
?21114:
cmp #DownKey
bne ?21115
jsr add_which_item
bra ?21117
?21115:
cmp #UpKey
beq ?21116
jmp jmplmain
?21116:
jsr dec_which_item
bra ?21117
?21117:
stat_display:
jsr disp_the_last_sub_menu_in_stat
?stat_last_count:
lda which_item
asl
tax
lda stat_count_status+1,x
pha
lda stat_count_status,x
pha
rts
stat_count_status0:
lda #>stat_x__
tay
lda #<stat_x__
copy_fac_to_display_and_ret:
jsr copy_data_to_fac
stat_disp_result:
_display_and_ret:
jsr add_icon
jsr display_data1
jmp jmplmain
stat_count_status1:
stz hs_flag
stat_count_status1_1:
jsr cnt_E_x_2_sub_E_2_x_div_n
jsr copy_fac_to_arg
lda #>stat_value_n
tay
lda #<stat_value_n
jsr copy_data_to_fac
lda #00h
jsr ljsr
dw SciBank
dw FDIVT_S-1
lda hs_flag
beq ?stat_need_sqr
stz hs_flag
bra stat_disp_result
?stat_need_sqr:
stz fac_sgn
jsr ljsr
dw SciBank
dw SQR_S-1
bra stat_disp_result
stat_count_status7:
lda #0ffh
sta hs_flag
bra stat_count_status1_1
stat_count_status2:
lda stat_n
cmp #02h
bcs ?dstat_dt2_n_1_value_norm
jsr clear_fac
bra stat_disp_result
?dstat_dt2_n_1_value_norm:
jsr cnt_E_x_2_sub_E_2_x_div_n
jsr copy_fac_to_x___dt
lda #>stat_value_n
tay
lda #<stat_value_n
jsr copy_data_to_arg
lda #>tab_1d0
tay
lda #<tab_1d0
jsr copy_tab_to_fac
jsr jsr_sub
jsr copy_x___dt_to_arg
lda #00h
jsr ljsr
dw SciBank
dw FDIVT_S-1
jsr ljsr
dw SciBank
dw SQR_S-1
jmp stat_disp_result
stat_count_status3:
lda stat_n
sta stat_n_bak
lda hs_stack_dptrl
pha
lda hs_stack_dptrh
pha
jsr clearnum_hs
lda #>x___dt
tay
lda #<x___dt
jsr copy_fac_to_data
lda #>stat_x__
tay
lda #<stat_x__
jsr copy_data_to_fac
lda fac_sgn
eor #0ffh
sta fac_sgn
lda #>stat_argbak
tay
lda #<stat_argbak
jsr copy_fac_to_data
?cnt_x___dt_continue:
jsr copy_argbak_to_arg
jsr pop_fac_from_hs_data_stack
jsr ljsr
dw SciBank
dw FADDT_S-1
stz fac_sgn
jsr copy_x___dt_to_arg
jsr ljsr
dw SciBank
dw FADDT_S-1
jsr copy_fac_to_x___dt
dec stat_n_bak
bne ?cnt_x___dt_continue
jsr copy_fac_to_arg
lda #>stat_value_n
tay
lda #<stat_value_n
jsr copy_data_to_fac
lda #00h
jsr ljsr
dw SciBank
dw FDIVT_S-1
pla
sta hs_stack_dptrh
pla
sta hs_stack_dptrl
jmp stat_disp_result
stat_count_status4:
lda #>stat_E_x
tay
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -