CPU Reset 后的前100多条指令
CPU Reset 后的前100多条指令测试平台: Intel Menlow Crown Bench CRB
BIOS: 自带的 AMI BIOS
Below is the instruction and registers when CPU reset
F000:0000FFF0 EAAAFF00F0 JMP far16 ptr f000:0000ffaa
EAX = 00000000: AX=0000 AH=00 AL=00
EBX = 00000000: BX=0000 BH=00 BL=00
ECX = 00000000: CX=0000 CH=00 CL=00
EDX = 000106C0: DX=06C0 DH=06 DL=C0
EBP = 00000000: BP=0000
ESI = 00000000: SI=0000
EDI = 00000000: DI=0000
ESP = 00000000: SP=0000
CS = F000
DS = 0000
SS = 0000
ES = 0000
FS = 0000
GS = 0000
EIP = 0000FFF0: IP=FFF0
EFLAGS = 00000002: FLAGS=0002 ID=0 VIP=0 VIF=0 AC=0 VM=0 RF=0 NT=0 IOPL=0 OF=0 DF=0 INF=0 TF=0 SF=0 ZF=0 AF=0 PF=0 CF=0
CR0 = 60000010: PG=0 CD=1 NW=1 AM=0 WP=0 NE=0 ET=1 TS=0 EM=0 MP=0 PE=0
CR2 = 00000000
CR3 = 00000000: PCD=0 PWT=0
CR4 = 00000000: VMXE=0 OSXMMEXCPT=0 OSFXSR=0 PCE=0 PGE=0 MCE=0 PSE=0 PAE=0 DE=0 TSD=0 PVI=0 VME=0
Instruction for CPU step 00
F000:FFAA E9C300 JMP near16 ptr 0070
Instruction for CPU step 01
F000:0070 E9FD01 JMP near16 ptr 0270
Instruction for CPU step 02
F000:0270 FA CLI
Instruction for CPU step 03
F000:0271 FC CLD
Instruction for CPU step 04
F000:0272 668BE0 MOV ESP,EAX
Instruction for CPU step 05
F000:0275 8CC8 MOV AX,CS
Instruction for CPU step 06
F000:0277 8ED0 MOV SS,AX
Instruction for CPU step 07
F000:027C E957FE JMP near16 ptr 00d6
Instruction for CPU step 08
F000:00D6 E9A601 JMP near16 ptr 027f
Instruction for CPU step 09
F000:027F B0D0 MOV AL,d0
Instruction for CPU step 10
F000:0281 E680 OUT 80,AL
Instruction for CPU step 11
F000:0283 BF8902 MOV DI,0289
Instruction for CPU step 12
F000:0286 E9AE06 JMP near16 ptr 0937
Instruction for CPU step 13
F000:0937 0F08 INVD
Instruction for CPU step 14
F000:0939 0F6EFF MOVD MM7,EDI
Instruction for CPU step 15
F000:093C 668BC4 MOV EAX,ESP
Instruction for CPU step 16
F000:093F E97C08 JMP near16 ptr 11be
Instruction for CPU step 17
F000:11BE E981F7 JMP near16 ptr 0942
Instruction for CPU step 18
F000:0942 BF4809 MOV DI,0948
Instruction for CPU step 19
F000:0945 E9C004 JMP near16 ptr 0e08
Instruction for CPU step 20
F000:0E08 0F20C0 MOV EAX,CR0
Instruction for CPU step 21
F000:0E0B 660D00000060 OR EAX,60000000
Instruction for CPU step 22
F000:0E11 0F22C0 MOV CR0,EAX
Instruction for CPU step 23
F000:0E14 0F09 WBINVD
Instruction for CPU step 24
F000:0E16 66B9FF020000 MOV ECX,000002ff
Instruction for CPU step 25
F000:0E1C 0F32 RDMSR
Instruction for CPU step 26
F000:0E1E 25FFF3 AND AX,f3ff
Instruction for CPU step 27
F000:0E21 0F30 WRMSR
Instruction for CPU step 28
F000:0E23 0F09 WBINVD
Instruction for CPU step 29
F000:0E25 0F20E0 MOV EAX,CR4
Instruction for CPU step 30
F000:0E28 247F AND AL,7f
Instruction for CPU step 31
F000:0E2A 0F22E0 MOV CR4,EAX
Instruction for CPU step 32
F000:0E2D 0F20D8 MOV EAX,CR3
Instruction for CPU step 33
F000:0E30 0F22D8 MOV CR3,EAX
Instruction for CPU step 34
F000:0E33 FFE7 JMP DI
Instruction for CPU step 35
F000:0948 66B9FE000000 MOV ECX,000000fe
Instruction for CPU step 36
F000:094E 0F32 RDMSR
Instruction for CPU step 37
F000:0950 0FB6D8 MOVZX BX,AL
Instruction for CPU step 38
F000:0953 6633C0 XOR EAX,EAX
Instruction for CPU step 39
F000:0956 668BD0 MOV EDX,EAX
Instruction for CPU step 40
F000:0959 B95002 MOV CX,0250
Instruction for CPU step 41
F000:095C 0F30 WRMSR
Instruction for CPU step 42
F000:095E B95802 MOV CX,0258
Instruction for CPU step 43
F000:0961 0F30 WRMSR
Instruction for CPU step 44
F000:0963 B95902 MOV CX,0259
Instruction for CPU step 45
F000:0966 0F30 WRMSR
Instruction for CPU step 46
F000:0968 B96802 MOV CX,0268
Instruction for CPU step 47
F000:096B 0F30 WRMSR
Instruction for CPU step 48
F000:096D B96902 MOV CX,0269
Instruction for CPU step 49
F000:0970 0F30 WRMSR
Instruction for CPU step 50
F000:0972 B96A02 MOV CX,026a
Instruction for CPU step 51
F000:0975 0F30 WRMSR
Instruction for CPU step 52
F000:0977 B96B02 MOV CX,026b
Instruction for CPU step 53
F000:097A 0F30 WRMSR
Instruction for CPU step 54
F000:097C B96C02 MOV CX,026c
Instruction for CPU step 55
F000:097F 0F30 WRMSR
Instruction for CPU step 56
F000:0981 B96D02 MOV CX,026d
Instruction for CPU step 57
F000:0984 0F30 WRMSR
Instruction for CPU step 58
F000:0986 B96E02 MOV CX,026e
Instruction for CPU step 59
F000:0989 0F30 WRMSR
Instruction for CPU step 60
F000:098B B96F02 MOV CX,026f
Instruction for CPU step 61
F000:098E 0F30 WRMSR
Instruction for CPU step 62
F000:0990 D1E3 SAL BX,1
Instruction for CPU step 63
F000:0992 B90002 MOV CX,0200
Instruction for CPU step 64
F000:0995 4B DEC BX
Instruction for CPU step 65
F000:0996 0F30 WRMSR
Instruction for CPU step 66
F000:0998 41 INC CX
Instruction for CPU step 67
F000:0999 0BDB OR BX,BX
Instruction for CPU step 68
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 69
F000:0995 4B DEC BX
Instruction for CPU step 70
F000:0996 0F30 WRMSR
Instruction for CPU step 71
F000:0998 41 INC CX
Instruction for CPU step 72
F000:0999 0BDB OR BX,BX
Instruction for CPU step 73
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 74
F000:0995 4B DEC BX
Instruction for CPU step 75
F000:0996 0F30 WRMSR
Instruction for CPU step 76
F000:0998 41 INC CX
Instruction for CPU step 77
F000:0999 0BDB OR BX,BX
Instruction for CPU step 78
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 79
F000:0995 4B DEC BX
Instruction for CPU step 80
F000:0996 0F30 WRMSR
Instruction for CPU step 81
F000:0998 41 INC CX
Instruction for CPU step 82
F000:0999 0BDB OR BX,BX
Instruction for CPU step 83
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 84
F000:0995 4B DEC BX
Instruction for CPU step 85
F000:0996 0F30 WRMSR
Instruction for CPU step 86
F000:0998 41 INC CX
Instruction for CPU step 87
F000:0999 0BDB OR BX,BX
Instruction for CPU step 88
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 89
F000:0995 4B DEC BX
Instruction for CPU step 90
F000:0996 0F30 WRMSR
Instruction for CPU step 91
F000:0998 41 INC CX
Instruction for CPU step 92
F000:0999 0BDB OR BX,BX
Instruction for CPU step 93
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 94
F000:0995 4B DEC BX
Instruction for CPU step 95
F000:0996 0F30 WRMSR
Instruction for CPU step 96
F000:0998 41 INC CX
Instruction for CPU step 97
F000:0999 0BDB OR BX,BX
Instruction for CPU step 98
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 99
F000:0995 4B DEC BX
Instruction for CPU step 100
F000:0996 0F30 WRMSR
Instruction for CPU step 101
F000:0998 41 INC CX
Instruction for CPU step 102
F000:0999 0BDB OR BX,BX
Instruction for CPU step 103
F000:099B 75F8 JNE short ptr 0995
Instruction for CPU step 104
F000:0995 4B DEC BX 哪位大虾能否帮忙解释下以下语句为什么要用两个 JMP ? 为什么不直接 JMP to 0270 ?
Instruction for CPU step 00
F000:FFAA E9C300 JMP near16 ptr 0070
Instruction for CPU step 01
F000:0070 E9FD01 JMP near16 ptr 0270
这里也是一样的,不懂为什么要这样做?
Instruction for CPU step 07
F000:027C E957FE JMP near16 ptr 00d6
Instruction for CPU step 08
F000:00D6 E9A601 JMP near16 ptr 027f 近跳转只能跳到前后 128byte的地址范围内 如果能标上每条语句的作用,那就更好了:lol 原帖由 qdk0901 于 2009-6-12 23:58 发表 http://www.ufoit.com/bbs/images/common/back.gif
近跳转只能跳到前后 128byte的地址范围内
-_-!jmp short X----->在ip=ip+8位位移
jmp near ptr X ------>ip=16位位移
[ 本帖最后由 childz 于 2010-1-16 17:14 编辑 ] 原帖由 shermanliu 于 2009-6-10 13:09 发表 http://www.ufoit.com/bbs/images/common/back.gif
哪位大虾能否帮忙解释下以下语句为什么要用两个 JMP ? 为什么不直接 JMP to 0270 ?
Instruction for CPU step 00
F000:FFAA E9C300 JMP near16 ptr 0070
Instruction for CPU step 01
F000:0070 E ...
我的理解是可能为了延迟
楼下继续 个人觉得这个要看源代码才知道。
例如:
jmp_proc macro label
jmp label
label&End:
endm
xxx_init proc
jmp xxx_initEnd
xxx_init endp
这里调用就会是上面那样的两个jmp了:
jmp_proc xxx_init
[ 本帖最后由 xtdumpling 于 2010-1-29 13:47 编辑 ]
页:
[1]