ST486DX ST Microelectronics, ST486DX Datasheet - Page 26

no-image

ST486DX

Manufacturer Part Number
ST486DX
Description
PROGRAMMING MANUAL
Manufacturer
ST Microelectronics
Datasheet
ST486DX - SMM SOFTWARE CONSIDERATIONS
36
;read Directory Table
;Get the physical address of the instruction before the
;Current IP.
;If paging is not enabled then checking for the HLT
;instruction is easy since the linear address equals
;the physical address.
no_paging:
;get instruction interrupted by SMI
mov
or
mov
out
mov
and
mov
shr
mov
and
mov
shr
and
mov
and
mov
and
mov
mov
out
mov
out
jmp
mov
out
in
mov
mov
out
mov
or
out
mov
mov
out
al,cl
al,08h
al,0c1h
23h,al
eax,CR3
eax,0fffff000h
ebx,edx
ebx,22
eax,dword ptr fs:[eax+ebx*4]
eax,0fffff000h
ebx,edx
ebx,12
ebx,03ffh
eax,dword ptr fs:[eax+ebx*4]
eax,0fffff000h
ebx,edx
ebx,0fffh
bl,byte ptr fs:[eax+ebx]
al,0c1h
22h,al
al,cl
23h,al
got_inst
al,0c1h
22h,al
al,23h
ah,al
al,0c1h
22h,al
al,ah
al,08h
23h,al
bl,byte ptr fs:[edx]
al,0c1h
22h,al
Save in BL.
;set MMAC bit in CCR1
;get Page Directory Base Reg
;linear address
;get 10 byte Directory Entry
;linear address
;get 10 byte Page Table Entry
;linear address
;get 12 byte offset into page
;set MMAC back to normal
;MMAC = 0
;set MMAC
;store it in BL

Related parts for ST486DX