📄 lcd2_window.lst
字号:
774 .globl window_set_pixel_ordering 775 .ent window_set_pixel_ordering 776 .type window_set_pixel_ordering, @function 777 window_set_pixel_ordering: 778 $LFB15: 126:/mnt/hgfs/boot/booter/source/lcd2_window.c **** | (cco == CCO_BGR ? LCD_WINCTRL1_CCO : 0); 127:/mnt/hgfs/boot/booter/source/lcd2_window.c **** } 128:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 129:/mnt/hgfs/boot/booter/source/lcd2_window.c **** void window_set_pixel_ordering(WINDOW_ID id, PIXEL_ORDERING po) 130:/mnt/hgfs/boot/booter/source/lcd2_window.c **** { 779 .loc 1 130 0 780 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 781 .mask 0x00000000,0 782 .fmask 0x00000000,0 783 .set noreorder 784 .set nomacro 785 131:/mnt/hgfs/boot/booter/source/lcd2_window.c **** DPRINTF("%d: %d\n", id, po); 132:/mnt/hgfs/boot/booter/source/lcd2_window.c **** windows[id].regs->ctrl1 = (windows[id].regs->ctrl1 & ~LCD_WINCTRL1_PO) 786 .loc 1 132 0 787 03d4 40180400 sll $3,$4,1 788 03d8 21186400 addu $3,$3,$4 789 03dc C0180300 sll $3,$3,3 790 03e0 21186400 addu $3,$3,$4 791 03e4 0000023C lui $2,%hi(windows) 792 03e8 00004224 addiu $2,$2,%lo(windows) 793 03ec 80180300 sll $3,$3,2 794 03f0 21186200 addu $3,$3,$2 795 03f4 0000678C lw $7,0($3) 796 03f8 3FFF023C li $2,-12648448 # 0xffffffffff3f0000 797 03fc FFFF4234 ori $2,$2,0xffff 798 0400 0400E48C lw $4,4($7) 799 0404 80350500 sll $6,$5,22 800 0408 24208200 and $4,$4,$2 801 040c 25208600 or $4,$4,$6 802 0410 0400E4AC sw $4,4($7) 133:/mnt/hgfs/boot/booter/source/lcd2_window.c **** | LCD_WINCTRL1_PO_N(po); 134:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 135:/mnt/hgfs/boot/booter/source/lcd2_window.c **** windows[id].fb_info.pixel_info.pixel_ordering = po; 803 .loc 1 135 0 804 0414 0800E003 j $31 805 0418 080065AC sw $5,8($3) 806 807 .set macro 808 .set reorderGAS LISTING /tmp/ccb3AwVp.s page 18 809 $LFE15: 810 .end window_set_pixel_ordering 811 .align 2 812 .globl window_set_buffer_format 813 .ent window_set_buffer_format 814 .type window_set_buffer_format, @function 815 window_set_buffer_format: 816 $LFB16: 136:/mnt/hgfs/boot/booter/source/lcd2_window.c **** } 137:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 138:/mnt/hgfs/boot/booter/source/lcd2_window.c **** void window_set_buffer_format(WINDOW_ID id, PIXEL_FORMAT format) 139:/mnt/hgfs/boot/booter/source/lcd2_window.c **** { 817 .loc 1 139 0 818 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 819 .mask 0x00000000,0 820 .fmask 0x00000000,0 821 .set noreorder 822 .set nomacro 823 140:/mnt/hgfs/boot/booter/source/lcd2_window.c **** DPRINTF("%d: %d\n", id, format); 141:/mnt/hgfs/boot/booter/source/lcd2_window.c **** windows[id].fb_info.pixel_info = pixel_configs[format]; 824 .loc 1 141 0 825 041c 40500400 sll $10,$4,1 826 0420 21184401 addu $3,$10,$4 827 0424 C0180300 sll $3,$3,3 828 0428 21186400 addu $3,$3,$4 829 042c 00000B3C lui $11,%hi(windows) 830 0430 0000023C lui $2,%hi(pixel_configs) 831 .loc 1 139 0 832 0434 21488000 move $9,$4 833 .loc 1 141 0 834 0438 80180300 sll $3,$3,2 835 043c 80290500 sll $5,$5,6 836 0440 00006425 addiu $4,$11,%lo(windows) 837 0444 00004224 addiu $2,$2,%lo(pixel_configs) 838 0448 21186400 addu $3,$3,$4 839 044c 2130A200 addu $6,$5,$2 840 0450 04006724 addiu $7,$3,4 841 0454 4000C824 addiu $8,$6,64 842 $L30: 843 0458 0000C28C lw $2,0($6) 844 045c 0400C38C lw $3,4($6) 845 0460 0800C48C lw $4,8($6) 846 0464 0C00C58C lw $5,12($6) 847 0468 1000C624 addiu $6,$6,16 848 046c 0000E2AC sw $2,0($7) 849 0470 0400E3AC sw $3,4($7) 850 0474 0800E4AC sw $4,8($7) 851 0478 0C00E5AC sw $5,12($7) 852 047c F6FFC814 bne $6,$8,$L30 853 0480 1000E724 addiu $7,$7,16 854 142:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 143:/mnt/hgfs/boot/booter/source/lcd2_window.c **** windows[id].regs->ctrl1 = (windows[id].regs->ctrl1 & ~LCD_WINCTRL1_FRM) 855 .loc 1 143 0 856 0484 21184901 addu $3,$10,$9 857 0488 C0180300 sll $3,$3,3GAS LISTING /tmp/ccb3AwVp.s page 19 858 048c 21186900 addu $3,$3,$9 859 0490 00006225 addiu $2,$11,%lo(windows) 860 0494 80180300 sll $3,$3,2 861 0498 21186200 addu $3,$3,$2 862 049c 0000668C lw $6,0($3) 863 04a0 0400658C lw $5,4($3) 864 04a4 FFE1023C li $2,-503382016 # 0xffffffffe1ff0000 865 04a8 0400C48C lw $4,4($6) 866 04ac FFFF4234 ori $2,$2,0xffff 867 04b0 402E0500 sll $5,$5,25 868 04b4 24208200 and $4,$4,$2 869 04b8 25208500 or $4,$4,$5 870 04bc 0400C4AC sw $4,4($6) 144:/mnt/hgfs/boot/booter/source/lcd2_window.c **** | LCD_WINCTRL1_FRM_N(windows[id].fb_info.pixel_info.pixel_format); 145:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 146:/mnt/hgfs/boot/booter/source/lcd2_window.c **** window_set_pixel_ordering(id, windows[id].fb_info.pixel_info.pixel_ordering); 871 .loc 1 146 0 872 04c0 0800658C lw $5,8($3) 873 04c4 00000008 j window_set_pixel_ordering 874 04c8 21202001 move $4,$9 875 876 .set macro 877 .set reorder 878 $LFE16: 879 .end window_set_buffer_format 880 .align 2 881 .globl window_set_buffer_line_width 882 .ent window_set_buffer_line_width 883 .type window_set_buffer_line_width, @function 884 window_set_buffer_line_width: 885 $LFB17: 147:/mnt/hgfs/boot/booter/source/lcd2_window.c **** } 148:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 149:/mnt/hgfs/boot/booter/source/lcd2_window.c **** void window_set_buffer_line_width(WINDOW_ID id, int bytes) 150:/mnt/hgfs/boot/booter/source/lcd2_window.c **** { 886 .loc 1 150 0 887 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 888 .mask 0x00000000,0 889 .fmask 0x00000000,0 890 .set noreorder 891 .set nomacro 892 151:/mnt/hgfs/boot/booter/source/lcd2_window.c **** DPRINTF("%d: %d\n", id, bytes); 152:/mnt/hgfs/boot/booter/source/lcd2_window.c **** windows[id].regs->ctrl2 = (windows[id].regs->ctrl2 & ~LCD_WINCTRL2_BX) 893 .loc 1 152 0 894 04cc 40100400 sll $2,$4,1 895 04d0 21104400 addu $2,$2,$4 896 04d4 C0100200 sll $2,$2,3 897 04d8 21104400 addu $2,$2,$4 898 04dc 0000033C lui $3,%hi(windows) 899 04e0 00006324 addiu $3,$3,%lo(windows) 900 04e4 80100200 sll $2,$2,2 901 04e8 21104300 addu $2,$2,$3 902 04ec 0000448C lw $4,0($2) 903 04f0 E0FF023C li $2,-2097152 # 0xffffffffffe00000 904 04f4 FF004234 ori $2,$2,0xff 905 04f8 0800838C lw $3,8($4)GAS LISTING /tmp/ccb3AwVp.s page 20 906 04fc 002A0500 sll $5,$5,8 907 0500 24186200 and $3,$3,$2 908 0504 25186500 or $3,$3,$5 909 0508 0800E003 j $31 910 050c 080083AC sw $3,8($4) 911 912 .set macro 913 .set reorder 914 $LFE17: 915 .end window_set_buffer_line_width 916 .align 2 917 .globl window_set_width 918 .ent window_set_width 919 .type window_set_width, @function 920 window_set_width: 921 $LFB18: 153:/mnt/hgfs/boot/booter/source/lcd2_window.c **** | LCD_WINCTRL2_BX_N(bytes); 154:/mnt/hgfs/boot/booter/source/lcd2_window.c **** } 155:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 156:/mnt/hgfs/boot/booter/source/lcd2_window.c **** void window_set_width(WINDOW_ID id, int width) 157:/mnt/hgfs/boot/booter/source/lcd2_window.c **** { 922 .loc 1 157 0 923 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 924 .mask 0x00000000,0 925 .fmask 0x00000000,0 926 .set noreorder 927 .set nomacro 928 158:/mnt/hgfs/boot/booter/source/lcd2_window.c **** DPRINTF("%d: %d\n", id, width); 159:/mnt/hgfs/boot/booter/source/lcd2_window.c **** int scale = 1; 160:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 161:/mnt/hgfs/boot/booter/source/lcd2_window.c **** if(windows[id].ocfb.enabled == TRUE) 929 .loc 1 161 0 930 0510 40380400 sll $7,$4,1 931 0514 2110E400 addu $2,$7,$4 932 0518 C0100200 sll $2,$2,3 933 051c 21104400 addu $2,$2,$4 934 0520 0000083C lui $8,%hi(windows) 935 0524 00000325 addiu $3,$8,%lo(windows) 936 0528 80100200 sll $2,$2,2 937 052c 21104300 addu $2,$2,$3 938 .loc 1 157 0 939 0530 21508000 move $10,$4 940 .loc 1 161 0 941 0534 6000448C lw $4,96($2) 942 .loc 1 159 0 943 0538 01000324 li $3,1 # 0x1 944 .loc 1 157 0 945 .loc 1 161 0 946 053c 20008310 beq $4,$3,$L42 947 0540 2158A000 move $11,$5 948 949 $L33: 162:/mnt/hgfs/boot/booter/source/lcd2_window.c **** { 163:/mnt/hgfs/boot/booter/source/lcd2_window.c **** switch(windows[id].ocfb.wscale) 164:/mnt/hgfs/boot/booter/source/lcd2_window.c **** { 165:/mnt/hgfs/boot/booter/source/lcd2_window.c **** case SCALE_2X: scale = 2; break;GAS LISTING /tmp/ccb3AwVp.s page 21 166:/mnt/hgfs/boot/booter/source/lcd2_window.c **** case SCALE_4X: scale = 4; break; 167:/mnt/hgfs/boot/booter/source/lcd2_window.c **** } 168:/mnt/hgfs/boot/booter/source/lcd2_window.c **** } 169:/mnt/hgfs/boot/booter/source/lcd2_window.c **** windows[id].fb_info.width = width; 170:/mnt/hgfs/boot/booter/source/lcd2_window.c **** windows[id].regs->ctrl1 = (windows[id].regs->ctrl1 & ~LCD_WINCTRL1_SZX) 950 .loc 1 170 0 951 0544 02306371 mul $6,$11,$3 952 $L43: 953 .loc 1 169 0 954 0548 2110EA00 addu $2,$7,$10 955 054c C0100200 sll $2,$2,3 956 0550 21104A00 addu $2,$2,$10 957 0554 00000325 addiu $3,$8,%lo(windows) 958 0558 80100200 sll $2,$2,2 959 055c 21484300 addu $9,$2,$3 960 .loc 1 170 0 961 0560 0000278D lw $7,0($9) 962 .loc 1 169 0 963 0564 44002BAD sw $11,68($9) 964 .loc 1 170 0 965 0568 C0FF023C li $2,-4194304 # 0xffffffffffc00000 966 056c 0400E38C lw $3,4($7) 967 0570 FF074234 ori $2,$2,0x7ff 171:/mnt/hgfs/boot/booter/source/lcd2_window.c **** | LCD_WINCTRL1_SZX_N(width*scale); 172:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 173:/mnt/hgfs/boot/booter/source/lcd2_window.c **** if(windows[id].ocfb.enabled == TRUE) 968 .loc 1 173 0 969 0574 6000288D lw $8,96($9) 970 .loc 1 170 0 971 0578 24186200 and $3,$3,$2 972 .loc 1 173 0 973 057c 01000224 li $2,1 # 0x1 174:/mnt/hgfs/boot/booter/source/lcd2_window.c **** window_set_buffer_line_width(id, width); 974 .loc 1 174 0 975 0580 21204001 move $4,$10 976 0584 21286001 move $5,$11 977 .loc 1 170 0 978 0588 FFFFC624 addiu $6,$6,-1 979 058c C0320600 sll $6,$6,11 980 0590 25186600 or $3,$3,$6 981 .loc 1 173 0 982 0594 08000211 beq $8,$2,$L41 983 0598 0400E3AC sw $3,4($7) 984 175:/mnt/hgfs/boot/booter/source/lcd2_window.c **** else 176:/mnt/hgfs/boot/booter/source/lcd2_window.c **** window_set_buffer_line_width(id, (width * windows[id].fb_info.pixel_info.memory_width) / 8); 985 .loc 1 176 0 986 059c 1000258D lw $5,16($9) 987 05a0 21204001 move $4,$10 988 05a4 0228AB70 mul $5,$5,$11 989 05a8 0700A324 addiu $3,$5,7 990 05ac 0000A228 slt $2,$5,0 991 05b0 0B286200 movn $5,$3,$2 992 05b4 C3280500 sra $5,$5,3 993 $L41: 994 05b8 00000008 j window_set_buffer_line_width 995 05bc 00000000 nopGAS LISTING /tmp/ccb3AwVp.s page 22 996 997 $L42: 998 .loc 1 163 0 999 05c0 5800448C lw $4,88($2) 1000 05c4 05008310 beq $4,$3,$L35 1001 05c8 02000224 li $2,2 # 0x2 1002 1003 .loc 1 170 0 1004 .loc 1 163 0 1005 05cc DEFF8214 bne $4,$2,$L43 1006 05d0 02306371 mul $6,$11,$3 1007 1008 .loc 1 166 0 1009 05d4 51010008 j $L33 1010 05d8 04000324 li $3,4 # 0x4 1011 1012 $L35: 1013 .loc 1 165 0 1014 05dc 51010008 j $L33 1015 05e0 02000324 li $3,2 # 0x2 1016 1017 .set macro 1018 .set reorder 1019 $LFE18: 1020 .end window_set_width 1021 .align 2 1022 .globl window_set_height 1023 .ent window_set_height 1024 .type window_set_height, @function 1025 window_set_height: 1026 $LFB19: 177:/mnt/hgfs/boot/booter/source/lcd2_window.c **** } 178:/mnt/hgfs/boot/booter/source/lcd2_window.c **** 179:/mnt/hgfs/boot/booter/source/lcd2_window.c **** void window_set_height(WINDOW_ID id, int height) 180:/mnt/hgfs/boot/booter/source/lcd2_window.c **** { 1027 .loc 1 180 0 1028 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -