Size: a a a

2020 March 16

ЕК

Евгений Красников (Jin X) in pro.asm
s54816
А в винде бывает код без потоков?
Отдельный потолок когда создаёшь.
источник

s

s54816 in pro.asm
Евгений Красников (Jin X)
В винде нет, насколько я знаю (а вот в потоках вроде да). В линуксе запушены параметры, переменные окружения и ещё что-то там, т.е. считай, что нет
Нет, в винде есть BaseProcessStart/BaseThreadStart, которые вызывают entrypoint или ThreadProc, а в при возврате в них — ExitProcess/ExitThread соответственно. Поэтому адрес возврата в стеке точно есть.
источник

ЕК

Евгений Красников (Jin X) in pro.asm
Происследовал сейчас на 10-ке.
При возврате из основного потока и из остальных идёт переход на код, который вызывает
push eax
call RtlExitUserThread
источник

s

s54816 in pro.asm
Евгений Красников (Jin X)
Происследовал сейчас на 10-ке.
При возврате из основного потока и из остальных идёт переход на код, который вызывает
push eax
call RtlExitUserThread
Да, я перепутал с сишным main(). В винде именно ExitThread решает, делать ли ExitProcess.
источник

d

d1vunit in pro.asm
как вернуться из protected mode в real mode
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
d1vunit
как вернуться из protected mode в real mode
reboot
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
а не, можно как то
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
источник

КП

Король Плутин in pro.asm
Официально — ребут. Но был какой-то баг...
источник
2020 March 17

d

d1vunit in pro.asm
официально можно сделать так
источник

d

d1vunit in pro.asm
щас
источник

d

d1vunit in pro.asm
cli

mov dx,0x0000
mov cs,dx
mov ds,dx
mov es,dx
mov fs,dx
mov gs,dx

in al,0x70
btr ax,7
out 0x70,al

mov edx,cr0
btr dx,0
mov cr0,edx

jmp far 0x0000:real

real:
jmp short continue
IDT:
db 0xff
dw 0x0000
continue:
lidt fword ptr IDT
источник

d

d1vunit in pro.asm
и вот дальше не знаю как я даже может быть не правильно прыгнул
источник

ЕК

Евгений Красников (Jin X) in pro.asm
Да просто младший бит в cr0 сбрось и всё :)
Ну и IDTR вернуть на место надо.
источник

ЕК

Евгений Красников (Jin X) in pro.asm
А, ну собственно, это уже и сделали :)
cli/sti ещё проставить для надёжности :)
источник

ЕК

Евгений Красников (Jin X) in pro.asm
Вот любят люди извращаться...
Зачем такие ходы?

jmp far 0x0000:real

real:
jmp short continue
IDT:
db 0xff
dw 0x0000
continue:
lidt fword ptr IDT

когда можно проще:

jmp far 0x0000:real

IDT:
dw 0x3ff
dd 0x0000
real:
lidt fword ptr IDT

???
источник

ЕК

Евгений Красников (Jin X) in pro.asm
db + dw не забудьте заменить на dw + dd
И не 0xFF, а 0x3FF !!!
источник

ЕК

Евгений Красников (Jin X) in pro.asm
IDTR хранит 6 байт: слово лимита (1024 байта для ДОСа) и двойное слово базового адреса.
источник

d

d1vunit in pro.asm
источник

d

d1vunit in pro.asm
почему при int 0x10 система зависает по моему  правильно настроил IDTR
источник