· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Bochs && FASM

Посл.отвђт Сообщенiе


Дата: Июл 7, 2004 10:03:06

Вот писал осю и столкнулся с такой траблой:
В этом участке кода:
mov eax,kernel ;линейный адрес ядра (метка)
mov edi,0x200000 ;куда копировать
mov ecx,0x4000 ;размер ядра
rep stosd
Надо скопировать ядро по адресу 0x200000
Так вот, при отладке Bochs'ем ошибка происходит при выполнении stosd
Звучит примерно так:
Error: (0) print_guard_results: guard_found ? (stop reason 0)
И после этого он вечно выполняет stosd, ну и улетает где-то там.


Дата: Июл 7, 2004 11:12:04

mov esi,kernel
mov edi,0x200000
mov ecx,kernel_sz/4
cld
rep movsd

Ку?


Дата: Июл 7, 2004 12:33:14

Так я тоже пробовал.
Это был первый вариант.
Не прокатывает.Вообще-то Буч ведет себя странно, может я чего не понимаю.Иногда он выдает ошибку после первого повторения movsd, иногда после n-ного.
Странно, раньше я писал такой кода на НАСМе и ничего, работало....


Дата: Июл 7, 2004 13:12:23

„mov eax,kernel ;линейный адрес ядра (метка)
mov edi,0x200000 ;куда копировать
mov ecx,0x4000 ;размер ядра
rep stosd
Надо скопировать ядро по адресу 0x200000 “


ну и где здесь копирование ? Тут написано заполнить область памяти с 0x200000 длиной 0x4000 значением eax (т.е. offset kernel). Да с direction непонятки...


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.096