⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 change.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        lda     #<stat_E_x
        jmp     copy_fac_to_display_and_ret

stat_count_status5:
        lda     #>stat_E_x_2
        tay
        lda     #<stat_E_x_2
        jmp     copy_fac_to_display_and_ret

stat_count_status6:
        lda     #>stat_value_n
        tay
        lda     #<stat_value_n
        jmp     copy_fac_to_display_and_ret

stat_count_status8:
        lda     #>stat_max_value
        tay
        lda     #<stat_max_value
        jsr     copy_data_to_arg
        lda     #>stat_min_value
        tay
        lda     #<stat_min_value
        jsr     copy_data_to_fac

        jsr     jsr_sub
        stz     fac_sgn
        jmp     stat_disp_result
cnt_E_x_2_sub_E_2_x_div_n:
        lda     stat_n
        sta     stat_n_bak
        lda     hs_stack_dptrl
        pha
        lda     hs_stack_dptrh
        pha
        jsr     clearnum_hs
        jsr     copy_fac_to_argbak

?_nt_x___dt_continue:
        jsr     pop_arg_from_hs_data_stack
        lda     #>stat_x__
        tay
        lda     #<stat_x__
        jsr     copy_data_to_fac
        jsr     ljsr
        dw      SciBank
        dw      FSUBT_S-1
        jsr     copy_fac_to_arg

        jsr     ljsr
        dw      SciBank
        dw      FMULTT_S-1

        jsr     copy_argbak_to_arg

        jsr     ljsr
        dw      SciBank
        dw      FADDT_S-1
        jsr     copy_fac_to_argbak

        dec     stat_n_bak
        bne     ?_nt_x___dt_continue

        pla
        sta     hs_stack_dptrh
        pla
        sta     hs_stack_dptrl
        lda     fac_sgn
        bpl     ?_rts
        jsr     clear_fac
?_rts:
        rts
;====================================================
RetMenu_area:
        jmp     TLoad_0

area_conversion_process:
        jsr     if_unit_exchange_key
        bpl     ?is_unit_exchange_key
        jmp     jmplmain
?is_unit_exchange_key:
        stz     float_bit
        lda     <KeyNo
        cmp     #EscKey
        beq     RetMenu_area

        lda     input_status
        asl
        tax
        lda     area_input_status+1,x
        pha
        lda     area_input_status,x
        pha
        rts
;====================================================
area_input_status_0:
        lda     #bit_if_count
        sta     hs_flag
        lda     <KeyNo
        cmp     #DownKey
        bne     ?11111
        jsr     add_which_item
        jmp     disp_the_last_sub_menu_in_area
?11111:
        cmp     #UpKey
        bne     ?11112
        jsr     dec_which_item
        jmp     disp_the_last_sub_menu_in_area
?11112:
        cmp     #EnterKey
        beq     ?11113
        cmp     #ac_key
        beq     ?11113
        jmp     jmplmain
?11113:
        jmp     _11113
;====================================================
area_input_status_1:
        lda     <KeyNo
        cmp     #DownKey
        bne     ?fdsfdsf
        jmp     _1111xx
?fdsfdsf:
        cmp     #upKey
        bne     ?rrsfdsf
        jmp     _1111xx
?rrsfdsf:
        cmp     #ac_key
        bne     ?11113
        jmp     _11113
?11113:
        cmp     #EnterKey
        beq     ?11115
        jmp     data_input_in_length
?11115:
        lda     hs_flag
        and     #bit_if_count
        beq     ?11118
        jmp     jmplmain
?11118:
        lda     hs_flag
        ora     #bit_if_count
        sta     hs_flag
        jsr     jsr_fin

        lda     which_item
        asl
        tax
        lda     area_modulus_tab+1,x
        tay
        lda     area_modulus_tab,x
        jsr     copy_tab_to_arg

        jsr     ljsr_mul

        jmp     _display_clr_hs_and_ret
;====================================================
RetMenu_valume:
        jmp     TLoad_0

valume_conversion_process:
        jsr     if_unit_exchange_key
        bpl     ?is_unit_exchange_key
        jmp     jmplmain
