;Name: CPUMODE.ASM
;Function: Report current CPU working mode
;Version : 0.1b
;Author : Purple Endurer
;Develop Environment : Microsoft (R) Programmer's WorkBench version 2.1.49
;
;Note: Options -> Project Templates -> Set Project Template...
; Select "DOS COM"
;
;Date summary
;Mar 23, 2002 Created
;Apr 5, 2002 Added EMM detector
;Apr 6, 2002 Added china messages
.286
cseg segment
assume
cs:cseg,
ds:cseg
ORG 100h
Start:
mov
ax, 1100h
mov
bh, 10h
mov
bl, 0
mov
cx, 1
mov
dx, 0bbh
mov
bp,
offset huang1
int 10h
mov
dx, 0c6h
mov
bp,
offset huang2
int 10h
mov
dx, 0d6h
mov
bp,
offset zhi1
int 10h
mov
dx, 0beh
mov
bp,
offset zhi2
int 10h
mov
dx, 0b1h
mov
bp,
offset bin1
int 10h
mov
dx, 0f3h
mov
bp,
offset bin2
int 10h
mov
dx, 0b9h
mov
bp,
offset gong1
int 10h
mov
dx, 0a4h
mov
bp,
offset gong2
int 10h
mov
dx, 0d7h
mov
bp,
offset zhuo1
int 10h
mov
dx, 0f7h
mov
bp,
offset zhuo2
int 10h
mov
dx, 0c4h
mov
bp,
offset mo1
int 10h
mov
dx, 0a3h
mov
bp,
offset mo2
int 10h
mov
dx, 0cah
mov
bp,
offset shi1
int 10h
mov
dx, 0bdh
mov
bp,
offset shi2
int 10h
mov
bx,
offset strMyname
mov
cx, 6
lblUnlock:
add
byte
ptr [
bx], 0b1h
inc
bx
loop lblUnlock
mov
dx,
offset strMsg
mov
ah, 09h
int 21h
mov
dx,
offset strReal
smsw
cx
;jcxz lblReport
test
cx, 1
je lblReport
mov
dx,
offset strProtected
lblReport:
mov
ah, 09h
int 21h
mov
ax, 3567h
int 21h
mov
di, 0ah
mov
si,
offset strEmmName
mov
cx, 8
cld
repz
cmpsb
jnz lblEnd
mov
ah, 09h
mov
dx,
offset strEmmActive
int 21h
lblEnd:
mov
dx,
offset strWaitMsg
mov
ah, 09h
int 21h
mov
ah, 08h
int 21h
mov
ax, 1104h
mov
bl, 0
int 10h
mov
ax, 4c00h
int 21h
;----------------------------------
strEmmName
db
"EMMXXXX0"
strEmmActive
db 0ah, 0dh,
"EMM386 Active!$"
strMsg
db
"CPU MODE Reportor V0.1b"
db 0dh, 0ah
db
"Copyright (c) "
strMyname
db 0ah, 15h, 25h, 0dh, 00h, 042h
db
" Apr 6, 2002. All rights reserved!"
db 0ah, 0dh
db
"CPU", 0b9h, 0a4h, 0d7h, 0f7h, 0c4h, 0a3h, 0cah, 0bdh,
": $"
strReal
db
"Real$"
strProtected
db
"Protected$"
strWaitMsg
db 0dh, 0ah,
"Press any key to end...$"
huang1
db 04H, 4H, 3fH, 4H, 4H, 0ffH, 1H, 1fH, 11H, 1fH, 11H, 1fH, 10H, 4H, 18H, 60H
huang2
db 040H, 50H, 0f8H, 40H, 44H, 0feH, 10H, 0f8H, 10H, 0f0H, 10H, 0f0H, 0H, 60H, 18H, 4H
zhi1
db 01H, 1H, 1H, 0ffH, 1H, 1H, 1H, 3fH, 0H, 2H, 11H, 50H, 50H, 90H, 0fH, 0H
zhi2
db 0H, 0H, 4H, 0feH, 0H, 0H, 10H, 0f8H, 0H, 0H, 80H, 84H, 12H, 12H, 0f0H, 0H
bin1
db 0H, 20H, 11H, 0H, 0fcH, 0bH, 48H, 28H, 29H, 11H, 29H, 25H, 45H, 81H, 3H, 0H
bin2
db 10H, 10H, 0f4H, 12H, 10H, 0feH, 10H, 50H, 50H, 70H, 50H, 48H, 48H, 6aH, 86H, 2H
gong1
db 0H, 0H, 07fH, 1H, 1H, 1H, 1H, 1H, 1H, 1H, 1H, 1H,/
01H, 0ffH, 0H, 0H
gong2
db 0H, 08H, 0fcH, 0H, 0H, 0H, 0H, 0H, 0H, 0H, 0H, 0H, 04H,/
0feH, 0H, 0H
zhuo1
db 09H, 09H, 09H, 11H, 12H, 32H, 54H, 98H, 10H, 10H,/
10H, 10H, 10H, 10H, 10H, 10H
zhuo2
db 0H, 0H, 04H, 0feH, 80H, 80H, 90H, 0f8H, 80H, 80H, 88H,/
0fcH, 80H, 80H, 80H, 80H
mo1
db 11H, 11H, 1fH, 11H, 0fdH, 13H, 32H, 3bH, 56H, 53H, 90H,/
1fH, 10H, 10H, 11H, 16H
mo2
db 10H, 14H, 0feH, 10H, 18H, 0fcH, 08H, 0f8H, 08H, 0f8H,/
40H, 0feH, 040H, 0b0H, 0eH, 04H
shi1
db 0H, 0H, 0H, 0H, 0ffH, 0H, 0H, 3eH, 08H, 08H, 08H, 09H,/
0eH, 70H, 20H, 0H
shi2
db 80H, 0a0H, 90H, 84H, 0feH, 80H, 80H, 80H, 80H, 40H,/
40H, 20H, 22H, 12H, 0aH, 04H
;=================================
cseg
ends
end
【原创】报告CPU当前工作模式的汇编源代码
原创
©著作权归作者所有:来自51CTO博客作者PurpleEndurer的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:【收藏】利用SEH进行反跟踪
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java检测当前CPU负载状态
java检测当前CPU负载状态的方法详解。
java System Windows linux -
bash隐藏当前工作目录
里面的\w去掉就好了:export PS1="\[\e]0;\u@\h: \w\a\]${de
bash ubuntu 详细教程 javascript