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

📄 utils.cod

📁 一个berry eboot 源代码
💻 COD
📖 第 1 页 / 共 2 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091 

	TTL	D:\WINCE500\PLATFORM\BERRYDALE\SRC\BOOTLOADER\EBOOT\.\utils.c
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:coredll.lib "
	DCB	"-defaultlib:corelibc.lib "


  00000			 AREA	 |.data|, DATA
|monthtable_leap| DCD 0x1f
	DCD	0x1d
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f
|monthtable| DCD 0x1f
	DCD	0x1c
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f
	DCD	0x1e
	DCD	0x1f

  00000			 AREA	 |.rdata|, DATA, READONLY
|EdbgVendorIds| DCW 0x0
	DCW	0x0
	DCD	0x4033
	DCB	0x1
	DCB	"AD", 0x0
	DCW	0x1050
	DCW	0x940
	DCD	0x4005
	DCB	0x1
	DCB	"LS", 0x0
	DCW	0x1050
	DCW	0x940
	DCD	0x2078
	DCB	0x1
	DCB	"LS", 0x0
	DCW	0x10ec
	DCW	0x8029
	DCD	0xc0f0
	DCB	0x1
	DCB	"KS", 0x0
	DCW	0x10ec
	DCW	0x8129
	DCD	0x0
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0x900b
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0xd0c9
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0xe04c
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x1186
	DCW	0x1300
	DCD	0x50ba
	DCB	0x4
	DCB	"DL", 0x0
	DCW	0x100b
	DCW	0x20
	DCD	0xa0cc
	DCB	0x5
	DCB	"NG", 0x0
	DCW	0x10b7
	DCW	0x9050
	DCD	0x6008
	DCB	0x6
	DCB	"3C", 0x0
	DCW	0x10b7
	DCW	0x9200
	DCD	0x476
	DCB	0x6
	DCB	"3C", 0x0
	EXPORT	|SpinForever|
	EXPORT	|??_C@_0BB@MEBHIIAP@SpinForever?4?4?4?$AN?6?$AA@| [ DATA ] ; `string'
	IMPORT	|EdbgOutputDebugString|
; File d:\wince500\platform\berrydale\src\bootloader\eboot\utils.c

  00000			 AREA	 |.text| { |SpinForever| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$SpinForever|, PDATA, SELECTION=5, ASSOC=|.text| { |SpinForever| } ; comdat associative
|$T39777| DCD	|$L39776|
	DCD	0x40000501

  00000			 AREA	 |.rdata| { |??_C@_0BB@MEBHIIAP@SpinForever?4?4?4?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BB@MEBHIIAP@SpinForever?4?4?4?$AN?6?$AA@| DCB "SpinForever...", 0xd
	DCB	0xa, 0x0				; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |SpinForever| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |SpinForever| PROC

; 30   : {

  00000		 |$L39776|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M39774|

; 31   :     EdbgOutputDebugString("SpinForever...\r\n");

  00004	e59f0004	 ldr         r0, [pc, #4]
  00008	eb000000	 bl          EdbgOutputDebugString
  0000c		 |$L39675|

; 32   : 
; 33   :     while (1)
; 34   :     {
; 35   :         ;
; 36   :     }

  0000c	eafffffe	 b           |$L39675|
  00010		 |$L39779|
  00010	00000000	 DCD         |??_C@_0BB@MEBHIIAP@SpinForever?4?4?4?$AN?6?$AA@|
  00014		 |$M39775|

			 ENDP  ; |SpinForever|

	EXPORT	|OutputDebugStringW|
	IMPORT	|OEMWriteDebugByte|

  00000			 AREA	 |.text| { |OutputDebugStringW| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$OutputDebugStringW|, PDATA, SELECTION=5, ASSOC=|.text| { |OutputDebugStringW| } ; comdat associative
|$T39789| DCD	|$L39788|
	DCD	0x40000b01
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |OutputDebugStringW| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |OutputDebugStringW| PROC

; 47   : {

  00000		 |$L39788|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M39786|
  00004	e1a04000	 mov         r4, r0

; 48   :     while (*string != L'\0') OEMWriteDebugByte((UINT8)*string++);

  00008	e1d430b0	 ldrh        r3, [r4]
  0000c	ea000002	 b           |$L39785|
  00010		 |$L39681|
  00010	e20300ff	 and         r0, r3, #0xFF
  00014	eb000000	 bl          OEMWriteDebugByte
  00018	e1f430b2	 ldrh        r3, [r4, #2]!
  0001c		 |$L39785|
  0001c	e3530000	 cmp         r3, #0
  00020	1afffffa	 bne         |$L39681|

; 49   : }

  00024	e8bd4010	 ldmia       sp!, {r4, lr}
  00028	e12fff1e	 bx          lr
  0002c		 |$M39787|

			 ENDP  ; |OutputDebugStringW|

	EXPORT	|OEMReadData|
	IMPORT	|EbootEtherReadData|

  00000			 AREA	 |.text| { |OEMReadData| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$OEMReadData|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMReadData| } ; comdat associative
|$T39800| DCD	|$L39799|
	DCD	0x40000401
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |OEMReadData| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |OEMReadData| PROC

; 59   : {

  00000		 |$L39799|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M39797|

; 60   : 
; 61   :     // TODO: increment bytes read to track download progress.
; 62   : 
; 63   :     return(EbootEtherReadData(cbData, pbData));

  00004	eb000000	 bl          EbootEtherReadData

; 64   : }

  00008	e49de004	 ldr         lr, [sp], #4
  0000c	e12fff1e	 bx          lr
  00010		 |$M39798|

			 ENDP  ; |OEMReadData|

	EXPORT	|OEMShowProgress|

  00000			 AREA	 |.text| { |OEMShowProgress| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$OEMShowProgress|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMShowProgress| } ; comdat associative
|$T39807| DCD	|$L39806|
	DCD	0x40000100
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |OEMShowProgress| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |OEMShowProgress| PROC

; 74   : {

  00000		 |$L39806|
  00000		 |$M39804|

; 75   : }

  00000	e12fff1e	 bx          lr
  00004		 |$M39805|

			 ENDP  ; |OEMShowProgress|


  00000			 AREA	 |.text| { |IsLeapYear| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$IsLeapYear|, PDATA, SELECTION=5, ASSOC=|.text| { |IsLeapYear| } ; comdat associative
|$T39820| DCD	|$L39819|
	DCD	0x40001901
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |IsLeapYear| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |IsLeapYear| PROC

; 79   : {

  00000		 |$L39819|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M39817|
  00004	e1a0e000	 mov         lr, r0

; 80   :     UINT32 Leap;
; 81   : 
; 82   :     Leap = 0;

  00008	e3a00000	 mov         r0, #0

; 83   :     if ((Year % 4) == 0)

  0000c	e31e0003	 tst         lr, #3
  00010	1a000010	 bne         |$L39812|

; 84   :     {
; 85   :         Leap = 1;
; 86   :         if ((Year % 100) == 0)

  00014	e59f4044	 ldr         r4, [pc, #0x44]
  00018	e3a02064	 mov         r2, #0x64
  0001c	e3a00001	 mov         r0, #1
  00020	e083149e	 umull       r1, r3, lr, r4
  00024	e1a032a3	 mov         r3, r3, lsr #5
  00028	e0020293	 mul         r2, r3, r2
  0002c	e05e3002	 subs        r3, lr, r2
  00030	1a000008	 bne         |$L39812|

; 87   :         {
; 88   :             Leap = (Year % 400) ? 0 : 1;

  00034	e083149e	 umull       r1, r3, lr, r4
  00038	e3a02e19	 mov         r2, #0x19, 28
  0003c	e1a033a3	 mov         r3, r3, lsr #7
  00040	e0020293	 mul         r2, r3, r2
  00044	e05e3002	 subs        r3, lr, r2
  00048	13a00000	 movne       r0, #0

; 89   :         }
; 90   :     }
; 91   : 
; 92   :     return(Leap);
; 93   : }

  0004c	18bd4010	 ldmneia     sp!, {r4, lr}
  00050	112fff1e	 bxne        lr

; 87   :         {
; 88   :             Leap = (Year % 400) ? 0 : 1;

  00054	e3a00001	 mov         r0, #1
  00058		 |$L39812|

; 89   :         }
; 90   :     }
; 91   : 
; 92   :     return(Leap);
; 93   : }

  00058	e8bd4010	 ldmia       sp!, {r4, lr}
  0005c	e12fff1e	 bx          lr
  00060		 |$L39822|
  00060	51eb851f	 DCD         0x51eb851f
  00064		 |$M39818|

			 ENDP  ; |IsLeapYear|


  00000			 AREA	 |.text| { |FormatSystemTime| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$FormatSystemTime|, PDATA, SELECTION=5, ASSOC=|.text| { |FormatSystemTime| } ; comdat associative
|$T39856| DCD	|$L39855|
	DCD	0x40006002
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |FormatSystemTime| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |FormatSystemTime| PROC

⌨️ 快捷键说明

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