Ой, не JMP там =) Неверно опкод вспомнил. CALL в сторону увеличения CPL не сработает.
Цитата из intel manual: The JMP instruction cannot be used to perform inter-privilege-level far jumps. Для перехода в сторону увеличения CPL...
А разве не обращение ко второму дворду? А если надо к первому байту, то зачем делать PDWORD?
А так можно? #define _pBuffer ((PDWORD)pBuffer)
а разве это формулы для изометрии? у меня для ваших систем координат получается, что Xscr = (X-Y) sqrt(3) / 2, Yscr = (X+Y)/2 - Z, тогда ошибки не...
В ah возвращается число столбцов, и только в al номер режима. Посему cmp al, 3. И ds:dx должен указывать на строку. Уверены, что он правильно...
поиск по слову "рожица"? http://www.wasm.ru/forum/viewtopic.php?pid=198557#p198557 mov ax, 3 int 0x10 многих спасало
Можно вручную попробовать скомпилировать: \masm32\bin\ml /c /coff %1.asm \masm32\bin\Link /SUBSYSTEM:CONSOLE /OPT:NOREF %1.obj здесь %1 - имя...
/SUBSYSTEM:CONSOLE хотелось бы. Но подправлять этот bat как-то некрасиво - потом будете создавать оконное приложение, а его соберут как...
При линковке указывается тип приложения (ключ subsystem)? Точно консольное создается, не gui? Строка должна заканчиваться нулевым байтом: 0dh, 0ah, 0
Кстати, вообще странно, как вычислилось #TS(0). Потому что сначала обработчика этого исключения не было - нуль в IDT. По идее, если происходит...
В qemu инструкция retf работает без исключений, даже в случае сохраненного селектора стэка = 2. То есть push 0x02 push 0x20000 push 0x32 push...
Clerk В псевдокоде call все в порядке. А вот в retf начинаются недомолвки. В IA-32E-MODE-RETURN-OUTER-PRIVILEGE-LEVEL среди прочих есть проверочка...
Mika0x65 Тут изначально предполагалось перемещение: r3 -> r2 -> r0 через call gate, r0 -> r2 -> r3 через retf. На первом retf все валится. Вопрос...
Пока копаюсь, выяснилось следующее: (код в нулевом кольце) push 0x02 ; и 0x3A пробовалось push 0x20000 pushf push 0x32 push .ring2 iretq...
Имена участников (разделяйте запятой).