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

📄 goe2ctest.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
字号:

;;========	测试---英译汉	初始化界面	===========
goe2ctest:
	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		
goe2ctest_first_1:
	;jsr	current_addr_addc_4_bak
	lda	#0
	sta	get_e2c_num
	jsr	goe2ctest_disp
	;jsr	current_addr_addc_4
	jsr	goe2ctest_disp	
	;jsr	current_addr_addc_4
	jsr	goe2ctest_disp		
	;jsr	current_addr_addc_4_unbak

	stz	end_1_page
	jsr	dispbuffor2textbuffor

	lupdatescreen		
	jmp	go_to_lmainu	



goe2ctest_disp:
	jsr	get_first_word_address_0	;;查找第0-7个studyrage的首单词地址
	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	unpress_english			;;解压出英文放wordlocation中
	jsr	extract_and_show_all		;;调用英汉程序解压和显示英文音标
	jsr	showEnglishandphone		;;显示英文和音标
	jsr	store_pageXaddr_study		;;function:保存每页的首地址
						;;input:<indxd	&	bitcount
						;;output:存入PageXaddrbuff	6个字节一组
	lda	screenmode
	cmp	#4
	bne	?01
	jsr	tiao_chuji_mode4		;;从第2行开始显示
	bra	?02
?01:	jsr	tiao_chuji_mode5_9		;;???可能是从第4行开始显示
?02:	jsr	extract_and_show_all_00		;;调用英汉程序解压中文
	Lda	get_e2c_num
	bne	?03
	jsr	Etextbuffor2dispbuffor
?03:	jsr	Ctextbuffor2dispbuffor
	rts

goe2ctest_enterkey:
	stz	<newflag
	stz	temp_goe2c_flag
	lda	word_counter
	cmp	#max_word
	bne	goe2ctest_not_finish
	jmp	have_finish
goe2ctest_not_finish:
	inc	word_counter
	jsr	current_addr_addc_4	;;<indxd++,由此程序决定下一个单词的地址
	jmp	goe2ctest_first_1

;;====================================================================================
cls_english:
	lda	#0
	tay
dd_loop1:
        lda	#20h
        sta	textbuffor,y
        iny
        cpy	star_textbuffor    ;#40
        bne	dd_loop1
	rts
;;================	
Ctextbuffor2dispbuffor:
	lda	#0
	tay
?00:	lda	textbuffor+star_textbuffor,y
        sta	dispbuffor+get_e2c_num,y
        iny
        cpy	End_textbuffor
        bne	?00
	clc
        tya
        adc	get_e2c_num
        sta	get_e2c_num
	rts
;;================	
Etextbuffor2dispbuffor:
	lda	#0
	tay
?00:	lda	textbuffor,y
        sta	dispbuffor,y
        iny
        cpy	star_textbuffor
        bne	?00
        lda	star_textbuffor
        sta	get_e2c_num
	rts

;;================
dispbuffor2textbuffor:
	lda	end_1_page
	tay
?00:	Lda	dispbuffor,y
        sta	textbuffor,y
        iny
        cpy	end_1_page
        bne	?00
        clc
        tya
        adc	end_1_page
        sta	end_1_page
        rts
        
        	
;;====================================================================================


;;=======	调用英汉程序解压和显示中文	=YL==========
;;入口curymax_bak,curx,cury	star_textbuffor	end_textbuffor
;;出口showwordlocation
cls_textbuffor:
	stz		<temp
	lda	#iconDown&0ffh	
	trb	Icondown>>8
	lda	#iconUp&0ffh	
	trb	IconUp>>8		
	lda	#'	'	;;清除3~6行
	ldy	star_textbuffor
?1:
	sta	textbuffor,y
	iny
	cpy	end_textbuffor
	bcc	?1	
	stz	yinbiaoinfbuff
	stz	yinbiaoinfbuff+3
	stz	yinbiaoinfbuff+6
	stz	yinbiaoinfbuff+9
	;rts
;----------------------------------
XYZ:	
	lda	textpagenum_study
	beq	?_Offup
	lda	#IconUp&0ffh
	tsb	IconUp>>8
?_Offup:
	lda	#'1'
	sta	<CharL
	sta	<CharH
	Ldx	<CharL
	Ldy	<CharH
	LputChar

	lda	#'.'
	sta	<CharL
	sta	<CharH
	Ldx	<CharL
	Ldy	<CharH
	LputChar
?_loop:	
	jsr	store_inf
	jsr	ljsr
	dw	newenchbank	
	dw	extract_jieshi_oneByte-1
	lda	ItemNo	
	cmp	#5
	beq	?_is_tfill_mode	
	jsr	ljsr
	dw	newenchbank	
	dw	store_jieshiyinbiao-1			;;调用英汉保存音标程序
	bra	?_all_go_here
?_is_tfill_mode:	
	jsr	ljsr	
	dw	alarmbank
	dw	store_jieshiyinbiao_yiadd-1
?_all_go_here:	
	lda	<CharL
	sta	<CharH
	cmp	#0bh					;;如果是有保存此例句地址
	bne	?_notappearliju
	
	jsr	inc1_indxd
	jsr	inc1_indxd
	jsr	inc1_indxd	
?_notappearliju:	
	jsr	push_inf
	jsr	ljsr
	dw	newenchbank	
	dw	extract_jieshi_oneByte-1
	
	lda	<CharH
	cmp	<CharL
	bne	?_0					;;不是结束
	cmp	#0ah
	bne	?_0					;;不是结束
	jsr	restore_inf
	loff_lcd_icon	icondown
?_jieshiend:
	rts
?_0:	
	cmp	#80h
	bcc	?_enchar
	
	jsr	ljsr
	dw	newenchbank
	dw	changejieshich_onehanzi-1
	
	lda	<CharL
	cmp	#0aah
	bne	?_usefulchar
	lda	<CharH
	cmp	#0a1h
	bcc	?_specialenchar
	
?_usefulchar:	
	lda	<CurX
	cmp	#19
	bcs	?_3
?_4:
	ldx	<CharL
	ldy	<CharH
	Lputchar

	lda	<CurY
	cmp	curymax_bak
	bcs	?_yi_1029
	jmp	?_loop
?_yi_1029:	
	jmp	?_exit
?_3:	
	lcheckcrlf
	lda	<CurY
	cmp	curymax_bak
	bcc	?_4
	jsr	restore_inf
?_braexit:	
	jmp	?_exit
?_enchar:
	jsr	pop_inf
?_specialenchar:	
	lda	<CharH
	cmp	#0ah
	bne	?_compnext
?_checkscreenend:	
	lcheckcrlf
	lda	<CurY
	cmp	curymax_bak
	bcs	?_braexit
	jmp	?_loop
?_compnext:	
	cmp	#0bh
	bne	?_purityen
	lda	<CurX
	cmp	#19
	bcs	?_1
?_2:	
	lda	<CharL
	cmp	#0ah		;;[例]后有回车是结尾
	bne	?_checkscreenend
	jmp	?_jieshiend
?_1:	
	lcheckcrlf
	lda	<CurY
	cmp	curymax_bak
	bcc	?_2	
	jsr	restore_inf
	bra	?_exit
?_purityen:	
	lda	<CurX
	cmp	#18
	bcs	?_01
?_02:	
	ldx	<CharH
	Lputchar
	lda	<CurY
	cmp	curymax_bak
	bcs	?_exit
	jmp	?_loop
?_01:
	lda	<CharH
	jsr	judgeaz
	beq	?_02
	lda	<CharL
	jsr	judgeaz
	beq	?_02
	lda	<CurX
	cmp	#19
	beq	?_03
	
	cmp	#18
	bne	?_04
	jsr	push_inf
	jsr	ljsr
	dw	newenchbank	
	dw	extract_jieshi_oneByte-1
	jsr	ljsr
	dw	newenchbank	
	dw	extract_jieshi_oneByte-1
	jsr	pop_inf	
	lda	<CharL
	jsr	judgeaz
	beq	?_02
?_04:		
	
	ldx	<CharH
	Lputchar
	ldx	#1ah	;'~'
	Lputchar
	lda	<CurY
	cmp	curymax_bak
	bcs	?_exit
	jmp	?_loop
?_03:
	lcheckcrlf
	lda	<CurY
	cmp	curymax_bak
	bcc	?_02
	jsr	restore_inf	
?_exit:	
	jsr	pop_inf
	rts	







⌨️ 快捷键说明

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