zayac / hera-mcst

Automatically exported from code.google.com/p/hera-mcst
0 stars 0 forks source link

#ASM# not work #8

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
assembler делает непонятный file.о, который не 
проходит simulator. вместо того что было при 
старом ассемблере, получается так:

read successefull!
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
...............................

и пока память не закончится (ну по крайней 
мере за неск секунд образовался файл в 
сотню метров)

Original issue reported on code.google.com by zemlia...@frtk.ru on 28 Mar 2011 at 2:24

GoogleCodeExporter commented 9 years ago
Ок. Будем чинить :)

Original comment by zaichen...@gmail.com on 28 Mar 2011 at 3:14

GoogleCodeExporter commented 9 years ago
Я посмотрел ассемблер и симулятор. 
Симулятор действительно не прекращает 
свою работу.
Однако, если я в Processor.cpp в методе Translator::Run(...) 
в цикле буду выводить прочитанные команды 
(_exe->Get_cur_cmd()), то в один момет я увижу 
прочитанное десятичное число 4369, что 
означает инструкцию RETURN. Из этого я делаю 
вывод, что команды считываются правильно, 
то есть файл правильный. Дальше я не 
проверял.

Как вариант ошибки, могу предположить, что 
по-левому осуществлены переходы(branch). В 
ассемблере они действительно пока не 
отлажены, мне кажется в симуляторе там тоже 
все не идеально. В этом случае, симулятор 
может совершать переход таким образом, что 
RETURN просто перепрыгивается и не вызывается.

Если вы уверены, что симулятор работает 
правильно и проблема в ассемблере, то 
просьба указать конкретное место, где из 
файла считывается не то, что хочется.

Original comment by zaichen...@gmail.com on 31 Mar 2011 at 10:11