;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