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

📄 osd.s

📁 一个两碟控制的VCD的代码,两碟之间的转动及连续播放,已大量生产的CODE.
💻 S
📖 第 1 页 / 共 2 页
字号:
	sub	r2,r3,r2	;subsi3 r2,r3 -> r2
	lsl	r2,r2,#2	;ashlsi3	 (r2<<2) -> r2
	ld	_evd_disp_info+84[r2],r4	;CT r4 _evd_disp_info+84 r2
	jspci	r24,#___mulsi3,r31
	asr	r4,r4,#4	;ashrsi3	 (r4>>4) -> r4
	ld	_evd_disp_info+88[r2],r5	;CT r5 _evd_disp_info+88 r2
LM54:
.stabn 68,0,144,LM54
	ld	_VCD30_OSD_DRAM_START[r25],r6	;movsi _VCD30_OSD_DRAM_START -> r6
	add	r2,r6,r4	;addsi3	r2,r6 -> r4
	addi	r0,#2048,r6	;movsi smallint
	jspci	r24,#_ClrOSD_comm,r31	;1 _ClrOSD_comm
	sub	r6,r2,r2	;subsi3 r6,r2 -> r2
	add	r0,r2,r5	;movsi	r2 -> r5 
LM55:
.stabn 68,0,145,LM55
LBE8:
;EPILOGUE
	addi	r30,#-32,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	jspci	r31,#0,r0	;return
	addi	r29,#32,r29
	nop
;END EPILOGUE
.eop	;ClrOsd2
.stabs "ClrOsd2:F19",36,0,138,_ClrOsd2
.stabn 192,0,0,LBB8
.stabn 224,0,0,LBE8
.align	2
.globl _OSD2_rect
_OSD2_rect:
LM56:
.stabn 68,0,149,LM56
;#PROLOGUE
	addi	r29,#-56,r29	; temp= 0, regs= 32, args= 0, sfo= -8
	st	16[r29],r31
	st	20[r29],r30
	st	24[r29],r20
	st	28[r29],r19
	st	32[r29],r18
	st	36[r29],r17
	st	40[r29],r16
;.mask	0xc01f0000,-32
	addi	r29,#56,r30	; set up frame pointer
;END PROLOGUE
OSD2_rect_body:
	add	r0,r4,r16	;movsi	r4 -> r16 
	add	r0,r5,r17	;movsi	r5 -> r17 
	add	r0,r6,r20	;movsi	r6 -> r20 
LM57:
.stabn 68,0,150,LM57
LBB9:
LM58:
.stabn 68,0,155,LM58
	jspci	r24,#_Close_OSD2,r31	;1 _Close_OSD2
	add	r0,r7,r18	;movsi	r7 -> r18 
	.data
DL46:
	.word	-1610612736
	.text
	ld	DL46[r25],r19
LM59:
.stabn 68,0,156,LM59
	st	_OSD2_X[r25],r16	;movsi r16 -> _OSD2_X
LM60:
.stabn 68,0,157,LM60
	st	_OSD2_Y[r25],r17	;movsi r17 -> _OSD2_Y
LM61:
.stabn 68,0,158,LM61
	st	_OSD2_W[r25],r20	;movsi r20 -> _OSD2_W
LM62:
.stabn 68,0,159,LM62
	st	_OSD2_H[r25],r18	;movsi r18 -> _OSD2_H
LM63:
.stabn 68,0,160,LM63
	add	r0,r16,r4	;movsi	r16 -> r4 
	add	r0,r17,r5	;movsi	r17 -> r5 
	jspci	r24,#_OSD2_comm,r31
	add	r0,r20,r6	;movsi	r20 -> r6 
	add	r0,r18,r7	;movsi	r18 -> r7 
	add	r0,r2,r16	;movsi	r2 -> r16 
