Последние записи
- Как запустить программу указанную в Edit.Text
- Скачать файл с использованием потока
- Поиск слова в Memo
- Распаковщик формата .img из GTA San Andreas
- Подсчет количества повторяющихся букв в файле
- Простейший скрипт загрузки картинки с помощью php
- Рассылка. Выпуск 154
- Получение картинки с веб-камеры
- Скопировать определённый кусок image
- Сделать printscreen экрана и сохранить
11th
Ноя
Переход из реального режима в защищённый
Posted by Chas under Пост-обзор
rpy3uH:
я делал что-то в этом духе (FASM)
mov ax, cs
shl eax,4
add eax, PROTECTED_MODE_ENTRY_POINT
mov [ENTRY_OFF],eax
xor eax,eax
mov ax,cs
shl eax,4
add ax, GDT
mov dword [GDTR+2],eax
lgdt fword [GDTR]
cli
in al,70h
or al,80h
out 70h,al
mov eax,cr0
or al,1
mov cr0,eax
db 66h
db 0EAh
ENTRY_OFF dd PROTECTED_MODE_ENTRY_POINT
dw CODE_SELEKTOR
align 8
GDT:
;дескрипторы…………….
label GDTR fword
dw GDT_size-1
dd ?
use32
USER_PM_CODE_BASE_ADDRESS EQU 0100000h
PROTECTED_MODE_ENTRY_POINT:
;загрузка регистров DS, SS, ES
call delta
delta:
pop ebx
add ebx, USER_PM_CODE_START-delta
mov esi, ebx
mov edi, USER_PM_CODE_BASE_ADDRESS
mov ecx, USER_PM_CODE_SIZE
rep movsb
mov eax,USER_PM_CODE_BASE_ADDRESS
jmp eax
USER_PM_CODE_START:
ORG USER_PM_CODE_BASE_ADDRESS
include ‘PM_CODE.ASM’;
USER_PM_CODE_END:

