home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
magazine
/
pcmagazi
/
1992
/
20
/
virt8086
/
virt8086.asm
next >
Wrap
Assembly Source File
|
1991-10-14
|
1KB
|
38 lines
DOSSEG
.MODEL SMALL
.STACK 256
.386P
IDEAL
SEGMENT MYDATA USE16 PARA 'DATA'
PROTNOPG DB 'CPU IS RUNNING IN PROTECTED MODE...PAGING DISABLED$'
PROTPG DB 'CPU IS RUNNING IN PROTECTED MODE...PAGING ENABLED$'
REALMODE DB 'CPU IS RUNNING IN REAL MODE$'
ENDS MYDATA
SEGMENT MYCODE USE16 PARA 'CODE'
ASSUME CS:MYCODE ;address code segment
TESTPROT:
MOV AX,MYDATA
MOV DS,AX
ASSUME DS:MYDATA ;address data segment
MOV EAX,CR0 ;get control register 0
TEST EAX,00000001H ;If Protection Enablement off
JZ GOTREAL ;Then CPU in Real Mode
MOV DX, OFFSET PROTNOPG
TEST EAX,80000000H ;if Paging Bit off
JZ WRITEIT ;Then only segment protection
MOV DX, OFFSET PROTPG ;Else page level protection
JMP WRITEIT
GOTREAL:
MOV DX, OFFSET REALMODE
WRITEIT:
MOV AH,9 ;Write mode status
INT 21H
MOV AH,4CH ;Return to caller
INT 21H
ENDS MYCODE
END TESTPROT