LM64:
.stabn 68,0,161,LM64
	ld	_disp_mode[r25],r3	;movsi _disp_mode -> r3
	lsl	r3,r2,#1	;ashlsi3	 (r3<<1) -> r2
	add	r2,r3,r2	;addsi3	r2,r3 -> r2
	lsl	r2,r2,#3	;ashlsi3	 (r2<<3) -> r2
	sub	r2,r3,r2	;subsi3 r2,r3 -> r2
	lsl	r2,r2,#2	;ashlsi3	 (r2<<2) -> r2
	ld	_evd_disp_info+84[r2],r4	;CT r4 _evd_disp_info+84 r2
	jspci	r24,#___mulsi3,r31
	asr	r4,r4,#4	;ashrsi3	 (r4>>4) -> r4
	ld	_evd_disp_info+88[r2],r5	;CT r5 _evd_disp_info+88 r2
	add	r0,r2,r7	;movsi	r2 -> r7 
LM65:
.stabn 68,0,162,LM65
	ld	_VCD30_OSD_DRAM_START[r25],r10	;movsi _VCD30_OSD_DRAM_START -> r10
	add	r7,r10,r5	;addsi3	r7,r10 -> r5
LM66:
.stabn 68,0,164,LM66
	addi	r0,#0,r7	;movsi smallint
LM67:
.stabn 68,0,165,LM67
	addi	r0,#0,r2	;movsi smallint
	jspci	r24,#L30,r0	;jump L30
	addi	r0,#7,r10	;movsi smallint
	and	r20,r10,r3	;andsi3	r20,r10 -> r3
L33:
LM68:
.stabn 68,0,165,LM68
	addi	r2,#1,r2	;addsi3	r2,1 -> r2
L30:
	blosq	r2,r3,L33
	or	r7,r19,r7	;iorsi3	r7,r19 -> r7
	lsr	r19,r19,#4	;lshrsi3	 (r19>>4) -> r19
LM69:
.stabn 68,0,170,LM69
	addi	r0,#0,r8	;movsi smallint
	asr	r20,r9,#3	;ashrsi3	 (r20>>3) -> r9
	jspci	r24,#L35,r0	;jump L35
	addi	r0,#7,r10	;movsi smallint
	and	r20,r10,r6	;andsi3	r20,r10 -> r6
L38:
LM70:
.stabn 68,0,171,LM70
	jspci	r24,#L39,r0
	nop	;via slot (len 1)	;jump L39
	addi	r0,#0,r4	;movsi smallint
L42:
LM71:
.stabn 68,0,172,LM71
	add	r2,r3,r2	;addsi3	r2,r3 -> r2
	.data
DL47:
	.word	-1431655766
	.text
	ld	DL47[r25],r10
	st	0[r2],r10	; movsi r10 -> 0[r2]
LM72:
.stabn 68,0,173,LM72
	addi	r5,#1,r5	;addsi3	r5,1 -> r5
LM73:
.stabn 68,0,171,LM73
	addi	r4,#1,r4	;addsi3	r4,1 -> r4
L39:
	blo	r4,r9,L42
	lsl	r5,r3,#2	;ashlsi3	 (r5<<2) -> r3
	ld	_x12000000[r25],r2	;movsi _x12000000 -> r2
LM74:
.stabn 68,0,175,LM74
	beq	r6,r0,L35
	nop	;via slot (len 1)
	addi	r8,#1,r8	;addsi3	r8,1 -> r8
LM75:
.stabn 68,0,176,LM75
	lsl	r5,r3,#2	;ashlsi3	 (r5<<2) -> r3
	ld	_x12000000[r25],r2	;movsi _x12000000 -> r2
	add	r2,r3,r2	;addsi3	r2,r3 -> r2
	st	0[r2],r7	; movsi r7 -> 0[r2]
LM76:
.stabn 68,0,177,LM76
	addi	r5,#1,r5	;addsi3	r5,1 -> r5
LM77:
.stabn 68,0,170,LM77
L35:
	blo	r8,r16,L38
	nop	;via slot (len 0)
	nop	;via slot (len 0)
LM78:
.stabn 68,0,180,LM78
LBE9:
;EPILOGUE
	addi	r30,#-56,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	ld	24[r29],r20
	ld	28[r29],r19
	ld	32[r29],r18
	ld	36[r29],r17
	ld	40[r29],r16
	jspci	r31,#0,r0	;return
	addi	r29,#56,r29
	nop
;END EPILOGUE
.eop	;OSD2_rect
.stabs "OSD2_rect:F19",36,0,149,_OSD2_rect
.stabs "x:P1",64,0,148,16
.stabs "y:P1",64,0,148,17
.stabs "w:P1",64,0,148,20
.stabs "h:P1",64,0,148,18
.stabs "pDst:r3",64,0,150,5
.stabs "i:r4",64,0,151,8
.stabs "j:r4",64,0,151,4
.stabs "k:r4",64,0,151,2
.stabs "tmp:r1",64,0,152,7
.stabs "htmp:r1",64,0,152,16
.stabs "mask:r4",64,0,153,19
.stabn 192,0,0,LBB9
.stabn 224,0,0,LBE9
.align	2
.globl _OSD2_comm
_OSD2_comm:
LM79:
.stabn 68,0,183,LM79
;#PROLOGUE
	addi	r29,#-32,r29	; temp= 0, regs= 8, args= 0, sfo= -8
	st	16[r29],r31
	st	20[r29],r30
;.mask	0xc0000000,-28
	addi	r29,#32,r30	; set up frame pointer
;END PROLOGUE
OSD2_comm_body:
LM80:
.stabn 68,0,184,LM80
	lsl	r4,r2,#1	;ashlsi3	 (r4<<1) -> r2
	st	_OSD_hstart2[r25],r2	;movsi r2 -> _OSD_hstart2
LM81:
.stabn 68,0,185,LM81
	addi	r6,#7,r6	;addsi3	r6,7 -> r6
	asr	r6,r6,#3	;ashrsi3	 (r6>>3) -> r6
	lsl	r6,r6,#3	;ashlsi3	 (r6<<3) -> r6
	add	r4,r6,r4	;addsi3	r4,r6 -> r4
	lsl	r4,r4,#1	;ashlsi3	 (r4<<1) -> r4
	st	_OSD_hend2[r25],r4	;movsi r4 -> _OSD_hend2
LM82:
.stabn 68,0,186,LM82
	ld	_vcx_scn_height[r25],r3	;movsi _vcx_scn_height -> r3
	addi	r0,#240,r2	;movsi smallint
	bnesq	r3,r2,L49
	addi	r5,#2,r2	;addsi3	r5,2 -> r2
	st	_OSD_vstart2[r25],r2	;movsi r2 -> _OSD_vstart2
LM83:
.stabn 68,0,187,LM83
	lsl	r5,r2,#1	;ashlsi3	 (r5<<1) -> r2
	add	r2,r5,r2	;addsi3	r2,r5 -> r2
	lsl	r2,r2,#2	;ashlsi3	 (r2<<2) -> r2
	add	r2,r5,r2	;addsi3	r2,r5 -> r2
	bltsq	r2,r0,L50
	nop	;via slot (len 1)
	addi	r2,#15,r2	;addsi3	r2,15 -> r2
L50:
	asr	r2,r2,#4	;ashrsi3	 (r2>>4) -> r2
	addi	r2,#5,r2	;addsi3	r2,5 -> r2
	st	_OSD_vstart2[r25],r2	;movsi r2 -> _OSD_vstart2
LM84:
.stabn 68,0,188,LM84
	add	r5,r7,r3	;addsi3	r5,r7 -> r3
	addi	r3,#-1,r3	;addsi3	r3,-1 -> r3
	lsl	r3,r2,#1	;ashlsi3	 (r3<<1) -> r2
	add	r2,r3,r2	;addsi3	r2,r3 -> r2
	lsl	r2,r2,#2	;ashlsi3	 (r2<<2) -> r2
	add	r2,r3,r2	;addsi3	r2,r3 -> r2
	bltsq	r2,r0,L51
	nop	;via slot (len 1)
	addi	r2,#15,r2	;addsi3	r2,15 -> r2
L51:
	asr	r2,r2,#4	;ashrsi3	 (r2>>4) -> r2
	addi	r2,#5,r2	;addsi3	r2,5 -> r2
	st	_OSD_vend2[r25],r2	;movsi r2 -> _OSD_vend2
