📄 debug.asm
字号:
;;======== 复习---英译汉 初始化界面 ===========
goe2cstar:
lda #3
sta ItemNo
stz <newflag
lda #<goe2cstar-1
sta HelpRtPrc
lda #>goe2cstar-1
sta HelpRtPrc+1
jsr call_goe2c_c2e_help
stz word_counter
stz temp_goe2c_flag
stz <textscreenno1
jsr get_first_word_address
lda studyrage ;;当前学习内容
cmp #studyragemax ;;学习内容的最大数
beq goe2c_star_not_fen_Next
jmp goe2c_star_not_fen
goe2c_star_not_fen:
jsr get_first_word_address_0
lda <temp ;;
bne goe2c_star_not_fen_Next
jmp have_finish
goe2c_star_not_fen_Next:
lcls
stz temp_goe2c_flag ;;第一次进入复习填空中
stz temp_study4 ;;置有无下屏标志=1无
lda #>PageXaddrbuff_study ;;初始化存放屏数的buffer
sta <insh
lda #<PageXaddrbuff_study ;;保存6字节单词地址,长度未知=256?
sta <insl
ldy #255
jsr clearram ;;入口insh,insl,y
stz textpagenum_study ;;初始化存放屏数的变量
jsr push_inf_bak ;;保存解压前的信息
jsr unpress_english ;;
;;该子程序先调用getchainLen
;;function:得到链长chainlen,并把地址指向词条
;;input:此单词的首地址<indxd &<bitcount
;;output:<ChainLenL & ChainLenH <indxd &<bitcount
;;再使用Lextract_word
;;function:extract one word
;;input:大库的地址<indxd &<Drr &开始字节数bitcount
;;output:结果存入cdict_result ;<bitcount ;<bitcmp
jsr extract_and_show_all ;;调用英汉程序解压,解压出英文放wordlocation中
jsr showEnglishandphone ;;显示英文和音标(完整)
lda <temp
beq ?1
jmp second_into_goe2c
?1: jsr extract_and_show_all_00 ;;调用英汉程序解压和显示中文
lda <temp
bne ?2
jmp second_into_goe2c
?2: jsr pop_inf_bak ;;复原解压前的信息
jsr unpress_english ;;解压出英文放wordlocation中
jsr extract_and_show_all ;;调用英汉程序解压和显示英文音标
jsr showEnglishandphone ;;显示英文和音标
jmp go_to_lmain
goe2ckeyin: ;;复习---英译汉 键控
ldy #0ffh
goe2ckeyin_loop:
iny
lda goe2c_key_table,y
bmi end_goe2ckeyin
cmp <KeyNo
bne goe2ckeyin_loop
tya
asl
tay
lda goe2ckeyin_program+1,y
pha
lda goe2ckeyin_program,y
pha
rts
end_goe2ckeyin:
jmp go_to_lmainu
goe2c_enterkey:
stz <newflag
lda temp_goe2c_flag
beq first_into_goe2c ;;第一次,没显示中文
jmp second_into_goe2c
first_into_goe2c:
lda #1
sta temp_goe2c_flag
?1: jsr store_pageXaddr_study ;;function:保存每页的首地址
;;input:<indxd & bitcount
;;output:存入PageXaddrbuff 6个字节一组
lda screenmode
cmp #4
bne ?_5
?_4: jsr tiao_chuji_mode4 ;;从第2行开始显示
bra ?_go_to_extract
?_5: jsr tiao_chuji_mode5_9 ;;???可能是从第4行开始显示
?_go_to_extract:
jsr extract_and_show_all_00 ;;调用英汉程序解压和显示中文
;;入口curymax_bak,curx,cury star_textbuffor end_textbuffor
;;出口showwordlocation
llight_lcd_icon icon_downpage
jsr updatejieshiyinbiao ;;该子程序先调用lupdatescreen,再调用Show_jieshiyinbiao
;;function:显示解释里的音标适用各种模式
;;input: yinbiaoinfbuff & jieshiyinbiaobuff
;;output:显示在<OX OY的位置上
jmp go_to_lmainu
goe2c_esckey:
jmp studyload_0
goe2c_pgdownkey_new_word:
jsr current_addr_addc5
jsr get_new_word_address_again ;;???
inc word_counter
jmp goe2c_star_not_fen_Next
second_into_goe2c:
stz <newflag
stz temp_goe2c_flag
lda studyrage
cmp #studyragemax
beq goe2c_pgdownkey_new_word
?1: lda word_counter
cmp #max_word
bne goe2c_not_finish
goe2c_have_finish:
jmp have_finish
goe2c_not_finish:
inc word_counter
jsr current_addr_addc_4 ;;<indxd++
jmp goe2c_star_not_fen
go_to_lmain:
lmain
have_finish:
lda <gamestate_study
cmp #4
bne have_finish_00
jmp fill_have_finish
have_finish_00:
jsr call_lsetscreen
lda #>ds0bank
sta <drrh
lda #<ds0bank
sta <drrl
lda ItemNo
cmp #3
beq ?_e2c
cmp #4
beq ?_c2e
lprint not_next_word
bra ?all_to_here
?_e2c:
lprint e2c_not_next_word
bra ?all_to_here
?_c2e:
lprint c2e_not_next_word
?all_to_here:
jsr call_lupdatescreen
jsr delay1s
jsr delay1s
jsr delay1s
jsr delay1s
jmp studyload_0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -