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

📄 lcd2_hardware_cursor.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
GAS LISTING /tmp/ccC8vjp9.s 			page 1   1              		.section .mdebug.abi32   2              		.previous   3              		.section	.debug_abbrev,"",@progbits   4              	$Ldebug_abbrev0:   5              		.section	.debug_info,"",@progbits   6              	$Ldebug_info0:   7              		.section	.debug_line,"",@progbits   8              	$Ldebug_line0:   9 0000 1D010000 		.text   9      0200DB00    9      00000101    9      FB0E0A00    9      01010101   10              	$Ltext0:  11              		.data  12              		.align	2  13              		.type	lcd, @object  14              		.size	lcd, 4  15              	lcd:  16 0000 000000B5 		.word	-1258291200  17 0004 00000000 		.text  17      00000000   17      00000000   18              		.align	2  19              		.globl	hwc_set_color  20              		.ent	hwc_set_color  21              		.type	hwc_set_color, @function  22              	hwc_set_color:  23              	$LFB3:  24              		.file 1 "/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c"   1:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** #include "example.h"   2:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** #include "image.h"   3:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** #include "frame_buffer.h"   4:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****    5:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** //#undef LCD_PHYS_ADDR   6:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** //#define LCD_PHYS_ADDR		0x00500000   7:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** static AU1200_LCD* lcd = (AU1200_LCD*) KSEG1(LCD_PHYS_ADDR);   8:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****    9:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****   10:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** void   11:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** hwc_set_color(int index, uint32 color)  12:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** {  25              		.loc 1 12 0  26              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0  27              		.mask	0x00000000,0  28              		.fmask	0x00000000,0  29              		.set	noreorder  30              		.set	nomacro  31              		  13:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	DPRINTF("%d: %X\n", index, color);  14:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	switch(index)  32              		.loc 1 14 0  33 0000 01000224 		li	$2,1			# 0x1  34 0004 09008210 		beq	$4,$2,$L4  35 0008 02008228 		slt	$2,$4,2  36              	  37 000c 11004014 		bne	$2,$0,$L10GAS LISTING /tmp/ccC8vjp9.s 			page 2  38 0010 02000224 		li	$2,2			# 0x2  39              	  40 0014 0A008210 		beq	$4,$2,$L5  41 0018 03000224 		li	$2,3			# 0x3  42              	  43 001c 11008210 		beq	$4,$2,$L6  44 0020 00000000 		nop  45              	  46 0024 0800E003 		j	$31  47 0028 00000000 		nop  48              	  49              	$L4:  15:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	{  16:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	case 0: lcd->hwc.cursorcolor0 = color; break;  17:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	case 1: lcd->hwc.cursorcolor1 = color; break;  50              		.loc 1 17 0  51 002c 0000023C 		lui	$2,%hi(lcd)  52 0030 0000438C 		lw	$3,%lo(lcd)($2)  53 0034 3C0065AC 		sw	$5,60($3)  54 0038 0800E003 		j	$31  55 003c 00000000 		nop  56              	  57              	$L5:  18:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	case 2: lcd->hwc.cursorcolor2 = color; break;  58              		.loc 1 18 0  59 0040 0000023C 		lui	$2,%hi(lcd)  60 0044 0000438C 		lw	$3,%lo(lcd)($2)  61 0048 400065AC 		sw	$5,64($3)  62 004c 0800E003 		j	$31  63 0050 00000000 		nop  64              	  65              	$L10:  66              		.loc 1 16 0  67              		.loc 1 14 0  68 0054 08008010 		beq	$4,$0,$L3  69 0058 0000023C 		lui	$2,%hi(lcd)  70              	  71 005c 0800E003 		j	$31  72 0060 00000000 		nop  73              	  74              	$L6:  19:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	case 3: lcd->hwc.cursorcolor3 = color; break;  75              		.loc 1 19 0  76 0064 0000023C 		lui	$2,%hi(lcd)  77 0068 0000438C 		lw	$3,%lo(lcd)($2)  78 006c 440065AC 		sw	$5,68($3)  79 0070 0800E003 		j	$31  80 0074 00000000 		nop  81              	  82              	$L3:  83              		.loc 1 16 0  84 0078 0000438C 		lw	$3,%lo(lcd)($2)  85 007c 380065AC 		sw	$5,56($3)  86 0080 0800E003 		j	$31  87 0084 00000000 		nop  88              	  89              		.set	macroGAS LISTING /tmp/ccC8vjp9.s 			page 3  90              		.set	reorder  91              	$LFE3:  92              		.end	hwc_set_color  93              		.align	2  94              		.globl	hwc_load_image  95              		.ent	hwc_load_image  96              		.type	hwc_load_image, @function  97              	hwc_load_image:  98              	$LFB4:  20:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	default: break;  21:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	}  22:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** }  23:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****   24:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** typedef struct  25:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** {  26:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	uint32 color;  27:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	BOOL used;  28:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** } COLOR_MAP;  29:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****   30:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** int  31:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** hwc_load_image(IMAGE* cursor, void* hwc_address)  32:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** {  99              		.loc 1 32 0 100              		.frame	$sp,104,$31		# vars= 72, regs= 1/0, args= 24, gp= 0 101              		.mask	0x80000000,-8 102              		.fmask	0x00000000,0 103              		.set	noreorder 104              		.set	nomacro 105              		 106 0088 98FFBD27 		addiu	$sp,$sp,-104 107              	$LCFI0: 108 008c 6000BFAF 		sw	$31,96($sp) 109              	$LCFI1:  33:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	DPRINTF("%s: (%X)\n", cursor->info.description, cursor);  34:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	FRAME_BUFFER_INFO info;  35:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	info.pixel_info.pixel_format = PF_2BPP;  36:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	info.pixel_info.pixel_ordering = PO_3;  37:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	info.pixel_info.bpp = 2;  38:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	info.pixel_info.memory_width = 2;  39:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	info.width = 32;  40:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	info.height = 32;  41:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	  42:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	fb_palatize_image((FRAME_BUFFER_ADDRESS*) &lcd->cursorpattern, &info, cursor, &lcd->hwc.cursorcolo 110              		.loc 1 42 0 111 0090 0000023C 		lui	$2,%hi(lcd) 112 0094 0000438C 		lw	$3,%lo(lcd)($2) 113              		.loc 1 35 0 114 0098 01000224 		li	$2,1			# 0x1 115              		.loc 1 37 0 116 009c 02000824 		li	$8,2			# 0x2 117              		.loc 1 39 0 118 00a0 20000924 		li	$9,32			# 0x20 119              		.loc 1 35 0 120 00a4 1800A2AF 		sw	$2,24($sp) 121              		.loc 1 42 0 122 00a8 21308000 		move	$6,$4 123 00ac 38006724 		addiu	$7,$3,56GAS LISTING /tmp/ccC8vjp9.s 			page 4 124 00b0 00086424 		addiu	$4,$3,2048 125 00b4 1800A527 		addiu	$5,$sp,24 126              		.loc 1 36 0 127 00b8 03000324 		li	$3,3			# 0x3 128              		.loc 1 42 0 129 00bc 04000224 		li	$2,4			# 0x4 130              		.loc 1 36 0 131 00c0 1C00A3AF 		sw	$3,28($sp) 132              		.loc 1 38 0 133 00c4 2400A8AF 		sw	$8,36($sp) 134              		.loc 1 40 0 135 00c8 5C00A9AF 		sw	$9,92($sp) 136              		.loc 1 42 0 137 00cc 1000A2AF 		sw	$2,16($sp) 138              		.loc 1 37 0 139 00d0 2000A8AF 		sw	$8,32($sp) 140              		.loc 1 39 0 141              		.loc 1 42 0 142 00d4 0000000C 		jal	fb_palatize_image 143 00d8 5800A9AF 		sw	$9,88($sp) 144              	  43:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** } 145              		.loc 1 43 0 146 00dc 6000BF8F 		lw	$31,96($sp) 147 00e0 0800E003 		j	$31 148 00e4 6800BD27 		addiu	$sp,$sp,104 149              	 150              		.set	macro 151              		.set	reorder 152              	$LFE4: 153              		.end	hwc_load_image 154              		.align	2 155              		.globl	hwc_set_position 156              		.ent	hwc_set_position 157              		.type	hwc_set_position, @function 158              	hwc_set_position: 159              	$LFB5:  44:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****   45:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** void  46:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** hwc_set_position(int x, int y, int x_offset, int y_offset)  47:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** { 160              		.loc 1 47 0 161              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0 162              		.mask	0x00000000,0 163              		.fmask	0x00000000,0 164              		.set	noreorder 165              		.set	nomacro 166              		  48:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	DPRINTF("XY(%d, %d), OFFSET_XY(%d, %d)\n", x, y, x_offset, y_offset);  49:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	lcd->hwc.cursorpos  = LCD_CURSORPOS_HWCXOFF_N(x_offset)  167              		.loc 1 49 0 168 00e8 C0360600 		sll	$6,$6,27 169 00ec 00240400 		sll	$4,$4,16 170 00f0 0000023C 		lui	$2,%hi(lcd) 171 00f4 2530C400 		or	$6,$6,$4 172 00f8 0000438C 		lw	$3,%lo(lcd)($2) 173 00fc C03A0700 		sll	$7,$7,11GAS LISTING /tmp/ccC8vjp9.s 			page 5 174 0100 2530C700 		or	$6,$6,$7 175 0104 2530C500 		or	$6,$6,$5 176 0108 340066AC 		sw	$6,52($3) 177 010c 0800E003 		j	$31 178 0110 00000000 		nop 179              	 180              		.set	macro 181              		.set	reorder 182              	$LFE5: 183              		.end	hwc_set_position 184              		.align	2 185              		.globl	hwc_enable 186              		.ent	hwc_enable 187              		.type	hwc_enable, @function 188              	hwc_enable: 189              	$LFB6:  50:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 						| LCD_CURSORPOS_HWCXPOS_N(x)  51:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 						| LCD_CURSORPOS_HWCYOFF_N(y_offset)  52:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 						| LCD_CURSORPOS_HWCYPOS_N(y);  53:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** }  54:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****   55:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** void  56:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** hwc_enable(BOOL enable)  57:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** { 190              		.loc 1 57 0 191              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0 192              		.mask	0x00000000,0 193              		.fmask	0x00000000,0 194              		.set	noreorder 195              		.set	nomacro 196              		  58:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	DPRINTF("%s\n", (enable == TRUE) ? "TRUE" : "FALSE");  59:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	lcd->hwc.cursorctrl = (enable == TRUE) ? LCD_HWCCON_EN : 0; 197              		.loc 1 59 0 198 0114 0000023C 		lui	$2,%hi(lcd) 199 0118 0000438C 		lw	$3,%lo(lcd)($2) 200 011c 01008438 		xori	$4,$4,0x1 201 0120 0100842C 		sltu	$4,$4,1 202 0124 300064AC 		sw	$4,48($3) 203 0128 0800E003 		j	$31 204 012c 00000000 		nop 205              	 206              		.set	macro 207              		.set	reorder 208              	$LFE6: 209              		.end	hwc_enable 210              		.align	2 211              		.globl	hwc_get_pallete 212              		.ent	hwc_get_pallete 213              		.type	hwc_get_pallete, @function 214              	hwc_get_pallete: 215              	$LFB7:  60:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** }  61:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c ****   62:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** uint32*  63:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** hwc_get_pallete()  64:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** {GAS LISTING /tmp/ccC8vjp9.s 			page 6 216              		.loc 1 64 0 217              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0 218              		.mask	0x00000000,0 219              		.fmask	0x00000000,0 220              		.set	noreorder 221              		.set	nomacro 222              		  65:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** 	return (uint32*) &lcd->hwc.cursorcolor0; 223              		.loc 1 65 0 224 0130 0000033C 		lui	$3,%hi(lcd) 225 0134 0000628C 		lw	$2,%lo(lcd)($3)  66:/mnt/hgfs/boot/booter/source/lcd2_hardware_cursor.c **** } 226              		.loc 1 66 0 227 0138 0800E003 		j	$31 228 013c 38004224 		addiu	$2,$2,56 229              	 230              		.set	macro 231              		.set	reorder 232              	$LFE7: 233              		.end	hwc_get_pallete 234              		.section	.debug_frame,"",@progbits 235              	$Lframe0: 236 0000 0C000000 		.4byte	$LECIE0-$LSCIE0 237              	$LSCIE0: 238 0004 FFFFFFFF 		.4byte	0xffffffff 239 0008 01       		.byte	0x1 240 0009 00       		.ascii	"\000" 241 000a 01       		.uleb128 0x1 242 000b 04       		.sleb128 4 243 000c 1F       		.byte	0x1f 244 000d 0C       		.byte	0xc 245 000e 1D       		.uleb128 0x1d 246 000f 00       		.uleb128 0x0 247              		.align	2 248              	$LECIE0: 249              	$LSFDE0: 250 0010 0C000000 		.4byte	$LEFDE0-$LASFDE0 251              	$LASFDE0: 252 0014 00000000 		.4byte	$Lframe0 253 0018 00000000 		.4byte	$LFB3 254 001c 88000000 		.4byte	$LFE3-$LFB3 255              		.align	2 256              	$LEFDE0: 257              	$LSFDE2: 258 0020 14000000 		.4byte	$LEFDE2-$LASFDE2 259              	$LASFDE2: 260 0024 00000000 		.4byte	$Lframe0 261 0028 88000000 		.4byte	$LFB4 262 002c 60000000 		.4byte	$LFE4-$LFB4 263 0030 44       		.byte	0x4 264              		.4byte	$LCFI0-$LFB4 265 0031 0E       		.byte	0xe 266 0032 68       		.uleb128 0x68 267 0033 44       		.byte	0x4 268              		.4byte	$LCFI1-$LCFI0 269 0034 11       		.byte	0x11 270 0035 1F       		.uleb128 0x1fGAS LISTING /tmp/ccC8vjp9.s 			page 7 271 0036 7E       		.sleb128 -2 272 0037 00       		.align	2 273              	$LEFDE2: 274              	$LSFDE4: 275 0038 0C000000 		.4byte	$LEFDE4-$LASFDE4 276              	$LASFDE4: 277 003c 00000000 		.4byte	$Lframe0 278 0040 E8000000 		.4byte	$LFB5 279 0044 2C000000 		.4byte	$LFE5-$LFB5 280              		.align	2 281              	$LEFDE4: 282              	$LSFDE6: 283 0048 0C000000 		.4byte	$LEFDE6-$LASFDE6 284              	$LASFDE6: 285 004c 00000000 		.4byte	$Lframe0 286 0050 14010000 		.4byte	$LFB6

⌨️ 快捷键说明

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