?is_unit_exchange_key:
        stz     float_bit
        lda     <KeyNo
        cmp     #EscKey
        beq     RetMenu_valume

        lda     input_status
        asl
        tax
        lda     valume_input_status+1,x
        pha
        lda     valume_input_status,x
        pha
        rts
;====================================================
valume_input_status_0:
        lda     #bit_if_count
        sta     hs_flag
        lda     <KeyNo
        cmp     #DownKey
        bne     ?11111
        jsr     add_which_item
        jmp     disp_the_last_sub_menu_in_valume
?11111:
        cmp     #UpKey
        bne     ?11112
        jsr     dec_which_item
        jmp     disp_the_last_sub_menu_in_valume
?11112:
        cmp     #EnterKey
        beq     ?11113
        cmp     #ac_key
        beq     ?11113
        jmp     jmplmain
?11113:
        jmp     _11113
;====================================================
valume_input_status_1:
        lda     <KeyNo
        cmp     #DownKey
        bne     ?fdsfdsf
        jmp     _1111xx
?fdsfdsf:
        cmp     #upKey
        bne     ?rrsfdsf
        jmp     _1111xx
?rrsfdsf:
        cmp     #ac_key
        bne     ?11113
        jmp     _11113
?11113:
        cmp     #EnterKey
        beq     ?11115
        jmp     data_input_in_length
?11115:
        lda     hs_flag
        and     #bit_if_count
        beq     ?11118
        jmp     jmplmain
?11118:
        lda     hs_flag
        ora     #bit_if_count
        sta     hs_flag
        jsr     jsr_fin

        lda     which_item
        asl
        tax
        lda     valume_modulus_tab+1,x
        tay
        lda     valume_modulus_tab,x
        jsr     copy_tab_to_arg

        jsr     ljsr_mul

        jmp     _display_clr_hs_and_ret

;====================================================
RetMenu_weight:
        jmp     TLoad_0

weight_conversion_process:
        jsr     if_unit_exchange_key
        bpl     ?is_unit_exchange_key
        jmp     jmplmain
?is_unit_exchange_key:
        stz     float_bit
        lda     <KeyNo
        cmp     #EscKey
        beq     RetMenu_weight

        lda     input_status
        asl
        tax
        lda     weight_input_status+1,x
        pha
        lda     weight_input_status,x
        pha
        rts
;====================================================
weight_input_status_0:
        lda     #bit_if_count
        sta     hs_flag
        lda     <KeyNo
        cmp     #DownKey
        bne     ?11111
        jsr     add_which_item
        jmp     disp_the_last_sub_menu_in_weight
?11111:
        cmp     #UpKey
        bne     ?11112
        jsr     dec_which_item
        jmp     disp_the_last_sub_menu_in_weight
?11112:
        cmp     #EnterKey
        beq     ?11113
        cmp     #ac_key
        beq     ?11113
        jmp     jmplmain
?11113:
        jmp     _11113

;====================================================
weight_input_status_1:
        lda     <KeyNo

        cmp     #DownKey
        bne     ?fdsfdsf
        jmp     _1111xx
?fdsfdsf:
        cmp     #upKey
        bne     ?rrsfdsf
        jmp     _1111xx
?rrsfdsf:
        cmp     #ac_key
        bne     ?11113
        jmp     _11113
?11113:
        cmp     #EnterKey
        beq     ?11115
        jmp     data_input_in_length
?11115:
        lda     hs_flag
        and     #bit_if_count
        beq     ?11118
        jmp     jmplmain
?11118:
        lda     hs_flag
        ora     #bit_if_count
        sta     hs_flag
        jsr     jsr_fin

        lda     which_item
        asl
        tax
        lda     weight_modulus_tab+1,x
        tay
        lda     weight_modulus_tab,x
        jsr     copy_tab_to_arg

        jsr     ljsr_mul

        jmp     _display_clr_hs_and_ret

;====================================================
RetMenu_temperature:
        jmp     TLoad_0

temperature_conversion_process:
        jsr     if_unit_exchange_key
        bpl     ?is_unit_exchange_key
        jmp     jmplmain
?is_unit_exchange_key:
        stz     float_bit
        lda     <KeyNo
        cmp     #EscKey
        beq     RetMenu_temperature

        lda     input_status
        asl
        tax
        lda     temperature_input_status+1,x
        pha
        lda     temperature_input_status,x
        pha
        rts
