📄 lcd2.lst
字号:
107 .frame $sp,40,$31 # vars= 0, regs= 6/0, args= 16, gp= 0 108 .mask 0x801f0000,-4 109 .fmask 0x00000000,0 110 .set noreorder 111 .set nomacro 112 113 004c D8FFBD27 addiu $sp,$sp,-40 114 $LCFI0: 115 0050 2000B4AF sw $20,32($sp) 116 $LCFI1: 191:/mnt/hgfs/boot/booter/source/lcd2.c **** //static int hex = 0; 192:/mnt/hgfs/boot/booter/source/lcd2.c **** uint32 status = lcd->intstatus; 117 .loc 1 192 0 118 0054 0000143C lui $20,%hi(lcd) 119 0058 0000838E lw $3,%lo(lcd)($20) 120 .loc 1 190 0 121 005c 1C00B3AF sw $19,28($sp) 122 $LCFI2: 123 0060 1400B1AF sw $17,20($sp) 124 $LCFI3: 125 0064 1000B0AF sw $16,16($sp) 126 $LCFI4: 127 0068 2400BFAF sw $31,36($sp) 128 $LCFI5: 129 006c 1800B2AF sw $18,24($sp) 130 $LCFI6: 131 .loc 1 192 0 132 0070 4800728C lw $18,72($3) 133 0074 0000023C lui $2,%hi(lcd_irqs) 134 0078 04005124 addiu $17,$2,%lo(lcd_irqs) 193:/mnt/hgfs/boot/booter/source/lcd2.c **** //DPRINTF("%d, arg: %X, status: %X\n", number, arg, lcd->intstatus); 194:/mnt/hgfs/boot/booter/source/lcd2.c **** 195:/mnt/hgfs/boot/booter/source/lcd2.c **** int i;GAS LISTING /tmp/ccwryrah.s page 7 196:/mnt/hgfs/boot/booter/source/lcd2.c **** for(i = 0; i < NUM_IRQS; ++i) 135 .loc 1 196 0 136 007c 21800000 move $16,$0 137 0080 26000008 j $L8 138 0084 01001324 li $19,1 # 0x1 139 140 $L6: 141 0088 01001026 addiu $16,$16,1 142 008c 1200022E sltu $2,$16,18 143 0090 0F004010 beq $2,$0,$L12 144 0094 0C003126 addiu $17,$17,12 145 146 $L8: 197:/mnt/hgfs/boot/booter/source/lcd2.c **** { 198:/mnt/hgfs/boot/booter/source/lcd2.c **** if(status & (1 << i) && lcd_irqs[i].handler != NULL) 147 .loc 1 198 0 148 0098 04101302 sll $2,$19,$16 149 $L13: 150 009c 24105200 and $2,$2,$18 151 00a0 F9FF4010 beq $2,$0,$L6 152 00a4 00000000 nop 153 154 00a8 0400228E lw $2,4($17) 199:/mnt/hgfs/boot/booter/source/lcd2.c **** { 200:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd_irqs[i].handler(i, lcd_irqs[i].arg); 155 .loc 1 200 0 156 .loc 1 198 0 157 00ac F6FF4010 beq $2,$0,$L6 158 00b0 21200002 move $4,$16 159 160 .loc 1 200 0 161 00b4 0800258E lw $5,8($17) 162 .loc 1 196 0 163 00b8 01001026 addiu $16,$16,1 164 .loc 1 200 0 165 00bc 09F84000 jal $2 166 00c0 0C003126 addiu $17,$17,12 167 168 .loc 1 196 0 169 00c4 1200022E sltu $2,$16,18 170 .loc 1 198 0 171 .loc 1 196 0 172 00c8 F4FF4014 bne $2,$0,$L13 173 00cc 04101302 sll $2,$19,$16 174 175 $L12: 201:/mnt/hgfs/boot/booter/source/lcd2.c **** } 202:/mnt/hgfs/boot/booter/source/lcd2.c **** } 203:/mnt/hgfs/boot/booter/source/lcd2.c **** 204:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd->intstatus = status; //Clear all interrupts 176 .loc 1 204 0 177 00d0 0000828E lw $2,%lo(lcd)($20) 178 00d4 2400BF8F lw $31,36($sp) 179 00d8 2000B48F lw $20,32($sp) 180 00dc 480052AC sw $18,72($2) 181 00e0 1C00B38F lw $19,28($sp) 182 00e4 1800B28F lw $18,24($sp)GAS LISTING /tmp/ccwryrah.s page 8 183 00e8 1400B18F lw $17,20($sp) 184 00ec 1000B08F lw $16,16($sp) 185 00f0 0800E003 j $31 186 00f4 2800BD27 addiu $sp,$sp,40 187 188 .set macro 189 .set reorder 190 $LFE5: 191 .end lcd_irq 192 .align 2 193 .globl lcd_irq_deinit 194 .ent lcd_irq_deinit 195 .type lcd_irq_deinit, @function 196 lcd_irq_deinit: 197 $LFB6: 205:/mnt/hgfs/boot/booter/source/lcd2.c **** } 206:/mnt/hgfs/boot/booter/source/lcd2.c **** 207:/mnt/hgfs/boot/booter/source/lcd2.c **** void lcd_irq_deinit() 208:/mnt/hgfs/boot/booter/source/lcd2.c **** { 198 .loc 1 208 0 199 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 200 .mask 0x00000000,0 201 .fmask 0x00000000,0 202 .set noreorder 203 .set nomacro 204 209:/mnt/hgfs/boot/booter/source/lcd2.c **** cpuIrqDisable(30); 205 .loc 1 209 0 206 00f8 00000008 j cpuIrqDisable 207 00fc 1E000424 li $4,30 # 0x1e 208 209 .set macro 210 .set reorder 211 $LFE6: 212 .end lcd_irq_deinit 213 .align 2 214 .globl lcd_shutdown 215 .ent lcd_shutdown 216 .type lcd_shutdown, @function 217 lcd_shutdown: 218 $LFB3: 219 .loc 1 83 0 220 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 221 .mask 0x80010000,-4 222 .fmask 0x00000000,0 223 .set noreorder 224 .set nomacro 225 226 0100 E8FFBD27 addiu $sp,$sp,-24 227 $LCFI7: 228 0104 1000B0AF sw $16,16($sp) 229 $LCFI8: 230 0108 1400BFAF sw $31,20($sp) 231 $LCFI9: 232 .loc 1 84 0 233 010c 0000103C lui $16,%hi(lcd) 234 0110 0000028E lw $2,%lo(lcd)($16)GAS LISTING /tmp/ccwryrah.s page 9 235 0114 0400438C lw $3,4($2) 236 .loc 1 103 0 237 .loc 1 84 0 238 0118 04006004 bltz $3,$L21 239 011c 1400BF8F lw $31,20($sp) 240 241 .loc 1 103 0 242 0120 1000B08F lw $16,16($sp) 243 0124 0800E003 j $31 244 0128 1800BD27 addiu $sp,$sp,24 245 246 $L21: 247 .loc 1 86 0 248 012c 0000000C jal lcd_irq_deinit 249 0130 00000000 nop 250 251 .loc 1 88 0 252 0134 0000048E lw $4,%lo(lcd)($16) 253 .loc 1 89 0 254 0138 FF7F023C li $2,2147418112 # 0x7fff0000 255 013c FFFF4234 ori $2,$2,0xffff 256 .loc 1 88 0 257 0140 240080AC sw $0,36($4) 258 .loc 1 89 0 259 0144 0400838C lw $3,4($4) 260 0148 21288000 move $5,$4 261 014c 24186200 and $3,$3,$2 262 0150 040083AC sw $3,4($4) 263 $L17: 264 .loc 1 93 0 265 0154 4800A38C lw $3,72($5) 266 0158 4800A3AC sw $3,72($5) 267 .loc 1 94 0 268 015c 4800A28C lw $2,72($5) 269 0160 04004230 andi $2,$2,0x4 270 .loc 1 96 0 271 .loc 1 94 0 272 0164 FBFF4010 beq $2,$0,$L17 273 0168 0000033C lui $3,%hi(panel) 274 275 .loc 1 96 0 276 016c 0000648C lw $4,%lo(panel)($3) 277 0170 0000033C lui $3,%hi(panels) 278 0174 00006324 addiu $3,$3,%lo(panels) 279 0178 40110400 sll $2,$4,5 280 017c 23104400 subu $2,$2,$4 281 0180 80100200 sll $2,$2,2 282 0184 21104300 addu $2,$2,$3 283 0188 7800428C lw $2,120($2) 284 018c 0D004014 bne $2,$0,$L22 285 0190 00000000 nop 286 287 .loc 1 100 0 288 0194 0000023C lui $2,%hi(sys) 289 $L23: 290 0198 0400448C lw $4,%lo(sys)($2) 291 .loc 1 103 0GAS LISTING /tmp/ccwryrah.s page 10 292 019c 1400BF8F lw $31,20($sp) 293 .loc 1 100 0 294 01a0 7FE0023C li $2,-528547840 # 0xffffffffe07f0000 295 01a4 2C00838C lw $3,44($4) 296 .loc 1 103 0 297 01a8 1000B08F lw $16,16($sp) 298 .loc 1 100 0 299 01ac FFFF4234 ori $2,$2,0xffff 300 01b0 24186200 and $3,$3,$2 301 .loc 1 103 0 302 01b4 1800BD27 addiu $sp,$sp,24 303 .loc 1 100 0 304 01b8 2C0083AC sw $3,44($4) 305 .loc 1 103 0 306 01bc 0800E003 j $31 307 01c0 00000000 nop 308 309 $L22: 310 .loc 1 97 0 311 01c4 09F84000 jal $2 312 01c8 00000000 nop 313 314 .loc 1 100 0 315 01cc 66000008 j $L23 316 01d0 0000023C lui $2,%hi(sys) 317 318 .set macro 319 .set reorder 320 $LFE3: 321 .end lcd_shutdown 322 .align 2 323 .globl lcd_irq_init 324 .ent lcd_irq_init 325 .type lcd_irq_init, @function 326 lcd_irq_init: 327 $LFB7: 210:/mnt/hgfs/boot/booter/source/lcd2.c **** } 211:/mnt/hgfs/boot/booter/source/lcd2.c **** 212:/mnt/hgfs/boot/booter/source/lcd2.c **** void lcd_irq_init() 213:/mnt/hgfs/boot/booter/source/lcd2.c **** { 328 .loc 1 213 0 329 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 330 .mask 0x00000000,0 331 .fmask 0x00000000,0 332 .set noreorder 333 .set nomacro 334 335 01d4 0000023C lui $2,%hi(lcd_irqs) 336 01d8 04004224 addiu $2,$2,%lo(lcd_irqs) 337 01dc 11000324 li $3,17 # 0x11 338 $L28: 214:/mnt/hgfs/boot/booter/source/lcd2.c **** int i; 215:/mnt/hgfs/boot/booter/source/lcd2.c **** 216:/mnt/hgfs/boot/booter/source/lcd2.c **** for(i = 0; i < NUM_IRQS; ++i) 339 .loc 1 216 0 340 01e0 FFFF6324 addiu $3,$3,-1 217:/mnt/hgfs/boot/booter/source/lcd2.c **** {GAS LISTING /tmp/ccwryrah.s page 11 218:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd_irqs[i].enabled = FALSE; 341 .loc 1 218 0 342 01e4 000040AC sw $0,0($2) 219:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd_irqs[i].handler = NULL; 343 .loc 1 219 0 344 01e8 040040AC sw $0,4($2) 345 01ec FCFF6104 bgez $3,$L28 346 01f0 0C004224 addiu $2,$2,12 347 220:/mnt/hgfs/boot/booter/source/lcd2.c **** } 221:/mnt/hgfs/boot/booter/source/lcd2.c **** 222:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd->intenable = 0; 348 .loc 1 222 0 349 01f4 0000023C lui $2,%hi(lcd) 350 01f8 0000438C lw $3,%lo(lcd)($2) 223:/mnt/hgfs/boot/booter/source/lcd2.c **** lcd->intstatus = lcd->intstatus; //Clear interrupts 224:/mnt/hgfs/boot/booter/source/lcd2.c **** 225:/mnt/hgfs/boot/booter/source/lcd2.c **** cpuIrqEnable(IRQ_IC0_START + 30, INT_HIGH_LEVEL, lcd_irq, NULL); 351 .loc 1 225 0 352 01fc 0000063C lui $6,%hi(lcd_irq) 353 0200 0000C624 addiu $6,$6,%lo(lcd_irq) 354 .loc 1 222 0 355 0204 4C0060AC sw $0,76($3) 356 .loc 1 223 0 357 0208 4800628C lw $2,72($3) 358 .loc 1 225 0 359 020c 26000424 li $4,38 # 0x26 360 0210 01000524 li $5,1 # 0x1 361 .loc 1 223 0 362 0214 480062AC sw $2,72($3) 363 .loc 1 225 0 364 0218 00000008 j cpuIrqEnable 365 021c 21380000 move $7,$0 366 367 .set macro 368 .set reorder 369 $LFE7: 370 .end lcd_irq_init 371 .align 2 372 .globl lcd_init 373 .ent lcd_init 374 .type lcd_init, @function 375 lcd_init: 376 $LFB4: 377 .loc 1 106 0 378 .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 379 .mask 0x80030000,-8 380 .fmask 0x00000000,0 381 .set noreorder 382 .set nomacro 383
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -