то пушить ничего нельзя?
Можно, но ничего хорошего не выйдет
хорошо, попробую
можно, вродепросто заносить будет с конца сегмента
Нет, никуда не запишется, нужно будет выделить место самому
почему нет-то? если sp=0 то при выполнении команды push val, sp убавится на 2 или на 4 после чего по его адресу будет записано val
Не знаю, почему, но нет, ничего не записывается:
а что у тебя должно находится в конце адресного пространства?
и под какой разрядностью исполняется код
Ничего. Это обычный бутлоадер с qemu, т.е 0x0
x86_64, и под i386 тоже самое
а есть память в нормальном хексдампе?
Пошёл немного дальше и попробовал в RM сделать ss=sp=0, После чего начал поднимать стек (POP EAX) несколько раз подряд, как оказалось начали всплывать вектора типа F000:FF54 F000:EEF3 и т.д. хм, но работает)
А теперь ss=anything, sp=1.
не выровненный sp будет держать только самоубийца
Пока оно через границу сегмента не шагает, всё ок.
Я вот думаю, это вообще отловить можно вне V86?
Работает, поднимает значения: C3F000EE F3F000E2 54F000EE и т.д. Правда если не запретить прерывания, всё падает где-то через долю секунды (перезагружается).
Обсуждают сегодня