home *** CD-ROM | disk | FTP | other *** search
- mem32_int=252
-
- mem32_find_segment_type macro
- mem32_here=$
- push ax
- mem32_size=$-mem32_here
- org mem32_here
- endm
-
- switch_prot macro seg,off
- mem32_find_segment_type
- mov eax,cr0
- or al,1
- mov cr0,eax
- db 0eah
- if mem32_size eq 1
- dw offset off
- else
- dd offset off
- endif
- dw seg&_selector
- endm
-
- switch_real macro seg,off
- mem32_find_segment_type
- mov eax,cr0
- and al,0feh
- mov cr0,eax
- db 0eah
- if mem32_size eq 1
- dw offset off
- else
- dd offset off
- endif
- dw seg
- endm
-