;====================================================
temperature_input_status_0:
        lda     #bit_if_count
        sta     hs_flag

        lda     <KeyNo
        cmp     #DownKey
        bne     ?11111
        jsr     add_which_item
        jmp     disp_the_last_sub_menu_in_temperature
?11111:
        cmp     #UpKey
        bne     ?11112
        jsr     dec_which_item
        jmp     disp_the_last_sub_menu_in_temperature
?11112:
        cmp     #EnterKey
        beq     ?11113
        cmp     #ac_key
        beq     ?11113
        jmp     jmplmain
?11113:
        jmp     _11113
;====================================================
temperature_input_status_1:
        lda     <KeyNo
        cmp     #DownKey
        bne     ?fdsfdsf
        jmp     _1111xx
?fdsfdsf:
        cmp     #upKey
        bne     ?rrsfdsf
        jmp     _1111xx
?rrsfdsf:
        cmp     #ac_key
        bne     ?11113
        jmp     _11113
?11113:
        cmp     #EnterKey
        beq     ?11115
        jmp     data_input_in_length
?11115:
        lda     hs_flag
        and     #bit_if_count
        beq     ?11118
        jmp     jmplmain
?11118:
        lda     hs_flag
        ora     #bit_if_count
        sta     hs_flag
        jsr     jsr_fin

        lda     which_item
        bne     ?fc_to_sc
;==================================================
        lda     #>tab_1d8
        tay
        lda     #<tab_1d8
        jsr     copy_tab_to_arg
        jsr     ljsr_mul

        lda     #>tab_32d0
        tay
        lda     #<tab_32d0
        jsr     copy_tab_to_arg

        jsr     LJSR
        dw      SciBank
        dw      FADDT_S-1
        bra     ?tempera_count_ok

;==================================================
?fc_to_sc:
        lda     #>tab_32d0
        tay
        lda     #<tab_32d0
        jsr     copy_tab_to_arg
        lda     80h
        sta     arg_sgn
        jsr     LJSR
        dw      SciBank
        dw      FADDT_S-1

        lda     #>tab_0d555
        tay
        lda     #<tab_0d555
        jsr     copy_tab_to_arg
        jsr     ljsr_mul

?tempera_count_ok:
        jmp     _display_clr_hs_and_ret
;===========================================================
RetMenu_tax_new_rate:
        jmp     TLoad_0

input_tax_rate_process:
        jsr     if_extra_tax_key
        bpl     ?if_extra_tax_key
        jmp     jmplmain
?if_extra_tax_key:
        stz     float_bit
        lda     <KeyNo
        cmp     #EscKey
        beq     RetMenu_tax_new_rate

        cmp     #ac_key
        beq     ?ac_key_input_in_tax_new_rate

        lda     input_status
        bne     ?if_enter_key_in_tax_new_rate
        bra     if_digit_input_in_tax_new_rate

?ac_key_input_in_tax_new_rate:
        jsr     input_bit_to_dec_hexflag
        jmp     _11113

?if_enter_key_in_tax_new_rate:
        lda     <KeyNo
        cmp     #EnterKey
        beq     ?new_tax_set_now
        bra     if_digit_input_in_tax_new_rate
?new_tax_set_now:
        jsr     jsr_fin
        jsr     copy_fac_to_arg

        lda     #>tab_100d0
        tay
        lda     #<tab_100d0
        jsr     copy_tab_to_fac
        lda     #00h
        jsr     ljsr
        dw      SciBank
        dw      FDIVT_S-1

        lda     #>tax_rate
        tay
        lda     #<tax_rate
        jsr     copy_fac_to_data

        jsr     jsrlcls
        lprint  set_finish
        jsr     delay_0d5s
        jsr     clearnum_hs
        jmp     tload_0

if_digit_input_in_tax_new_rate:
        ldx     #33
_d00000:
        lda     change_KeyNum,x
        cmp     <KeyNo
        beq     _d11111111
        dex
        bpl     _d00000
        jmp     jmplmain
_d11111111:
        lda     change_KeyParity1,x
        cmp     #0bh
        bcc     _d222222
        jmp     jmplm

⌨️ 快捷键说明

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