📄 lcd2_frame_buffer.lst
字号:
186:/mnt/hgfs/boot/booter/include/pixel.h **** 16, //bpp 187:/mnt/hgfs/boot/booter/include/pixel.h **** 16, //memory_width 188:/mnt/hgfs/boot/booter/include/pixel.h **** 0xF800, //r_mask 189:/mnt/hgfs/boot/booter/include/pixel.h **** 0x07C0, //g_mask 190:/mnt/hgfs/boot/booter/include/pixel.h **** 0x003E, //b_mask 191:/mnt/hgfs/boot/booter/include/pixel.h **** 0x0001, //a_mask 192:/mnt/hgfs/boot/booter/include/pixel.h **** 11, //r_shift 193:/mnt/hgfs/boot/booter/include/pixel.h **** 6, //g_shift 194:/mnt/hgfs/boot/booter/include/pixel.h **** 1, //b_shift 195:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //a_shift 196:/mnt/hgfs/boot/booter/include/pixel.h **** 3, //r_scale 197:/mnt/hgfs/boot/booter/include/pixel.h **** 3, //g_scale 198:/mnt/hgfs/boot/booter/include/pixel.h **** 3, //b_scale 199:/mnt/hgfs/boot/booter/include/pixel.h **** 7 //a_scale 200:/mnt/hgfs/boot/booter/include/pixel.h **** }, 201:/mnt/hgfs/boot/booter/include/pixel.h **** { //12: 24bpp (0/8/8/8) 202:/mnt/hgfs/boot/booter/include/pixel.h **** PF_24BPP_0_8_8_8, //pixel_format 203:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //pixel_ordering 204:/mnt/hgfs/boot/booter/include/pixel.h **** 24, //bpp 205:/mnt/hgfs/boot/booter/include/pixel.h **** 32, //memory_width 206:/mnt/hgfs/boot/booter/include/pixel.h **** 0x00FF0000, //r_mask 207:/mnt/hgfs/boot/booter/include/pixel.h **** 0x0000FF00, //g_mask 208:/mnt/hgfs/boot/booter/include/pixel.h **** 0x000000FF, //b_mask 209:/mnt/hgfs/boot/booter/include/pixel.h **** 0x00000000, //a_mask 210:/mnt/hgfs/boot/booter/include/pixel.h **** 16, //r_shift 211:/mnt/hgfs/boot/booter/include/pixel.h **** 8, //g_shift 212:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_shift 213:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //a_shift 214:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //r_scale 215:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //g_scale 216:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_scale 217:/mnt/hgfs/boot/booter/include/pixel.h **** 8 //a_scale 218:/mnt/hgfs/boot/booter/include/pixel.h **** }, 219:/mnt/hgfs/boot/booter/include/pixel.h **** { //13: 32bpp w/ alpha (8/8/8/8) 220:/mnt/hgfs/boot/booter/include/pixel.h **** PF_32BPP, //pixel_format 221:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //pixel_ordering 222:/mnt/hgfs/boot/booter/include/pixel.h **** 32, //bpp 223:/mnt/hgfs/boot/booter/include/pixel.h **** 32, //memory_width 224:/mnt/hgfs/boot/booter/include/pixel.h **** 0x00FF0000, //r_mask 225:/mnt/hgfs/boot/booter/include/pixel.h **** 0x0000FF00, //g_mask 226:/mnt/hgfs/boot/booter/include/pixel.h **** 0x000000FF, //b_mask 227:/mnt/hgfs/boot/booter/include/pixel.h **** 0xFF000000, //a_mask 228:/mnt/hgfs/boot/booter/include/pixel.h **** 16, //r_shift 229:/mnt/hgfs/boot/booter/include/pixel.h **** 8, //g_shift 230:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_shift 231:/mnt/hgfs/boot/booter/include/pixel.h **** 24, //a_shift 232:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //r_scale 233:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //g_scale 234:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_scale 235:/mnt/hgfs/boot/booter/include/pixel.h **** 0 //a_scale 236:/mnt/hgfs/boot/booter/include/pixel.h **** }, 237:/mnt/hgfs/boot/booter/include/pixel.h **** { //14: Palettized Pixels 238:/mnt/hgfs/boot/booter/include/pixel.h **** PF_8BPP, //pixel_format 239:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //pixel_ordering 240:/mnt/hgfs/boot/booter/include/pixel.h **** 8, //bpp 241:/mnt/hgfs/boot/booter/include/pixel.h **** 8, //memory_width 242:/mnt/hgfs/boot/booter/include/pixel.h **** 0x00, //r_maskGAS LISTING /tmp/cc7wtJ5I.s page 7 243:/mnt/hgfs/boot/booter/include/pixel.h **** 0x00, //g_mask 244:/mnt/hgfs/boot/booter/include/pixel.h **** 0x00, //b_mask 245:/mnt/hgfs/boot/booter/include/pixel.h **** 0xFF, //a_mask 246:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //r_shift 247:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //g_shift 248:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_shift 249:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //a_shift 250:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //r_scale 251:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //g_scale 252:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_scale 253:/mnt/hgfs/boot/booter/include/pixel.h **** 0 //a_scale 254:/mnt/hgfs/boot/booter/include/pixel.h **** }, 255:/mnt/hgfs/boot/booter/include/pixel.h **** { //15: Gamma RAM (0/8/8/8) 256:/mnt/hgfs/boot/booter/include/pixel.h **** PF_GAMMA, //pixel_format 257:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //pixel_ordering 258:/mnt/hgfs/boot/booter/include/pixel.h **** 32, //bpp 259:/mnt/hgfs/boot/booter/include/pixel.h **** 32, //memory_width 260:/mnt/hgfs/boot/booter/include/pixel.h **** 0x00FF0000, //r_mask 261:/mnt/hgfs/boot/booter/include/pixel.h **** 0x0000FF00, //g_mask 262:/mnt/hgfs/boot/booter/include/pixel.h **** 0x000000FF, //b_mask 263:/mnt/hgfs/boot/booter/include/pixel.h **** 0xFF000000, //a_mask 264:/mnt/hgfs/boot/booter/include/pixel.h **** 16, //r_shift 265:/mnt/hgfs/boot/booter/include/pixel.h **** 8, //g_shift 266:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_shift 267:/mnt/hgfs/boot/booter/include/pixel.h **** 24, //a_shift 268:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //r_scale 269:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //g_scale 270:/mnt/hgfs/boot/booter/include/pixel.h **** 0, //b_scale 271:/mnt/hgfs/boot/booter/include/pixel.h **** 0 //a_scale 272:/mnt/hgfs/boot/booter/include/pixel.h **** } 273:/mnt/hgfs/boot/booter/include/pixel.h **** }; 274:/mnt/hgfs/boot/booter/include/pixel.h **** 275:/mnt/hgfs/boot/booter/include/pixel.h **** //Scale, Shift, Mask pixel 276:/mnt/hgfs/boot/booter/include/pixel.h **** static unsigned int __inline pixel_convert(const PIXEL_INFO info, unsigned char a, unsigned char r, 277:/mnt/hgfs/boot/booter/include/pixel.h **** { 77 .loc 2 277 0 78 0054 2138A000 move $7,$5 79 0058 1000A827 addiu $8,$sp,16 80 005c 4000A924 addiu $9,$5,64 81 $L12: 82 0060 0000E28C lw $2,0($7) 83 0064 0400E38C lw $3,4($7) 84 0068 0800E48C lw $4,8($7) 85 006c 0C00E58C lw $5,12($7) 86 0070 1000E724 addiu $7,$7,16 87 0074 000002AD sw $2,0($8) 88 0078 040003AD sw $3,4($8) 89 007c 080004AD sw $4,8($8) 90 0080 0C0005AD sw $5,12($8) 91 0084 F6FFE914 bne $7,$9,$L12 92 0088 10000825 addiu $8,$8,16 93 94 $LBB3: 278:/mnt/hgfs/boot/booter/include/pixel.h **** return (((a >> info.a_scale) << info.a_shift) & info.a_mask) 95 .loc 2 278 0 96 008c 4C00A78F lw $7,76($sp) 97 0090 3000A38F lw $3,48($sp)GAS LISTING /tmp/cc7wtJ5I.s page 8 98 0094 3C00A28F lw $2,60($sp) 99 0098 0738E600 sra $7,$6,$7 100 009c 4000A68F lw $6,64($sp) 101 00a0 04384700 sll $7,$7,$2 102 00a4 4400A58F lw $5,68($sp) 103 00a8 0730CB00 sra $6,$11,$6 104 00ac 04306600 sll $6,$6,$3 105 00b0 2000A38F lw $3,32($sp) 106 00b4 2C00A28F lw $2,44($sp) 107 00b8 3400A48F lw $4,52($sp) 108 00bc 2430C300 and $6,$6,$3 109 00c0 2400A38F lw $3,36($sp) 110 00c4 2438E200 and $7,$7,$2 111 00c8 0728AC00 sra $5,$12,$5 112 00cc 4800A28F lw $2,72($sp) 113 00d0 04288500 sll $5,$5,$4 114 00d4 3800A48F lw $4,56($sp) 115 00d8 2428A300 and $5,$5,$3 116 00dc 2800A38F lw $3,40($sp) 117 00e0 07104D00 sra $2,$13,$2 118 $LBE3: 119 $LBE2: 21:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** DPRINTF("FB: %X, aRGB(%d, %d, %d, %d)\n", address, a, r, g, b); 22:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** int x, y; 23:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** uint32 pixel, packed_pixels; 24:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 25:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** //Scale, Shift, Mask pixel 26:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** pixel = pixel_convert(info->pixel_info, a, r, g, b); 27:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 28:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** switch(info->pixel_info.memory_width) 120 .loc 1 28 0 121 00e4 0C00488D lw $8,12($10) 122 $LBB4: 123 $LBB5: 124 .loc 2 278 0 125 00e8 04108200 sll $2,$2,$4 126 00ec 2538E600 or $7,$7,$6 127 00f0 24104300 and $2,$2,$3 128 00f4 2538E500 or $7,$7,$5 129 $LBE5: 130 $LBE4: 131 .loc 1 28 0 132 00f8 10000324 li $3,16 # 0x10 133 .loc 2 278 0 134 .loc 1 28 0 135 00fc 26000311 beq $8,$3,$L16 136 0100 2520E200 or $4,$7,$2 137 138 0104 11000229 slt $2,$8,17 139 0108 12004010 beq $2,$0,$L18 140 010c 20000224 li $2,32 # 0x20 141 142 0110 08000224 li $2,8 # 0x8 29:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** { 30:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** case 8: packed_pixels = pixel | (pixel << 8) | (pixel << 16) | (pixel << 24); break; 143 .loc 1 30 0 144 .loc 1 28 0GAS LISTING /tmp/cc7wtJ5I.s page 9 145 0114 30000211 beq $8,$2,$L15 146 0118 00120400 sll $2,$4,8 147 148 $L14: 31:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** case 16: packed_pixels = pixel | (pixel << 16); break; 32:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** case 32: packed_pixels = pixel; break; 33:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** } 34:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 35:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** fb_fill_data(address, packed_pixels, (info->pixel_info.memory_width * info->width * info->height) 149 .loc 1 35 0 150 011c 4000468D lw $6,64($10) 151 0120 4400428D lw $2,68($10) 152 0124 2120E001 move $4,$15 153 0128 02300671 mul $6,$8,$6 154 012c 2128C001 move $5,$14 155 0130 0230C270 mul $6,$6,$2 156 0134 0700C324 addiu $3,$6,7 157 0138 0000C228 slt $2,$6,0 158 013c 0B306200 movn $6,$3,$2 159 0140 0000000C jal fb_fill_data 160 0144 C3300600 sra $6,$6,3 161 162 0148 5000BF8F lw $31,80($sp) 163 014c 0800E003 j $31 164 0150 5800BD27 addiu $sp,$sp,88 165 166 $L18: 167 .loc 1 28 0 168 0154 F1FF0215 bne $8,$2,$L14 169 0158 00000000 nop 170 171 .loc 1 35 0 172 015c 4000468D lw $6,64($10) 173 0160 4400428D lw $2,68($10) 174 .loc 1 32 0 175 0164 21708000 move $14,$4 176 .loc 1 35 0 177 0168 02300671 mul $6,$8,$6 178 016c 2120E001 move $4,$15 179 0170 2128C001 move $5,$14 180 0174 0230C270 mul $6,$6,$2 181 0178 0700C324 addiu $3,$6,7 182 017c 0000C228 slt $2,$6,0 183 0180 0B306200 movn $6,$3,$2 184 0184 0000000C jal fb_fill_data 185 0188 C3300600 sra $6,$6,3 186 187 018c 5000BF8F lw $31,80($sp) 188 0190 0800E003 j $31 189 0194 5800BD27 addiu $sp,$sp,88 190 191 $L16: 192 .loc 1 31 0 193 0198 00140400 sll $2,$4,16 194 019c 25704400 or $14,$2,$4 195 $L22: 196 .loc 1 35 0GAS LISTING /tmp/cc7wtJ5I.s page 10 197 01a0 4000468D lw $6,64($10) 198 01a4 4400428D lw $2,68($10) 199 01a8 2120E001 move $4,$15 200 01ac 02300671 mul $6,$8,$6 201 01b0 2128C001 move $5,$14 202 01b4 0230C270 mul $6,$6,$2 203 01b8 0700C324 addiu $3,$6,7 204 01bc 0000C228 slt $2,$6,0 205 01c0 0B306200 movn $6,$3,$2 206 01c4 0000000C jal fb_fill_data 207 01c8 C3300600 sra $6,$6,3 208 209 01cc 5000BF8F lw $31,80($sp) 210 01d0 0800E003 j $31 211 01d4 5800BD27 addiu $sp,$sp,88 212 213 $L15: 214 .loc 1 30 0 215 01d8 25104400 or $2,$2,$4 216 01dc 001C0400 sll $3,$4,16 217 01e0 25104300 or $2,$2,$3 218 01e4 00260400 sll $4,$4,24 219 .loc 1 31 0 220 01e8 68000008 j $L22 221 01ec 25704400 or $14,$2,$4 222 223 .set macro 224 .set reorder 225 $LFE4: 226 .end fb_fill 227 .align 2 228 .globl fb_fill_transparency_gradient 229 .ent fb_fill_transparency_gradient 230 .type fb_fill_transparency_gradient, @function 231 fb_fill_transparency_gradient: 232 $LFB5: 36:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** } 37:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 38:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** //hmm, this should probably be deprecated by the next function. Although this creates a corner to 39:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** void fb_fill_transparency_gradient(FRAME_BUFFER_ADDRESS address, const FRAME_BUFFER_INFO* info, uin 40:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** { 233 .loc 1 40 0 234 .frame $sp,88,$31 # vars= 64, regs= 5/0, args= 0, gp= 0 235 .mask 0x001f0000,-8 236 .fmask 0x00000000,0 237 .set noreorder 238 .set nomacro 239 240 01f0 A8FFBD27 addiu $sp,$sp,-88 241 $LCFI2: 242 01f4 4800B2AF sw $18,72($sp) 243 $LCFI3: 244 01f8 4400B1AF sw $17,68($sp) 245 $LCFI4: 246 01fc 5000B4AF sw $20,80($sp) 247 $LCFI5: 248 0200 4C00B3AF sw $19,76($sp)GAS LISTING /tmp/cc7wtJ5I.s page 11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -