OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [mw/] [src/] [drivers/] [vgaplan4.s] - Rev 1765

Compare with Previous | Blame | View Log

	.file	"vgaplan4.c"
.data
	.type	_mode_table,@object
	.size	_mode_table,16
_mode_table:
	.byte	0
	.byte	24
	.byte	16
	.byte	8
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.type	_mask,@object
	.size	_mask,8
_mask:
	.byte	-128
	.byte	64
	.byte	32
	.byte	16
	.byte	8
	.byte	4
	.byte	2
	.byte	1
	.section	.rodata
.LC6:
	.string	"c < psd->ncolors"
.LC1:
	.string	"vgaplan4.c"
.LC2:
	.string	"ega_drawhorzline"
.LC5:
	.string	"y >= 0 && y < psd->yres"
.LC4:
	.string	"x2 >= x1"
.LC3:
	.string	"x2 >= 0 && x2 < psd->xres"
.LC0:
	.string	"x1 >= 0 && x1 < psd->xres"
.text
	.align 4
.proc _ega_drawhorzline
	.global _ega_drawhorzline
	.type	_ega_drawhorzline,@function
_ega_drawhorzline:
 
	# 00011111111111111111111101010101
	# gpr_save_area 28 vars 0 current_function_outgoing_args_size 0
	l.addi   	r1,r1,-32
	l.sw     	0(r1),r9
	l.sw    	4(r1),r10
	l.sw    	8(r1),r12
	l.sw    	12(r1),r14
	l.sw    	16(r1),r16
	l.sw    	20(r1),r18
	l.sw    	24(r1),r20
	l.sw    	28(r1),r22
	l.lwz    	r8,0(r3)	 # SI load
	l.addi  	r16,r3,0	 # move reg to reg
	l.addi  	r14,r4,0	 # move reg to reg
	l.addi  	r18,r5,0	 # move reg to reg
	l.addi  	r20,r6,0	 # move reg to reg
	l.sfltu  	r4,r8
	l.bnf   	.L28	# delay slot filled
	l.andi  	r10,r7,0x00ff	 # zero_extendqisi2
.L2:
	l.sfltu  	r18,r8
	l.bnf   	.L29
	l.nop			# nop delay slot
.L4:
	l.sfgeu  	r18,r14
	l.bnf   	.L30
	l.nop			# nop delay slot
	l.lwz    	r4,4(r16)	 # SI load
.L34:
	l.sfltu  	r20,r4
	l.bnf   	.L31
	l.nop			# nop delay slot
	l.lwz    	r4,32(r16)	 # SI load
.L33:
	l.sflts  	r10,r4
	l.bnf   	.L32
	l.nop			# nop delay slot
.L10:
	l.movhi 	r11,hi(_mwdrawing)	 # move immediate (high)
	l.ori  	r11,r11,lo(_mwdrawing)	 # move immediate (low)
	l.slli  	r3,r10,8
	l.lwz    	r15,0(r11)	 # SI load
	l.addi  	r4,r0,974	 # move immediate
	l.movhi 	r12,hi(_gr_mode)	 # move immediate (high)
	l.ori  	r12,r12,lo(_gr_mode)	 # move immediate (low)
	l.addi  	r13,r15,1
	l.movhi 	r10,hi(_mode_table)	 # move immediate (high)
	l.ori  	r10,r10,lo(_mode_table)	 # move immediate (low)
	l.sw    	0(r11),r13
	l.jal   	_outw
	l.nop			# nop delay slot
	l.lwz    	r9,0(r12)	 # SI load
	l.addi  	r4,r0,974	 # move immediate
	l.add   	r8,r9,r10
	l.lbz   	r7,0(r8)	 # zero_extendqisi2
	l.slli  	r6,r7,8
	l.jal   	_outw	# delay slot filled
	l.ori   	r3,r6,3
	l.lwz    	r3,0(r12)	 # SI load
	l.addi  	r5,r0,0	 # move immediate
	l.sfne  	r3,r5
	l.bf    	.L12	# delay slot filled
	l.srli  	r17,r14,3
	l.lwz    	r25,24(r16)	 # SI load
	l.srli  	r22,r18,3
	l.mul   	r19,r20,r25
	l.lwz    	r23,44(r16)	 # SI load
	l.add   	r21,r23,r17
	l.sfne  	r17,r22
	l.bf    	.L13	# delay slot filled
	l.add   	r12,r21,r19
	l.xori  	r4,r18,-1
	l.andi  	r29,r14,7
	l.andi  	r31,r4,7
	l.addi  	r27,r0,255	 # move immediate
	l.addi  	r4,r0,974	 # move immediate
	l.sll   	r22,r27,r31
	l.sra   	r20,r27,r29
	l.and   	r18,r20,r22
	l.slli  	r16,r18,8
	l.ori   	r14,r16,8
	l.jal   	_outw	# delay slot filled
	l.andi  	r3,r14,0xffff	 # zero_extendhisi2
.L27:
	l.lbz   	r18,0(r12)
	l.ori   	r16,r18,1
	l.sb    	0(r12),r16
	l.j     	.L19
	l.nop			# nop delay slot
.L13:
	l.andi  	r15,r14,7
	l.addi  	r4,r0,974	 # move immediate
	l.addi  	r14,r0,255	 # move immediate
	l.sra   	r13,r14,r15
	l.slli  	r11,r13,8
	l.ori   	r10,r11,8
	l.jal   	_outw	# delay slot filled
	l.andi  	r3,r10,0xffff	 # zero_extendhisi2
	l.lbz   	r9,0(r12)
	l.addi  	r3,r14,0	 # move reg to reg
	l.addi  	r4,r0,975	 # move immediate
	l.ori   	r8,r9,1
	l.sb    	0(r12),r8
	l.jal   	_outb	# delay slot filled
	l.addi  	r12,r12,1
	l.lwz    	r3,24(r16)	 # SI load
	l.mul   	r6,r20,r3
	l.lwz    	r7,44(r16)	 # SI load
	l.add   	r5,r7,r22
	l.add   	r3,r5,r6
	l.sfltu  	r12,r3
	l.bnf   	.L35	# delay slot filled
	l.xori  	r25,r18,-1
	l.addi  	r17,r0,1	 # move immediate
.L36:
	l.sb    	0(r12),r17
	l.addi  	r12,r12,1
	l.sfltu  	r12,r3
	l.bf    	.L36	# delay slot filled
	l.addi  	r17,r0,1	 # move immediate
	l.xori  	r25,r18,-1
.L35:
	l.addi  	r21,r0,255	 # move immediate
	l.andi  	r23,r25,7
	l.addi  	r4,r0,975	 # move immediate
	l.sll   	r19,r21,r23
	l.jal   	_outb	# delay slot filled
	l.andi  	r3,r19,0x00ff	 # zero_extendqisi2
	l.j     	.L27
	l.nop			# nop delay slot
.L12:
	l.addi  	r3,r0,8	 # move immediate
	l.jal   	_outb	# delay slot filled
	l.addi  	r4,r0,974	 # move immediate
	l.sfleu  	r14,r18
	l.bnf   	.L19	# delay slot filled
	l.andi  	r9,r14,7
.L37:
	l.movhi 	r5,hi(_mask)	 # move immediate (high)
	l.ori  	r5,r5,lo(_mask)	 # move immediate (low)
	l.addi  	r4,r0,975	 # move immediate
	l.add   	r8,r9,r5
	l.jal   	_outb	# delay slot filled
	l.lbz   	r3,0(r8)	 # zero_extendqisi2
	l.lwz    	r7,24(r16)	 # SI load
	l.srli  	r4,r14,3
	l.mul   	r31,r20,r7
	l.lwz    	r6,44(r16)	 # SI load
	l.addi  	r14,r14,1
	l.add   	r29,r6,r4
	l.add   	r12,r29,r31
	l.lbz   	r27,0(r12)
	l.ori   	r22,r27,1
	l.sb    	0(r12),r22
	l.sfleu  	r14,r18
	l.bf    	.L37	# delay slot filled
	l.andi  	r9,r14,7
	l.j     	.L19
	l.nop			# nop delay slot
.L32:
	l.movhi 	r3,hi(.LC6)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC6)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC2)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC2)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,150	 # move immediate
	l.j     	.L10
	l.nop			# nop delay slot
.L31:
	l.movhi 	r3,hi(.LC5)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC5)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC2)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC2)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,149	 # move immediate
	l.j     	.L33	# delay slot filled
	l.lwz    	r4,32(r16)	 # SI load
.L30:
	l.movhi 	r3,hi(.LC4)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC4)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC2)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC2)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,148	 # move immediate
	l.j     	.L34	# delay slot filled
	l.lwz    	r4,4(r16)	 # SI load
.L29:
	l.movhi 	r3,hi(.LC3)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC3)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC2)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC2)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,147	 # move immediate
	l.j     	.L4
	l.nop			# nop delay slot
.L28:
	l.movhi 	r3,hi(.LC0)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC0)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC2)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC2)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,146	 # move immediate
	l.j     	.L2	# delay slot filled
	l.lwz    	r8,0(r16)	 # SI load
.L19:
	l.movhi 	r20,hi(_mwdrawing)	 # move immediate (high)
	l.ori  	r20,r20,lo(_mwdrawing)	 # move immediate (low)
	l.lwz    	r10,0(r20)	 # SI load
	l.addi  	r14,r10,-1
	l.sw    	0(r20),r14
	l.lwz    	r9,0(r1)
	l.lwz    	r10,4(r1)
	l.lwz    	r12,8(r1)
	l.lwz    	r14,12(r1)
	l.lwz    	r16,16(r1)
	l.lwz    	r18,20(r1)
	l.lwz    	r20,24(r1)
	l.lwz    	r22,28(r1)
	l.jr  	r9
	l.addi   	r1,r1,32
.endproc _ega_drawhorzline
.Lfe1:
	.size	_ega_drawhorzline,.Lfe1-_ega_drawhorzline
	.section	.rodata
.LC8:
	.string	"ega_drawvertline"
.LC11:
	.string	"y2 >= y1"
.LC10:
	.string	"y2 >= 0 && y2 < psd->yres"
.LC9:
	.string	"y1 >= 0 && y1 < psd->yres"
.LC7:
	.string	"x >= 0 && x < psd->xres"
.text
	.align 4
.proc _ega_drawvertline
	.global _ega_drawvertline
	.type	_ega_drawvertline,@function
_ega_drawvertline:
 
	# 00011111111111111111010101010101
	# gpr_save_area 20 vars 0 current_function_outgoing_args_size 0
	l.addi   	r1,r1,-24
	l.sw     	0(r1),r9
	l.sw    	4(r1),r10
	l.sw    	8(r1),r12
	l.sw    	12(r1),r14
	l.sw    	16(r1),r16
	l.sw    	20(r1),r18
	l.lwz    	r8,0(r3)	 # SI load
	l.addi  	r10,r3,0	 # move reg to reg
	l.addi  	r14,r4,0	 # move reg to reg
	l.addi  	r16,r5,0	 # move reg to reg
	l.addi  	r12,r6,0	 # move reg to reg
	l.sfltu  	r4,r8
	l.bnf   	.L55	# delay slot filled
	l.andi  	r18,r7,0x00ff	 # zero_extendqisi2
	l.lwz    	r3,4(r10)	 # SI load
.L61:
	l.sfltu  	r16,r3
	l.bnf   	.L56
	l.nop			# nop delay slot
.L41:
	l.sfltu  	r12,r3
	l.bnf   	.L57
	l.nop			# nop delay slot
.L43:
	l.sfgeu  	r12,r16
	l.bnf   	.L58
	l.nop			# nop delay slot
	l.lwz    	r4,32(r10)	 # SI load
.L60:
	l.sflts  	r18,r4
	l.bnf   	.L59
	l.nop			# nop delay slot
.L47:
	l.movhi 	r4,hi(_gr_mode)	 # move immediate (high)
	l.ori  	r4,r4,lo(_gr_mode)	 # move immediate (low)
	l.movhi 	r7,hi(_mode_table)	 # move immediate (high)
	l.ori  	r7,r7,lo(_mode_table)	 # move immediate (low)
	l.lwz    	r31,0(r4)	 # SI load
	l.movhi 	r21,hi(_mwdrawing)	 # move immediate (high)
	l.ori  	r21,r21,lo(_mwdrawing)	 # move immediate (low)
	l.add   	r29,r31,r7
	l.lwz    	r27,0(r21)	 # SI load
	l.addi  	r4,r0,974	 # move immediate
	l.lbz   	r25,0(r29)	 # zero_extendqisi2
	l.addi  	r23,r27,1
	l.slli  	r19,r25,8
	l.sw    	0(r21),r23
	l.jal   	_outw	# delay slot filled
	l.ori   	r3,r19,3
	l.slli  	r3,r18,8
	l.jal   	_outw	# delay slot filled
	l.addi  	r4,r0,974	 # move immediate
	l.andi  	r17,r14,7
	l.movhi 	r18,hi(_mask)	 # move immediate (high)
	l.ori  	r18,r18,lo(_mask)	 # move immediate (low)
	l.addi  	r4,r0,974	 # move immediate
	l.add   	r15,r17,r18
	l.lbz   	r13,0(r15)	 # zero_extendqisi2
	l.slli  	r5,r13,8
	l.jal   	_outw	# delay slot filled
	l.ori   	r3,r5,8
	l.lwz    	r6,24(r10)	 # SI load
	l.srli  	r3,r14,3
	l.mul   	r7,r16,r6
	l.lwz    	r11,44(r10)	 # SI load
	l.add   	r8,r11,r3
	l.mul   	r9,r12,r6
	l.add   	r5,r8,r7
	l.add   	r6,r8,r9
	l.sfleu  	r5,r6
	l.bnf   	.L54
	l.nop			# nop delay slot
.L51:
	l.lbz   	r16,0(r5)
	l.ori   	r14,r16,1
	l.sb    	0(r5),r14
	l.lwz    	r12,24(r10)	 # SI load
	l.add   	r5,r5,r12
	l.sfleu  	r5,r6
	l.bf    	.L51
	l.nop			# nop delay slot
	l.j     	.L54
	l.nop			# nop delay slot
.L59:
	l.movhi 	r3,hi(.LC6)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC6)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC8)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC8)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,207	 # move immediate
	l.j     	.L47
	l.nop			# nop delay slot
.L58:
	l.movhi 	r3,hi(.LC11)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC11)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC8)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC8)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,206	 # move immediate
	l.j     	.L60	# delay slot filled
	l.lwz    	r4,32(r10)	 # SI load
.L57:
	l.movhi 	r3,hi(.LC10)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC10)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC8)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC8)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,205	 # move immediate
	l.j     	.L43
	l.nop			# nop delay slot
.L56:
	l.movhi 	r3,hi(.LC9)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC9)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC8)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC8)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,204	 # move immediate
	l.j     	.L41	# delay slot filled
	l.lwz    	r3,4(r10)	 # SI load
.L55:
	l.movhi 	r3,hi(.LC7)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC7)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC8)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC8)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,203	 # move immediate
	l.j     	.L61	# delay slot filled
	l.lwz    	r3,4(r10)	 # SI load
.L54:
	l.movhi 	r10,hi(_mwdrawing)	 # move immediate (high)
	l.ori  	r10,r10,lo(_mwdrawing)	 # move immediate (low)
	l.lwz    	r9,0(r10)	 # SI load
	l.addi  	r8,r9,-1
	l.sw    	0(r10),r8
	l.lwz    	r9,0(r1)
	l.lwz    	r10,4(r1)
	l.lwz    	r12,8(r1)
	l.lwz    	r14,12(r1)
	l.lwz    	r16,16(r1)
	l.lwz    	r18,20(r1)
	l.jr  	r9
	l.addi   	r1,r1,24
.endproc _ega_drawvertline
.Lfe2:
	.size	_ega_drawvertline,.Lfe2-_ega_drawvertline
	.global _vgaplan4
.data
	.align 4
	.type	_vgaplan4,@object
	.size	_vgaplan4,36
_vgaplan4:
	.long	_ega_init
	.long	_ega_drawpixel
	.long	_ega_readpixel
	.long	_ega_drawhorzline
	.long	_ega_drawvertline
	.long	_gen_fillrect
	.long	_ega_blit
	.zero	8
	.section	.rodata
.LC12:
	.string	"Can't set i/o permissions: %m\n"
.text
	.align 4
.proc _ega_init
	.global _ega_init
	.type	_ega_init,@function
_ega_init:
 
	# 01011111011100000000000000000000
	# gpr_save_area 4 vars 0 current_function_outgoing_args_size 4
	l.addi   	r1,r1,-12
	l.sw     	4(r1),r9
	l.sw    	8(r1),r10
	l.addi  	r10,r3,0	 # move reg to reg
	l.addi  	r4,r0,32	 # move immediate
	l.addi  	r3,r0,960	 # move immediate
	l.jal   	_ioperm	# delay slot filled
	l.addi  	r5,r0,1	 # move immediate
	l.addi  	r3,r0,3841	 # move immediate
	l.addi  	r6,r0,-1	 # move immediate
	l.sfne  	r11,r6
	l.bf    	.L64	# delay slot filled
	l.addi  	r4,r0,974	 # move immediate
	l.movhi 	r4,hi(.LC12)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC12)	 # move immediate (low)
	l.jal   	_GdError	# delay slot filled
	l.sw    	0(r1),r4
	l.j     	.L63	# delay slot filled
	l.addi  	r11,r0,0	 # move immediate
.L64:
	l.movhi 	r7,hi(65536)	 # move immediate (high)
	l.ori  	r7,r7,lo(65536)	 # move immediate (low)
	l.movhi 	r6,hi(_fbvga_setiopermissions)	 # move immediate (high)
	l.ori  	r6,r6,lo(_fbvga_setiopermissions)	 # move immediate (low)
	l.sw    	28(r10),r7
	l.jal   	_outw	# delay slot filled
	l.sw    	100(r10),r6
	l.addi  	r3,r0,3	 # move immediate
	l.jal   	_outw	# delay slot filled
	l.addi  	r4,r0,974	 # move immediate
	l.addi  	r3,r0,5	 # move immediate
	l.jal   	_outw	# delay slot filled
	l.addi  	r4,r0,974	 # move immediate
	l.addi  	r11,r0,1	 # move immediate
.L63:
	l.lwz    	r9,4(r1)
	l.lwz    	r10,8(r1)
	l.jr  	r9
	l.addi   	r1,r1,12
.endproc _ega_init
.Lfe3:
	.size	_ega_init,.Lfe3-_ega_init
	.section	.rodata
.LC13:
	.string	"ega_drawpixel"
.text
	.align 4
.proc _ega_drawpixel
	.global _ega_drawpixel
	.type	_ega_drawpixel,@function
_ega_drawpixel:
 
	# 00011111111111111111010101010101
	# gpr_save_area 20 vars 0 current_function_outgoing_args_size 0
	l.addi   	r1,r1,-24
	l.sw     	0(r1),r9
	l.sw    	4(r1),r10
	l.sw    	8(r1),r12
	l.sw    	12(r1),r14
	l.sw    	16(r1),r16
	l.sw    	20(r1),r18
	l.lwz    	r8,0(r3)	 # SI load
	l.addi  	r10,r3,0	 # move reg to reg
	l.addi  	r18,r5,0	 # move reg to reg
	l.addi  	r12,r4,0	 # move reg to reg
	l.andi  	r14,r6,0x00ff	 # zero_extendqisi2
	l.movhi 	r16,hi(_mwdrawing)	 # move immediate (high)
	l.ori  	r16,r16,lo(_mwdrawing)	 # move immediate (low)
	l.movhi 	r6,hi(.LC13)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC13)	 # move immediate (low)
	l.movhi 	r3,hi(.LC7)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC7)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.sfltu  	r12,r8
	l.bnf   	.L73	# delay slot filled
	l.addi  	r5,r0,101	 # move immediate
	l.lwz    	r8,4(r10)	 # SI load
.L76:
	l.movhi 	r6,hi(.LC13)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC13)	 # move immediate (low)
	l.movhi 	r3,hi(.LC5)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC5)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.sfltu  	r18,r8
	l.bnf   	.L74	# delay slot filled
	l.addi  	r5,r0,102	 # move immediate
	l.lwz    	r9,32(r10)	 # SI load
.L75:
	l.movhi 	r6,hi(.LC13)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC13)	 # move immediate (low)
	l.movhi 	r3,hi(.LC6)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC6)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.sflts  	r14,r9
	l.bf    	.L71	# delay slot filled
	l.addi  	r5,r0,103	 # move immediate
	l.jal   	___assert
	l.nop			# nop delay slot
	l.j     	.L71
	l.nop			# nop delay slot