LM85:
.stabn 68,0,189,LM85
	lsl	r7,r2,#1	;ashlsi3	 (r7<<1) -> r2
	add	r2,r7,r2	;addsi3	r2,r7 -> r2
	lsl	r2,r2,#2	;ashlsi3	 (r2<<2) -> r2
	add	r2,r7,r2	;addsi3	r2,r7 -> r2
	bltsq	r2,r0,L52
	nop	;via slot (len 1)
	addi	r2,#15,r2	;addsi3	r2,15 -> r2
L52:
	jspci	r24,#L54,r0
	nop	;via slot (len 1)	;jump L54
	asr	r2,r2,#4	;ashrsi3	 (r2>>4) -> r2
L49:
LM86:
.stabn 68,0,193,LM86
	add	r5,r7,r2	;addsi3	r5,r7 -> r2
	addi	r2,#1,r2	;addsi3	r2,1 -> r2
	st	_OSD_vend2[r25],r2	;movsi r2 -> _OSD_vend2
LM87:
.stabn 68,0,194,LM87
	add	r0,r7,r2	;movsi	r7 -> r2 
L54:
LM88:
.stabn 68,0,196,LM88
;EPILOGUE
	addi	r30,#-32,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	jspci	r31,#0,r0	;return
	addi	r29,#32,r29
	nop
;END EPILOGUE
.eop	;OSD2_comm
.stabs "OSD2_comm:F1",36,0,183,_OSD2_comm
.stabs "x:P1",64,0,182,4
.stabs "y:P1",64,0,182,5
.stabs "w:P1",64,0,182,6
.stabs "h:P1",64,0,182,7
.align	2
.globl _OSD2
_OSD2:
LM89:
.stabn 68,0,199,LM89
;#PROLOGUE
	addi	r29,#-48,r29	; temp= 0, regs= 24, args= 0, sfo= -8
	st	16[r29],r31
	st	20[r29],r30
	st	24[r29],r19
	st	28[r29],r18
	st	32[r29],r17
	st	36[r29],r16
;.mask	0xc00f0000,-28
	addi	r29,#48,r30	; set up frame pointer
;END PROLOGUE
OSD2_body:
	add	r0,r4,r17	;movsi	r4 -> r17 
	add	r0,r5,r16	;movsi	r5 -> r16 
LM90:
.stabn 68,0,200,LM90
LBB10:
LM91:
.stabn 68,0,204,LM91
	addi	r0,#81,r2	;movsi smallint
	bgt	r16,r2,L56
	add	r0,r6,r18	;movsi	r6 -> r18 
	add	r0,r7,r19	;movsi	r7 -> r19 
LM92:
.stabn 68,0,205,LM92
	jspci	r24,#_Close_OSD1,r31
	nop	;via slot (len 0)
	nop	;via slot (len 0)	;1 _Close_OSD1
L56:
LM93:
.stabn 68,0,207,LM93
	add	r0,r17,r4	;movsi	r17 -> r4 
	add	r0,r16,r5	;movsi	r16 -> r5 
	jspci	r24,#_OSD2_comm,r31
	add	r0,r18,r6	;movsi	r18 -> r6 
	add	r0,r19,r7	;movsi	r19 -> r7 
LM94:
.stabn 68,0,208,LM94
LBE10:
;EPILOGUE
	addi	r30,#-48,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	ld	24[r29],r19
	ld	28[r29],r18
	ld	32[r29],r17
	ld	36[r29],r16
	jspci	r31,#0,r0	;return
	addi	r29,#48,r29
	nop
;END EPILOGUE
.eop	;OSD2
.stabs "OSD2:F19",36,0,199,_OSD2
.stabs "x:P1",64,0,198,17
.stabs "y:P1",64,0,198,16
.stabs "w:P1",64,0,198,18
.stabs "h:P1",64,0,198,19
.stabn 192,0,0,LBB10
.stabn 224,0,0,LBE10
.align	2
.globl _Close_OSD1
_Close_OSD1:
LM95:
.stabn 68,0,211,LM95
;#PROLOGUE
	addi	r29,#-32,r29	; temp= 0, regs= 8, args= 0, sfo= -8
	st	16[r29],r31
	st	20[r29],r30
;.mask	0xc0000000,-28
	addi	r29,#32,r30	; set up frame pointer
;END PROLOGUE
Close_OSD1_body:
LM96:
.stabn 68,0,212,LM96
	st	_OSD1[r25],r0	;movsi 0 -> _OSD1
LM97:
.stabn 68,0,213,LM97
	jspci	r24,#_ClrOsd,r31
	nop	;via slot (len 0)
	nop	;via slot (len 0)	;1 _ClrOsd
LM98:
.stabn 68,0,214,LM98
;EPILOGUE
	addi	r30,#-32,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	jspci	r31,#0,r0	;return
	addi	r29,#32,r29
	nop
;END EPILOGUE
.eop	;Close_OSD1
.stabs "Close_OSD1:F19",36,0,211,_Close_OSD1
.align	2
.globl _Close_OSD2
_Close_OSD2:
LM99:
.stabn 68,0,217,LM99
;#PROLOGUE
	addi	r29,#-32,r29	; temp= 0, regs= 8, args= 0, sfo= -8
	st	16[r29],r31
	st	20[r29],r30
;.mask	0xc0000000,-28
	addi	r29,#32,r30	; set up frame pointer
;END PROLOGUE
Close_OSD2_body:
LM100:
.stabn 68,0,219,LM100
	jspci	r24,#_ClrOsd2,r31	;1 _ClrOsd2
	addi	r0,#1,r2	;movsi smallint
	st	_VCD30_OSD_TOTAL_AREAS[r25],r2	;movsi r2 -> _VCD30_OSD_TOTAL_AREAS
LM101:
.stabn 68,0,220,LM101
;EPILOGUE
	addi	r30,#-32,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	jspci	r31,#0,r0	;return
	addi	r29,#32,r29
	nop
;END EPILOGUE
.eop	;Close_OSD2
.stabs "Close_OSD2:F19",36,0,217,_Close_OSD2
.align	2
.globl _OSD_color
_OSD_color:
LM102:
.stabn 68,0,246,LM102
;#PROLOGUE
	addi	r29,#-32,r29	; temp= 0, regs= 8, args= 0, sfo= -8
	st	16[r29],r31
	st	20[r29],r30
;.mask	0xc0000000,-28
	addi	r29,#32,r30	; set up frame pointer
;END PROLOGUE
OSD_color_body:
LM103:
.stabn 68,0,247,LM103
	addi	r0,#21856,r2	;movsi smallint
	st	4384[r27],r2	; movsi r2 -> 4384[r27]
LM104:
.stabn 68,0,248,LM104
	addi	r0,#4,r2	;movsi smallint
	st	4388[r27],r2	; movsi r2 -> 4388[r27]
LM105:
.stabn 68,0,249,LM105
	addi	r0,#8,r2	;movsi smallint
	or	r5,r2,r5	;iorsi3	r5,r2 -> r5
	or	r4,r5,r4	;iorsi3	r4,r5 -> r4
	st	4424[r27],r4	; movsi r4 -> 4424[r27]
LM106:
.stabn 68,0,250,LM106
;EPILOGUE
	addi	r30,#-32,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	jspci	r31,#0,r0	;return
	addi	r29,#32,r29
	nop
;END EPILOGUE
.eop	;OSD_color
.stabs "OSD_color:F19",36,0,246,_OSD_color
.stabs "color:P1",64,0,245,4
.stabs "trans:P1",64,0,245,5
.stabs "reg0:r1",64,0,58,0
.stabs "mvd:r35=*1",64,0,11,27
.stabs "OSD2_X:G1",32,0,27,0

.data
.comm	_OSD2_X,4
.stabs "OSD2_Y:G1",32,0,27,0

.data
.comm	_OSD2_Y,4
.stabs "OSD2_W:G1",32,0,27,0

.data
.comm	_OSD2_W,4
.stabs "OSD2_H:G1",32,0,27,0

.data
.comm	_OSD2_H,4

.end

⌨️ 快捷键说明

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