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

📄 util.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
GAS LISTING /tmp/ccu9oIwe.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 0D010000 		.text   9      02008000    9      00000101    9      FB0E0A00    9      01010101   10              	$Ltext0:  11              		.align	2  12              		.globl	stringCopy  13              		.ent	stringCopy  14              		.type	stringCopy, @function  15              	stringCopy:  16              	$LFB2:  17              		.file 1 "/mnt/hgfs/boot/booter/source/applications/booter/util.c"   1:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** #include "util.h"
   2:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** #include "example.h"
   3:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
   4:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** static int progress;
   5:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** static int dots;
   6:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** static int oldMode;
   7:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
   8:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** void stringCopy(const char* source, char* dest)
   9:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
  18              		.loc 1 9 0  19              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0  20              		.mask	0x00000000,0  21              		.fmask	0x00000000,0  22              		.set	noreorder  23              		.set	nomacro  24              		  10:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	int i;
  11:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	for(i = 0; source[i] != 0; ++i)
  25              		.loc 1 11 0  26 0000 00008280 		lb	$2,0($4)  27              		.loc 1 9 0  28 0004 2130A000 		move	$6,$5  29              		.loc 1 11 0  30 0008 0A004010 		beq	$2,$0,$L7  31 000c 21280000 		move	$5,$0  32              	  33 0010 21188000 		move	$3,$4  34              	$L5:  12:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	{
  13:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 		dest[i] = source[i];
  35              		.loc 1 13 0  36 0014 00006390 		lbu	$3,0($3)  37 0018 2110C500 		addu	$2,$6,$5  38              		.loc 1 11 0  39 001c 0100A524 		addiu	$5,$5,1  40              		.loc 1 13 0GAS LISTING /tmp/ccu9oIwe.s 			page 2  41 0020 000043A0 		sb	$3,0($2)  42              		.loc 1 11 0  43 0024 21188500 		addu	$3,$4,$5  44 0028 00006280 		lb	$2,0($3)  45 002c F9FF4014 		bne	$2,$0,$L5  46 0030 00000000 		nop  47              	  48              	$L7:  14:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	}
  15:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  16:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	dest[i] = 0;
  49              		.loc 1 16 0  50 0034 2110C500 		addu	$2,$6,$5  51 0038 0800E003 		j	$31  52 003c 000040A0 		sb	$0,0($2)  53              	  54              		.set	macro  55              		.set	reorder  56              	$LFE2:  57              		.end	stringCopy  58              		.align	2  59              		.globl	memCopy  60              		.ent	memCopy  61              		.type	memCopy, @function  62              	memCopy:  63              	$LFB3:  17:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
  18:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  19:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** void memCopy(const void* src, void* dest, int bytes)
  20:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
  64              		.loc 1 20 0  65              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0  66              		.mask	0x00000000,0  67              		.fmask	0x00000000,0  68              		.set	noreorder  69              		.set	nomacro  70              		  71              		.loc 1 20 0  72 0040 21408000 		move	$8,$4  21:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	int i;
  22:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	const char* charSrc = (char*) src;
  23:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	char* charDest = (char*) dest;
  24:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  25:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	for(i = 0; i < bytes; ++i)
  73              		.loc 1 25 0  74 0044 0800C018 		blez	$6,$L16  75 0048 21380000 		move	$7,$0  76              	  77              	$L13:  26:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 		charDest[i] = charSrc[i];
  78              		.loc 1 26 0  79 004c 21100701 		addu	$2,$8,$7  80 0050 00004490 		lbu	$4,0($2)  81 0054 2118A700 		addu	$3,$5,$7  82              		.loc 1 25 0  83 0058 0100E724 		addiu	$7,$7,1  84 005c 2A10E600 		slt	$2,$7,$6GAS LISTING /tmp/ccu9oIwe.s 			page 3  85              		.loc 1 26 0  86              		.loc 1 25 0  87 0060 FAFF4014 		bne	$2,$0,$L13  88 0064 000064A0 		sb	$4,0($3)  89              	  90              	$L16:  91 0068 0800E003 		j	$31  92 006c 00000000 		nop  93              	  94              		.set	macro  95              		.set	reorder  96              	$LFE3:  97              		.end	memCopy  98              		.align	2  99              		.globl	memFill 100              		.ent	memFill 101              		.type	memFill, @function 102              	memFill: 103              	$LFB4:  27:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
  28:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  29:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** void memFill(void* dest, int bytes, char value)
  30:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
 104              		.loc 1 30 0 105              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0 106              		.mask	0x00000000,0 107              		.fmask	0x00000000,0 108              		.set	noreorder 109              		.set	nomacro 110              		 111              		.loc 1 30 0 112 0070 00360600 		sll	$6,$6,24 113 0074 03360600 		sra	$6,$6,24  31:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	int i;
  32:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	char* charDest = (char*) dest;
  33:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	
  34:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	for(i = 0; i < bytes; ++i)
 114              		.loc 1 34 0 115 0078 0600A018 		blez	$5,$L24 116 007c 21380000 		move	$7,$0 117              	 118              	$L21:  35:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 		charDest[i] = value;
 119              		.loc 1 35 0 120 0080 21188700 		addu	$3,$4,$7 121              		.loc 1 34 0 122 0084 0100E724 		addiu	$7,$7,1 123 0088 2A10E500 		slt	$2,$7,$5 124              		.loc 1 35 0 125              		.loc 1 34 0 126 008c FCFF4014 		bne	$2,$0,$L21 127 0090 000066A0 		sb	$6,0($3) 128              	 129              	$L24: 130 0094 0800E003 		j	$31 131 0098 00000000 		nop 132              	GAS LISTING /tmp/ccu9oIwe.s 			page 4 133              		.set	macro 134              		.set	reorder 135              	$LFE4: 136              		.end	memFill 137              		.section	.rodata.str1.4,"aMS",@progbits,1 138              		.align	2 139              	$LC2: 140 0000 25582000 		.ascii	"%X \000" 141              		.align	2 142              	$LC0: 143 0004 0A00     		.ascii	"\n\000" 144 0006 0000     		.align	2 145              	$LC1: 146 0008 3000     		.ascii	"0\000" 147              		.text 148              		.align	2 149              		.globl	memDisp 150              		.ent	memDisp 151              		.type	memDisp, @function 152              	memDisp: 153              	$LFB5:  36:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
  37:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  38:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** void memDisp(void* src, int bytes)
  39:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
 154              		.loc 1 39 0 155              		.frame	$sp,48,$31		# vars= 0, regs= 8/0, args= 16, gp= 0 156              		.mask	0x807f0000,-4 157              		.fmask	0x00000000,0 158              		.set	noreorder 159              		.set	nomacro 160              		 161 009c D0FFBD27 		addiu	$sp,$sp,-48 162              	$LCFI0: 163 00a0 2800B6AF 		sw	$22,40($sp) 164              	$LCFI1: 165 00a4 2400B5AF 		sw	$21,36($sp) 166              	$LCFI2: 167 00a8 1000B0AF 		sw	$16,16($sp) 168              	$LCFI3: 169 00ac 2C00BFAF 		sw	$31,44($sp) 170              	$LCFI4: 171 00b0 2000B4AF 		sw	$20,32($sp) 172              	$LCFI5: 173 00b4 1C00B3AF 		sw	$19,28($sp) 174              	$LCFI6: 175 00b8 1800B2AF 		sw	$18,24($sp) 176              	$LCFI7: 177 00bc 1400B1AF 		sw	$17,20($sp) 178              	$LCFI8: 179              		.loc 1 39 0 180 00c0 21A8A000 		move	$21,$5 181 00c4 21B08000 		move	$22,$4  40:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	char* charSrc = (char*) src;
  41:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	int i;
  42:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	for(i = 0; i < bytes; ++i)
 182              		.loc 1 42 0GAS LISTING /tmp/ccu9oIwe.s 			page 5 183 00c8 2500A018 		blez	$5,$L33 184 00cc 21800000 		move	$16,$0 185              	 186 00d0 0000143C 		lui	$20,%hi($LC2) 187 00d4 0000133C 		lui	$19,%hi($LC0) 188 00d8 43000008 		j	$L31 189 00dc 0000123C 		lui	$18,%hi($LC1) 190              	 191              	$L29:  43:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	{
  44:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 		if(i%16 == 0)
  45:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 			printf("\n");
  46:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  47:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 		if((charSrc[i] & 0x0FF) <= 0x0F)
 192              		.loc 1 47 0 193 00e0 00002592 		lbu	$5,0($17) 194 00e4 FF00A230 		andi	$2,$5,0x00ff 195 00e8 10004228 		slt	$2,$2,16  48:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 			printf("0");
 196              		.loc 1 48 0 197              		.loc 1 47 0 198 00ec 13004014 		bne	$2,$0,$L34 199 00f0 00004426 		addiu	$4,$18,%lo($LC1) 200              	 201              	$L30:  49:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  50:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 		printf("%X ", charSrc[i] & 0x0FF);
 202              		.loc 1 50 0 203 00f4 FF00A530 		andi	$5,$5,0x00ff 204 00f8 0000000C 		jal	printf 205 00fc 00008426 		addiu	$4,$20,%lo($LC2) 206              	 207              		.loc 1 42 0 208 0100 2A101502 		slt	$2,$16,$21 209 0104 17004010 		beq	$2,$0,$L35 210 0108 2C00BF8F 		lw	$31,44($sp) 211              	 212              	$L31: 213              		.loc 1 44 0 214 010c 0F000232 		andi	$2,$16,0xf 215              	$L36: 216              		.loc 1 47 0 217 0110 2188D002 		addu	$17,$22,$16 218              		.loc 1 45 0 219 0114 00006426 		addiu	$4,$19,%lo($LC0) 220              		.loc 1 42 0 221              		.loc 1 44 0 222 0118 F1FF4014 		bne	$2,$0,$L29 223 011c 01001026 		addiu	$16,$16,1 224              	 225              		.loc 1 45 0 226 0120 0000000C 		jal	printf 227 0124 00000000 		nop 228              	 229              		.loc 1 47 0 230 0128 00002592 		lbu	$5,0($17) 231 012c FF00A230 		andi	$2,$5,0x00ffGAS LISTING /tmp/ccu9oIwe.s 			page 6 232 0130 10004228 		slt	$2,$2,16 233              		.loc 1 48 0 234              		.loc 1 47 0 235 0134 EFFF4010 		beq	$2,$0,$L30 236 0138 00004426 		addiu	$4,$18,%lo($LC1) 237              	 238              	$L34: 239              		.loc 1 48 0 240 013c 0000000C 		jal	printf 241 0140 00000000 		nop 242              	 243 0144 00002592 		lbu	$5,0($17) 244              		.loc 1 50 0 245 0148 00008426 		addiu	$4,$20,%lo($LC2) 246 014c 0000000C 		jal	printf 247 0150 FF00A530 		andi	$5,$5,0x00ff 248              	 249              		.loc 1 42 0 250 0154 2A101502 		slt	$2,$16,$21 251              		.loc 1 44 0 252              		.loc 1 42 0 253 0158 EDFF4014 		bne	$2,$0,$L36 254 015c 0F000232 		andi	$2,$16,0xf 255              	 256              	$L33: 257 0160 2C00BF8F 		lw	$31,44($sp) 258              	$L35: 259 0164 2800B68F 		lw	$22,40($sp) 260 0168 2400B58F 		lw	$21,36($sp) 261 016c 2000B48F 		lw	$20,32($sp) 262 0170 1C00B38F 		lw	$19,28($sp) 263 0174 1800B28F 		lw	$18,24($sp) 264 0178 1400B18F 		lw	$17,20($sp) 265 017c 1000B08F 		lw	$16,16($sp) 266 0180 0800E003 		j	$31 267 0184 3000BD27 		addiu	$sp,$sp,48 268              	 269              		.set	macro 270              		.set	reorder 271              	$LFE5: 272              		.end	memDisp 273              		.align	2 274              		.globl	stringLength 275              		.ent	stringLength 276              		.type	stringLength, @function 277              	stringLength: 278              	$LFB6:  51:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 	}
  52:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
  53:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** 
  54:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** int stringLength(const char* string)
  55:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
 279              		.loc 1 55 0 280              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0 281              		.mask	0x00000000,0 282              		.fmask	0x00000000,0 283              		.set	noreorderGAS LISTING /tmp/ccu9oIwe.s 			page 7

⌨️ 快捷键说明

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