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

📄 osd.s

📁 一个两碟控制的VCD的代码,两碟之间的转动及连续播放,已大量生产的CODE.
💻 S
📖 第 1 页 / 共 2 页
字号:
.data
gcc2_compiled.:
___gnu_compiled_c:
.stabs "d:/ess3880/mei820b/driver/",100,0,0,Ltext0
.stabs "osd.c",100,0,0,Ltext0
.text
Ltext0:
.stabs "int:t1=r1;-2147483648;2147483647;",128,0,0,0
.stabs "char:t2=r2;0;127;",128,0,0,0
.stabs "long int:t3=r1;-2147483648;2147483647;",128,0,0,0
.stabs "unsigned int:t4=r1;0;-1;",128,0,0,0
.stabs "long unsigned int:t5=r1;0;-1;",128,0,0,0
.stabs "long long int:t6=r1;01000000000000000000000;0777777777777777777777;",128,0,0,0
.stabs "long long unsigned int:t7=r1;0000000000000;01777777777777777777777;",128,0,0,0
.stabs "short int:t8=r1;-32768;32767;",128,0,0,0
.stabs "short unsigned int:t9=r1;0;65535;",128,0,0,0
.stabs "signed char:t10=r1;-128;127;",128,0,0,0
.stabs "unsigned char:t11=r1;0;255;",128,0,0,0
.stabs "float:t12=r1;4;0;",128,0,0,0
.stabs "double:t13=r1;8;0;",128,0,0,0
.stabs "long double:t14=r1;8;0;",128,0,0,0
.stabs "complex int:t15=s8real:1,0,32;imag:1,32,32;;",128,0,0,0
.stabs "complex float:t16=r16;4;0;",128,0,0,0
.stabs "complex double:t17=r17;8;0;",128,0,0,0
.stabs "complex long double:t18=r18;8;0;",128,0,0,0
.stabs "void:t19=19",128,0,0,0
.stabs "PFV:t20=*21=f19",128,0,112,0
.stabs "PFI:t22=*23=f1",128,0,113,0
.stabs "EVD_DISP_Info:t24=s92startY:1,0,32;startU:1,32,32;\\",128,0,0,0
.stabs "startV:1,64,32;zY:1,96,32;zUV:1,128,32;\\",128,0,0,0
.stabs "wY:1,160,32;wUV:1,192,32;height:1,224,32;\\",128,0,0,0
.stabs "RGBstart:1,256,32;Pattern:1,288,32;Overlay:1,320,32;\\",128,0,0,0
.stabs "Patternstart:1,352,32;MIDIstart:1,384,32;MIDIlist:1,416,32;\\",128,0,0,0
.stabs "MIDIevent:1,448,32;MIDInew:1,480,32;PCMstart:1,512,32;\\",128,0,0,0
.stabs "Buscon_width2:1,544,32;OSD_start:1,576,32;OSD_X:1,608,32;\\",128,0,0,0
.stabs "OSD_Y:1,640,32;OSD_W:1,672,32;OSD_H:1,704,32;;",128,0,40,0
.stabs "jmp_buf:t25=ar1;0;28;26=*2",128,0,13,0
.stabs " :T27=eVC_PAUSE:1,VC_EMERG_SAVE:2,VC_CONTINUE:4,\\",128,0,0,0
.stabs "VC_E1E2_PAUSE:8,VC_CLEAN_DRAM:16,VC_INTERLACE:32,;",128,0,0,0
.stabs "VCX_PAUSE:t27",128,0,126,0
.stabs "OSD_Region:t28=s2start:2,0,8;end:2,8,8;;",128,0,423,0
.stabs "FONT_FULL:t29=ar1;0;-1;30=ar1;0;15;5",128,0,427,0
.stabs "FONT_HALF:t31=ar1;0;-1;32=ar1;0;15;9",128,0,428,0
.align	2
.globl _EVD_OSD_init
_EVD_OSD_init:
LM1:
.stabn 68,0,30,LM1
;#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
EVD_OSD_init_body:
LM2:
.stabn 68,0,31,LM2
LBB2:
LM3:
.stabn 68,0,33,LM3
	st	_OSD_on[r25],r0	;movsi 0 -> _OSD_on
LM4:
.stabn 68,0,35,LM4
	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,r4,#2	;ashlsi3	 (r2<<2) -> r4
	ld	_evd_disp_info+72[r4],r5	;CT r5 _evd_disp_info+72 r4
	st	_VCD30_OSD_DRAM_START[r25],r5	;movsi r5 -> _VCD30_OSD_DRAM_START
LM5:
.stabn 68,0,36,LM5
	ld	_evd_disp_info+76[r4],r2	;CT r2 _evd_disp_info+76 r4
	st	_OSD_hstart1[r25],r2	;movsi r2 -> _OSD_hstart1
	st	4368[r27],r2	; movsi r2 -> 4368[r27]
LM6:
.stabn 68,0,37,LM6
	ld	_evd_disp_info+76[r4],r2	;CT r2 _evd_disp_info+76 r4
	ld	_evd_disp_info+84[r4],r5	;CT r5 _evd_disp_info+84 r4
	add	r2,r5,r2	;addsi3	r2,r5 -> r2
	st	_OSD_hend1[r25],r2	;movsi r2 -> _OSD_hend1
	st	4372[r27],r2	; movsi r2 -> 4372[r27]
LM7:
.stabn 68,0,39,LM7
	ld	_vcx_scn_height[r25],r3	;movsi _vcx_scn_height -> r3
	addi	r0,#288,r2	;movsi smallint
	bnesq	r3,r2,L2
	ld	_disp_mode[r25],r3	;movsi _disp_mode -> r3
	lsl	r3,r2,#1	;ashlsi3	 (r3<<1) -> r2
LM8:
.stabn 68,0,40,LM8
	ld	_evd_disp_info+80[r4],r2	;CT r2 _evd_disp_info+80 r4
	addi	r2,#2,r2	;addsi3	r2,2 -> r2
	st	_OSD_vstart1[r25],r2	;movsi r2 -> _OSD_vstart1
	st	4376[r27],r2	; movsi r2 -> 4376[r27]
LM9:
.stabn 68,0,43,LM9
	jspci	r24,#L6,r0	;jump L6
	ld	_evd_disp_info+88[r4],r4	;CT r4 _evd_disp_info+88 r4
	add	r2,r4,r2	;addsi3	r2,r4 -> r2
L2:
LM10:
.stabn 68,0,45,LM10
	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+80[r2],r3	;CT r3 _evd_disp_info+80 r2
	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,L4
	nop	;via slot (len 1)
	addi	r2,#15,r2	;addsi3	r2,15 -> r2
L4:
	asr	r2,r2,#4	;ashrsi3	 (r2>>4) -> r2
	addi	r2,#5,r2	;addsi3	r2,5 -> r2
	st	_OSD_vstart1[r25],r2	;movsi r2 -> _OSD_vstart1
	st	4376[r27],r2	; movsi r2 -> 4376[r27]
LM11:
.stabn 68,0,46,LM11
	ld	_disp_mode[r25],r4	;movsi _disp_mode -> r4
	lsl	r4,r3,#1	;ashlsi3	 (r4<<1) -> r3
	add	r3,r4,r3	;addsi3	r3,r4 -> r3
	lsl	r3,r3,#3	;ashlsi3	 (r3<<3) -> r3
	sub	r3,r4,r3	;subsi3 r3,r4 -> r3
	lsl	r3,r3,#2	;ashlsi3	 (r3<<2) -> r3
	ld	_evd_disp_info+88[r3],r3	;CT r3 _evd_disp_info+88 r3
	add	r2,r3,r2	;addsi3	r2,r3 -> r2
L6:
	addi	r2,#-1,r2	;addsi3	r2,-1 -> r2
	st	_OSD_vend1[r25],r2	;movsi r2 -> _OSD_vend1
	st	4380[r27],r2	; movsi r2 -> 4380[r27]
LM12:
.stabn 68,0,50,LM12
	addi	r0,#21856,r5	;movsi smallint
	st	4384[r27],r5	; movsi r5 -> 4384[r27]
LM13:
.stabn 68,0,52,LM13
	addi	r0,#68,r5	;movsi smallint
	st	4388[r27],r5	; movsi r5 -> 4388[r27]
LM14:
.stabn 68,0,54,LM14
	addi	r0,#28672,r5	;movsi smallint
	st	4416[r27],r5	; movsi r5 -> 4416[r27]
LM15:
.stabn 68,0,55,LM15
	addi	r0,#36879,r5	;movsi smallint
	st	4420[r27],r5	; movsi r5 -> 4420[r27]
LM16:
.stabn 68,0,56,LM16
	addi	r0,#7083,r5	;movsi smallint
	st	4424[r27],r5	; movsi r5 -> 4424[r27]
LM17:
.stabn 68,0,57,LM17
	addi	r0,#28687,r5	;movsi smallint
	st	4428[r27],r5	; movsi r5 -> 4428[r27]
LM18:
.stabn 68,0,59,LM18
	addi	r0,#64,r5	;movsi smallint
	st	4388[r27],r5	; movsi r5 -> 4388[r27]
LM19:
.stabn 68,0,61,LM19
	addi	r0,#1,r5	;movsi smallint
	st	4388[r27],r5	; movsi r5 -> 4388[r27]
LM20:
.stabn 68,0,63,LM20
	jspci	r24,#_ClrOsd,r31
	nop	;via slot (len 0)
	nop	;via slot (len 0)	;1 _ClrOsd
LM21:
.stabn 68,0,64,LM21
	ld	_disp_mode[r25],r3	;movsi _disp_mode -> r3
	addi	r0,#1,r2	;movsi smallint
	bgtsq	r3,r2,L7
	addi	r0,#1,r5	;movsi smallint
	st	_VCD30_OSD_TOTAL_AREAS[r25],r5	;movsi r5 -> _VCD30_OSD_TOTAL_AREAS
LM22:
.stabn 68,0,65,LM22
	jspci	r24,#_ClrOsd2,r31
	nop	;via slot (len 0)
	nop	;via slot (len 0)	;1 _ClrOsd2
LM23:
.stabn 68,0,67,LM23
	addi	r0,#1,r5	;movsi smallint
	st	_VCD30_OSD_TOTAL_AREAS[r25],r5	;movsi r5 -> _VCD30_OSD_TOTAL_AREAS
LM24:
.stabn 68,0,68,LM24
LBE2:
L7:
;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	;EVD_OSD_init
.stabs "EVD_OSD_init:F19",36,0,30,_EVD_OSD_init
.stabn 192,0,0,LBB2
.stabn 224,0,0,LBE2
.align	2
.globl _OutputOsd
_OutputOsd:
LM25:
.stabn 68,0,78,LM25
;#PROLOGUE
	addi	r29,#-56,r29	; temp= 0, regs= 32, args= 0, sfo= -8
	st	16[r29],r31
	st	20[r29],r30
	st	24[r29],r21
	st	28[r29],r20
	st	32[r29],r19
	st	36[r29],r18
	st	40[r29],r17
	st	44[r29],r16
;.mask	0xc03f0000,-28
	addi	r29,#56,r30	; set up frame pointer
;END PROLOGUE
OutputOsd_body:
	add	r0,r4,r17	;movsi	r4 -> r17 
	add	r0,r5,r4	;movsi	r5 -> r4 
LM26:
.stabn 68,0,79,LM26
LBB3:
LM27:
.stabn 68,0,82,LM27
	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],r5	;CT r5 _evd_disp_info+84 r2
	bltsq	r5,r0,L9
	nop	;via slot (len 1)
	addi	r5,#3,r5	;addsi3	r5,3 -> r5
L9:
LM28:
.stabn 68,0,86,LM28
	lbu	_OSD_language[r25],r3	;A sym movqi _OSD_language -> r3
	addi	r0,#1,r2	;movsi smallint
	bne	r3,r2,L10
	asr	r5,r21,#2	;ashrsi3	 (r5>>2) -> r21
	add	r0,r6,r20	;movsi	r6 -> r20 
	add	r0,r7,r20	;movsi	r7 -> r20 
L10:
LM29:
.stabn 68,0,92,LM29
	ld	_VCD30_OSD_DRAM_START[r25],r16	;movsi _VCD30_OSD_DRAM_START -> r16
	lsl	r16,r16,#2	;ashlsi3	 (r16<<2) -> r16
	jspci	r24,#___mulsi3,r31
	addi	r4,#-1,r4	;addsi3	r4,-1 -> r4
	add	r0,r21,r5	;movsi	r21 -> r5 
	lsl	r2,r2,#4	;ashlsi3	 (r2<<4) -> r2
	add	r16,r2,r19	;addsi3	r16,r2 -> r19
	addi	r17,#-1,r3	;addsi3	r17,-1 -> r3
	lsl	r3,r2,#1	;ashlsi3	 (r3<<1) -> r2
	add	r2,r3,r2	;addsi3	r2,r3 -> r2
	lsl	r2,r2,#1	;ashlsi3	 (r2<<1) -> r2
	add	r19,r2,r19	;addsi3	r19,r2 -> r19
LM30:
.stabn 68,0,98,LM30
	ld	_OSD2_Y[r25],r3	;movsi _OSD2_Y -> r3
	addi	r0,#81,r2	;movsi smallint
	bgt	r3,r2,L13
	addi	r0,#0,r17	;movsi smallint
	addi	r0,#0,r18	;movsi smallint
	jspci	r24,#_Close_OSD2,r31
	nop	;via slot (len 0)
	nop	;via slot (len 0)	;1 _Close_OSD2
L13:
LM31:
.stabn 68,0,101,LM31
LBB4:
	add	r20,r18,r2	;addsi3	r20,r18 -> r2
	lbu	0[r2],r4	;D
LM32:
.stabn 68,0,103,LM32
	beq	r4,r0,L14
	nop	;via slot (len 1)
	addi	r0,#95,r8	;movsi smallint
LM33:
.stabn 68,0,104,LM33
	blos	r4,r8,L17
	nop	;via slot (len 1)
	addi	r0,#0,r16	;movsi smallint
	addi	r0,#1,r16	;movsi smallint
L17:
LM34:
.stabn 68,0,105,LM34
	lsl	r17,r2,#2	;ashlsi3	 (r17<<2) -> r2
	add	r19,r2,r2	;addsi3	r19,r2 -> r2
LM35:
.stabn 68,0,106,LM35
	add	r0,r21,r7	;movsi	r21 -> r7 
	bge	r7,r0,L18
	lsl	r17,r3,#1	;ashlsi3	 (r17<<1) -> r3
	add	r2,r3,r6	;addsi3	r2,r3 -> r6
	addi	r7,#3,r7	;addsi3	r7,3 -> r7
L18:
	jspci	r24,#_OSD_copy_one_char,r31	;1 _OSD_copy_one_char
	asr	r7,r7,#2	;ashrsi3	 (r7>>2) -> r7
	add	r0,r16,r5	;movsi	r16 -> r5 
LM36:
.stabn 68,0,108,LM36
	beq	r16,r0,L19
	nop	;via slot (len 1)
	addi	r17,#1,r17	;addsi3	r17,1 -> r17
	addi	r17,#1,r17	;addsi3	r17,1 -> r17
L19:
LM37:
.stabn 68,0,110,LM37
LBE4:
	jspci	r24,#L13,r0
	nop	;via slot (len 1)	;jump L13
	addi	r18,#1,r18	;addsi3	r18,1 -> r18
L14:
LM38:
.stabn 68,0,111,LM38
LBB5:
	addi	r0,#1,r8	;movsi smallint
	st	_OSD1[r25],r8	;movsi r8 -> _OSD1
LBE5:
LM39:
.stabn 68,0,112,LM39
LBE3:
;EPILOGUE
	addi	r30,#-56,r29	; sp not trusted  here
	ld	16[r29],r31
	ld	20[r29],r30
	ld	24[r29],r21
	ld	28[r29],r20
	ld	32[r29],r19
	ld	36[r29],r18
	ld	40[r29],r17
	ld	44[r29],r16
	jspci	r31,#0,r0	;return
	addi	r29,#56,r29
	nop
;END EPILOGUE
.eop	;OutputOsd
.stabs "OutputOsd:F19",36,0,72,_OutputOsd
.stabs "line:P1",64,0,76,17
.stabs "row:P1",64,0,76,4
.stabs "emsg:P26",64,0,77,6
.stabs "cmsg:P26",64,0,72,7
.stabs "count:r1",64,0,79,18
.stabs "head:r1",64,0,80,19
.stabs "offset:r1",64,0,80,17
.stabs "dest:r1",64,0,80,6
.stabs "big:r1",64,0,81,16
.stabs "linewidth:r1",64,0,82,21
.stabs "msg:r33=*11",64,0,83,20
.stabn 192,0,0,LBB3
.stabs "ctmp:r4",64,0,101,4
.stabn 192,0,0,LBB4
.stabn 224,0,0,LBE4
.stabn 192,0,0,LBB5
.stabn 224,0,0,LBE5
.stabn 224,0,0,LBE3
.align	2
.globl _ClrOsd
_ClrOsd:
LM40:
.stabn 68,0,115,LM40
;#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
ClrOsd_body:
LM41:
.stabn 68,0,116,LM41
LBB6:
LM42:
.stabn 68,0,120,LM42
	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
LM43:
.stabn 68,0,122,LM43
	jspci	r24,#_ClrOSD_comm,r31	;1 _ClrOSD_comm
	ld	_VCD30_OSD_DRAM_START[r25],r4	;movsi _VCD30_OSD_DRAM_START -> r4
	add	r0,r2,r5	;movsi	r2 -> r5 
LM44:
.stabn 68,0,123,LM44
LBE6:
;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	;ClrOsd
.stabs "ClrOsd:F19",36,0,115,_ClrOsd
.stabs "tmp:r1",64,0,118,4
.stabn 192,0,0,LBB6
.stabn 224,0,0,LBE6
.align	2
.globl _ClrOSD_comm
_ClrOSD_comm:
LM45:
.stabn 68,0,126,LM45
;#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
ClrOSD_comm_body:
LM46:
.stabn 68,0,127,LM46
LBB7:
LM47:
.stabn 68,0,130,LM47
	lsl	r4,r4,#2	;ashlsi3	 (r4<<2) -> r4
	ld	_x12000000[r25],r3	;movsi _x12000000 -> r3
LM48:
.stabn 68,0,131,LM48
	jspci	r24,#L23,r0	;jump L23
	add	r4,r3,r4	;addsi3	r4,r3 -> r4
	addi	r0,#0,r2	;movsi smallint
L26:
LM49:
.stabn 68,0,131,LM49
	addi	r2,#1,r2	;addsi3	r2,1 -> r2
L23:
	bltsq	r2,r5,L26
	st	0[r4],r0	; movsi 0 -> 0[r4]
	addi	r4,#4,r4	;addsi3	r4,4 -> r4
LM50:
.stabn 68,0,135,LM50
LBE7:
;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	;ClrOSD_comm
.stabs "ClrOSD_comm:F19",36,0,126,_ClrOSD_comm
.stabs "addr:P1",64,0,125,4
.stabs "len:P1",64,0,125,5
.stabs "j:r1",64,0,127,2
.stabs "p:r34=*1",64,0,128,4
.stabn 192,0,0,LBB7
.stabn 224,0,0,LBE7
.align	2
.globl _ClrOsd2
_ClrOsd2:
LM51:
.stabn 68,0,138,LM51
;#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
ClrOsd2_body:
LM52:
.stabn 68,0,139,LM52
LBB8:
LM53:
.stabn 68,0,143,LM53
	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

⌨️ 快捷键说明

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