.L74:
	l.jal   	___assert
	l.nop			# nop delay slot
	l.j     	.L75	# delay slot filled
	l.lwz    	r9,32(r10)	 # SI load
.L73:
	l.jal   	___assert
	l.nop			# nop delay slot
	l.j     	.L76	# delay slot filled
	l.lwz    	r8,4(r10)	 # SI load
.L71:
	l.movhi 	r6,hi(_gr_mode)	 # move immediate (high)
	l.ori  	r6,r6,lo(_gr_mode)	 # move immediate (low)
	l.movhi 	r9,hi(_mode_table)	 # move immediate (high)
	l.ori  	r9,r9,lo(_mode_table)	 # move immediate (low)
	l.lwz    	r8,0(r6)	 # SI load
	l.addi  	r4,r0,974	 # move immediate
	l.add   	r31,r8,r9
	l.lwz    	r5,0(r16)	 # SI load
	l.lbz   	r29,0(r31)	 # zero_extendqisi2
	l.addi  	r27,r5,1
	l.slli  	r25,r29,8
	l.sw    	0(r16),r27
	l.jal   	_outw	# delay slot filled
	l.ori   	r3,r25,3
	l.slli  	r3,r14,8
	l.jal   	_outw	# delay slot filled
	l.addi  	r4,r0,974	 # move immediate
	l.andi  	r21,r12,7
	l.movhi 	r23,hi(_mask)	 # move immediate (high)
	l.ori  	r23,r23,lo(_mask)	 # move immediate (low)
	l.addi  	r4,r0,974	 # move immediate
	l.add   	r19,r21,r23
	l.lbz   	r17,0(r19)	 # zero_extendqisi2
	l.slli  	r15,r17,8
	l.jal   	_outw	# delay slot filled
	l.ori   	r3,r15,8
	l.lwz    	r14,24(r10)	 # SI load
	l.srli  	r13,r12,3
	l.mul   	r11,r18,r14
	l.lwz    	r12,44(r10)	 # SI load
	l.add   	r10,r12,r13
	l.add   	r6,r10,r11
	l.lbz   	r7,0(r6)
	l.ori   	r4,r7,1
	l.sb    	0(r6),r4
	l.lwz    	r5,0(r16)	 # SI load
	l.addi  	r3,r5,-1
	l.sw    	0(r16),r3
	l.lwz    	r9,0(r1)
	l.lwz    	r10,4(r1)
	l.lwz    	r12,8(r1)
	l.lwz    	r14,12(r1)
	l.lwz    	r16,16(r1)
	l.lwz    	r18,20(r1)
	l.jr  	r9
	l.addi   	r1,r1,24
.endproc _ega_drawpixel
.Lfe4:
	.size	_ega_drawpixel,.Lfe4-_ega_drawpixel
	.section	.rodata
.LC14:
	.string	"ega_readpixel"
.text
	.align 4
.proc _ega_readpixel
	.global _ega_readpixel
	.type	_ega_readpixel,@function
_ega_readpixel:
 
	# 00011111111111111111111101000000
	# gpr_save_area 28 vars 0 current_function_outgoing_args_size 0
	l.addi   	r1,r1,-32
	l.sw     	0(r1),r9
	l.sw    	4(r1),r10
	l.sw    	8(r1),r12
	l.sw    	12(r1),r14
	l.sw    	16(r1),r16
	l.sw    	20(r1),r18
	l.sw    	24(r1),r20
	l.sw    	28(r1),r22
	l.addi  	r10,r4,0	 # move reg to reg
	l.addi  	r12,r3,0	 # move reg to reg
	l.lwz    	r4,0(r3)	 # SI load
	l.addi  	r14,r5,0	 # move reg to reg
	l.sfltu  	r10,r4
	l.bnf   	.L90	# delay slot filled
	l.addi  	r18,r0,0	 # move immediate
	l.lwz    	r4,4(r12)	 # SI load
.L94:
	l.sfltu  	r14,r4
	l.bnf   	.L91
	l.nop			# nop delay slot
	l.lwz    	r3,24(r12)	 # SI load
