Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

16/32 в З/Р(pmode)

419
06 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Привет All!
Я недавно просил Вас помочь разобраться с неработающей программкой. Вы посоветовали посмотреть команду прехода - far jmp.
Ну так вот.
Вот эта 16-битная программа работает:
main:
JMP REALSTART
GDTR:
GDTLIM DW gdtsize-1
GDTADR DD GDT+70000h

GDT:
NULLGDT:
times 8 DB 0
CODES:
DW codesize-1
ADR1 DW 0
ADR2 DB 7h
DB 9Ah
DB 0
DB 0
gdtsize=$-GDT
REALSTART:
push cs
pop ds
CLI
LGDT [CS:GDTR]
MOV EAX,CR0
OR EAX,1
MOV CR0,EAX
DB 0EAh
DW CONTINUE
DW 8
CONTINUE:
CONT2:
JMP CONT2
codesize=$-main
А вот эта 32-битная - нет:
main:
JMP REALSTART
GDTR:
GDTLIM DW gdtsize-1
GDTADR DD GDT+70000h

GDT:
NULLGDT:
times 8 DB 0
CODES:
DW codesize-1
ADR1 DW 0
ADR2 DB 7h
DB 9Ah
DB 01000000b
DB 0
gdtsize=$-GDT
REALSTART:
push cs
pop ds
CLI
LGDT [CS:GDTR]
MOV EAX,CR0
OR EAX,1
MOV CR0,EAX

DB 67h
DB 0EAh
DD CONTINUE+70000h
DW 8
CONTINUE:
USE32
CONT2:
JMP DWORD CONT2
codesize=$-main
Причина близка, помогите, пожалуйста! В чем заковыка, не пойму, хотя она проста!?Ах, да, программа для fasm, но это - ничего особенного.
Спасибо!
395
07 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Mitja Gladkih

CODES:
DW codesize-1
ADR1 DW 0
ADR2 DB 7h
DB 9Ah
DB 01000000b
DB 0


Хе-хе, у тебя уже в дескрипторе укзана база сегмента 70000h, так что либо замени ее на ноль, либо +70000h убери (там где дальний переход).

395
08 января 2003 года
RelB
367 / / 09.11.2002
Я тут обнаружил, что лоханулся, замени еще 67h на 66h (там где дальний переход).

Приношу свои извинения.
419
09 января 2003 года
Mitja Gladkih
284 / / 19.12.2002
Цитата:
Originally posted by RelB
Я тут обнаружил, что лоханулся, замени еще 67h на 66h (там где дальний переход).

Приношу свои извинения.


Попробую, спасибо, друг!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог