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

📄 string.s

📁 这是由文曲星的开发者LEE写的汇编游戏末日传说.rar代码
💻 S
字号:
	include	h/mori.h
	include	../bios/h/graph.h

	public	show_talk
	public	show_talk0
	public	data_string
	public	bin_10

	extrn	gblcd12x_0
	extrn	wait_key
	extrn	refreshmap
	extrn	block_draw
	extrn	squre_draw
	extrn	scroll_to_lcd
	extrn	clear_attr

show_talk:
	jsr	show_talk0
	jmp	refreshmap

show_talk0:
	jsr	clear_attr
	ldy	#0
show_talk10:
	lda	#20h
	sta	ScreenBuffer+26*4,y
	iny
	cpy	#52
	bcc	show_talk10
	ldy	#0
	ldx	#0
show_talk11:
	lda	(string_ptr),y
	beq	show_talk2
	cmp	#1
	beq	show_talk2
	cmp	#2
	bne	show_talk12
	cpx	#27
	bcs	show_talk2
	ldx	#26
	iny
	bne	show_talk11
show_talk12:
	sta	ScreenBuffer+26*4,x
	iny
	inx
	cpx	#52
	bne	show_talk11
show_talk2:
	tya
	adda2	string_ptr
	lda	#0f0h
	sta	line_mode+1
	lm	x0,#1
	lm	x1,#159
	lm	y0,#51
	lm	y1,#79
	lm	lcmd,#0
	jsr	block_draw
	jsr	gblcd12x_0
	lm	lcmd,#1
	jsr	squre_draw
	jsr	scroll_to_lcd
	jsr	wait_key
	ldy	#0
	lda	(string_ptr),y
	beq	show_talk5
	cmp	#20h
	bcs	show_talk4
	inc2	string_ptr
show_talk4:
	jmp	show_talk10
show_talk5:
	rts

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
;二进制转10进制字符串:
; Input:	c		0:左对齐,1:右对齐
;		x		相对ScreenBuffer的偏移
;		binbuf		2byte二进制数据		
; Output:	ScreenBuffer
; Destory:	a1,a2,a3,a4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BCD_LEN		equ	5

bin_10:
	php
	txa
	pha
	BIN2BCD
	ldy	#0ffh
jump_0:
	iny
	cpy	#BCD_LEN-1
	bcs	put_it
	lda	bcdbuf,y
	cmp	#'0'
	beq	jump_0
put_it:
	pla
	tax
	plp
	bcs	bin_right
put_it1:
	lda	bcdbuf,y
	sta	ScreenBuffer,x
	iny
	inx
	cpy	#BCD_LEN
	bcc	put_it1
	rts
bin_right:
	dey
	sty	a1
	ldy	#BCD_LEN-1
put_it2:
	lda	bcdbuf,y
	sta	ScreenBuffer,x
	dex
	dey
	cpy	a1
	bne	put_it2
	rts

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
;批量二进制转10进制字符串:
; Input:	a6		批量二进制数据格式及相对ScreenBuffer的偏移
;		a7		批量二进制数据地址		
; Output:	ScreenBuffer
; Destory:	a1,a2,a3,a4,a6,a7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
data_string:
	ldy	#0
	sty	binbuf+1
	lda	(a7),y
	sta	binbuf
	inc2	a7
	lda	(a6),y
	cmp	#0ffh
	beq	data_string_rts
	and	#1
	beq	data_string1
	lda	(a7),y
	sta	binbuf+1
	inc2	a7
data_string1:
	lda	(a6),y
	asl	a
	php
	iny
	lda	(a6),y
	tax
	lda	#2
	adda2	a6
	plp
	jsr	bin_10
	jmp	data_string
data_string_rts:
	rts

	end

⌨️ 快捷键说明

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