![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.05.2017
Сообщений: 26
|
![]()
После проведения декодировки, получил такой код, расставил метки, но программа не работает, перебрал что понимал, а программа по прежнему не работает, в чем проблема?
Код:
|
![]() |
![]() |
![]() |
#2 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 296
|
![]()
Для начала неплохо бы знать – как она должна работать, что делать...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 19.05.2017
Сообщений: 26
|
![]()
это 2 часть задания, декодировать дамп, расставить метки, а потом понять что она делает.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
В что не знаете, что она делает?:D Какой компилятор у Вас и таки скажите уже, что она делает.
1-й же Warning поразил меня до глубины души: Reserved word using as symbol: STR. Опишите, пожалуйста, примерно по строкам, что делает программа.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Последний раз редактировалось Cuprum5; 27.05.2017 в 11:55. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 19.05.2017
Сообщений: 26
|
![]()
работу делал в эмуляторе i8086, через него заполнял дамп, и вся работа делается через эмулятор. А что касается работы этой программы, она производит !какую-то работу со строками!, а вот какую я не понимаю. Возможно метки переходов не так поставил, но при запуске программы она зависает на repe scasb и потом идет на прерывание, даже при перестановке меток все повторяется.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
- взяли программу у кого-то другого? Т.е. Вы не знаете как работает программа?
![]() Товарищи, профессионалы, подскажите, пожалуйста, что означает вот это команда: Код:
![]() Имя файла должно быть <= 8 символов. Программа вся кривая и косая у автора в первом сообщении. Надо программу с 0 писать. А почему у меня команда rep не работает? Вроде все по описанию делаю. Она должна работая впаре с командой scasb(т.е. получается конструкция rep scasb) и просканировать все байты строки, но она сразу же вылетает, т.е. работает только 1 раз. По описанию она должна работать пока cx не равно 0, и я загружаю в cx 4F - число байт этой строке, но она работает только один раз и сразу же вылетает на следующую команду.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Последний раз редактировалось BDA; 27.05.2017 в 18:17. |
![]() |
![]() |
![]() |
#7 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 296
|
![]()
Это inc byte ptr [4Fh]
Судя по всему, программа должна считать кол-во слов в строке, но она делает это неправильно: прыжки не туда, адреса сбиты (либо дизассемблирование произведено неправильно). Вот так должно быть (я бы улучшил пару моментов конкретно по коду, но уж оставлю оригинал): Код:
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
Автор темы, какой должна быть кодировка и раскодировка строки?
To 7in: а, ну по ходу точно слова считает, а что-то вот я не понял с командой rep. Не могли Вы мне подсказать. Я только нашел в Интернете, что она работает с командой mov(ну или movs там было, не помню уже точно), а с командой scasb работают только repe и repne(и repz, repnz). Т.е. с командой scasb просто rep не работает что-ли, а зачем тогда было писать в документации что она работает по счетчитку cx, что мол типа задаете в этом счетчике длину строки и все чики-пуки: повторяет команду до 0. Я вот не понял это глюк или так надо?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]() |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
- насколько я понял вчера из чтения документации rep != repe, потому что rep работает только от cx(работает-повторяет пока cx > 0), а repe там еще что-то смотрит и сравнивает байт al и байт из прочитанной строки.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание дампа MySQL | Dozent | БД в Delphi | 11 | 10.11.2013 03:06 |
Записать в память программы из файла дампа | Night_Devil | Общие вопросы Delphi | 3 | 05.11.2012 15:03 |
Запись файла-дампа процесса в память | InsteadOfMe | Помощь студентам | 8 | 05.04.2011 00:07 |
Прошу проанализировать 2 дампа | Altera | Свободное общение | 1 | 01.09.2009 19:11 |
Сохранение дампа памяти | Polg | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 14 | 06.03.2008 08:44 |