.L93:
	l.movhi 	r13,hi(_mwdrawing)	 # move immediate (high)
	l.ori  	r13,r13,lo(_mwdrawing)	 # move immediate (low)
	l.srli  	r16,r10,3
	l.mul   	r11,r14,r3
	l.lwz    	r15,44(r12)	 # SI load
	l.andi  	r9,r10,7
	l.movhi 	r8,hi(_mask)	 # move immediate (high)
	l.ori  	r8,r8,lo(_mask)	 # move immediate (low)
	l.add   	r6,r15,r16
	l.addi  	r10,r0,0	 # move immediate
	l.addi  	r20,r0,0	 # move immediate
	l.addi  	r22,r0,1	 # move immediate
	l.addi  	r16,r0,3	 # move immediate
	l.lwz    	r14,0(r13)	 # SI load
	l.add   	r12,r6,r11
	l.addi  	r7,r14,1
	l.add   	r14,r9,r8
	l.sw    	0(r13),r7
	l.slli  	r25,r10,8
.L95:
	l.addi  	r4,r0,974	 # move immediate
	l.ori   	r5,r25,4
	l.jal   	_outw	# delay slot filled
	l.andi  	r3,r5,0xffff	 # zero_extendhisi2
	l.sll   	r23,r22,r10
	l.lbz   	r19,0(r12)
	l.or    	r5,r18,r23
	l.lbz   	r21,0(r14)
	l.and   	r17,r19,r21
	l.sfeq  	r17,r20
	l.bf    	.L84	# delay slot filled
	l.addi  	r10,r10,1
	l.andi  	r18,r5,0x00ff	 # zero_extendqisi2
.L84:
	l.sfles  	r10,r16
	l.bf    	.L95	# delay slot filled
	l.slli  	r25,r10,8
	l.j     	.L92	# delay slot filled
	l.addi  	r11,r18,0	 # move reg to reg
.L91:
	l.movhi 	r3,hi(.LC5)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC5)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC14)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC14)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,122	 # move immediate
	l.j     	.L93	# delay slot filled
	l.lwz    	r3,24(r12)	 # SI load
.L90:
	l.movhi 	r3,hi(.LC7)	 # move immediate (high)
	l.ori  	r3,r3,lo(.LC7)	 # move immediate (low)
	l.movhi 	r4,hi(.LC1)	 # move immediate (high)
	l.ori  	r4,r4,lo(.LC1)	 # move immediate (low)
	l.movhi 	r6,hi(.LC14)	 # move immediate (high)
	l.ori  	r6,r6,lo(.LC14)	 # move immediate (low)
	l.jal   	___assert	# delay slot filled
	l.addi  	r5,r0,121	 # move immediate
	l.j     	.L94	# delay slot filled
	l.lwz    	r4,4(r12)	 # SI load
.L92:
	l.movhi 	r10,hi(_mwdrawing)	 # move immediate (high)
	l.ori  	r10,r10,lo(_mwdrawing)	 # move immediate (low)
	l.lwz    	r18,0(r10)	 # SI load
	l.addi  	r12,r18,-1
	l.sw    	0(r10),r12
	l.lwz    	r9,0(r1)
	l.lwz    	r10,4(r1)
	l.lwz    	r12,8(r1)
	l.lwz    	r14,12(r1)
	l.lwz    	r16,16(r1)
	l.lwz    	r18,20(r1)
	l.lwz    	r20,24(r1)
	l.lwz    	r22,28(r1)
	l.jr  	r9
	l.addi   	r1,r1,32
.endproc _ega_readpixel
.Lfe5:
	.size	_ega_readpixel,.Lfe5-_ega_readpixel
	.align 4
.proc _fbvga_setiopermissions
	.type	_fbvga_setiopermissions,@function
_fbvga_setiopermissions:
 
	# 00011100010100000000000000000000
	# gpr_save_area 0 vars 0 current_function_outgoing_args_size 0
	l.addi   	r1,r1,-4
	l.sw     	0(r1),r9
	l.addi  	r3,r0,960	 # move immediate
	l.addi  	r4,r0,32	 # move immediate
	l.jal   	_ioperm	# delay slot filled
	l.addi  	r5,r0,1	 # move immediate
	l.lwz    	r9,0(r1)
	l.jr  	r9
	l.addi   	r1,r1,4
.endproc _fbvga_setiopermissions
.Lfe6:
	.size	_fbvga_setiopermissions,.Lfe6-_fbvga_setiopermissions
	.ident	"GCC: (GNU) 3.1 20020121 (experimental)"
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.