|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
|
Разбор программы "Архиватор"06.07.2013, 14:54. Показов 7972. Ответов 66
Метки нет (Все метки)
Всем доброго времени суток, ребят мне нужна помощь в программе, точнее прога есть, но не понимаю в ней(сижу в книгах разбираюсь, но получается долго).
Кто-нить помогите прокомментировать программу, так что бы было понятно(малость глуп)... Спасибо!
0
|
|
| 06.07.2013, 14:54 | |
|
Ответы с готовыми решениями:
66
Разбор программы Разбор программы Архиватор данных - возможна ли оптимизация программы? |
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
|
| 08.07.2013, 12:05 | |
|
sh2ezo, ну не знаю... перед асмом у меня был паскаль (на мой вгляд тупейший язык) и СИ++. вроде норм асм понимал...
1
|
|
| 08.07.2013, 14:20 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
|||||||||||
| 11.07.2013, 21:00 [ТС] | |||||||||||
|
сижу разбираюсь в данной проге: поймал исключение, точнее понял где оно происходит - в процедуре, но не понял где именно:
Добавлено через 4 часа 42 минуты я понял прикол, это не исключение, у меня кажись память не так выделяется, в связи с чем TD стирает некоторые строки кода, стек данных стирает код как я понимаю... всё дело в шапке программы:
0
|
|||||||||||
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
|
| 12.07.2013, 08:12 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
|
| 12.07.2013, 08:18 [ТС] | |
|
не совсем понял вопрос(
0
|
|
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
|
| 12.07.2013, 08:30 | |
|
может я что-то не так понял. после выхода из процедуры он поподает "в никуда"? вроде со стеком все в порядке, но попробуйте проследить за изменениями в стеке, чтобы все, что засунуто в стек было высуното.
1
|
|
|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
|
| 12.07.2013, 08:50 [ТС] | |
|
со стеком всё в порядке, да, но почему-то данные стека стирают код в TD:
0
|
|
|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
||||||||||||||||||
| 12.07.2013, 14:06 [ТС] | ||||||||||||||||||
|
закомментил строку:
;CALL FindNextParam 96 по счёту строка и вроде программа отрабатывается норм в TD, но попрежнему не работает сама прога, так как она должна вывести на экран : Huffman Encoder 1.0 Usage : huffman.com a <source.ext> [dest.huf] - add to archive, huffman.com e <source.huf> - extract from archive. а потом мы должны водить... .. но выдает пустую строку, вернее ничего не выдает... Добавлено через 26 минут выдает ошибку в конце отрабатываем проги
беда со мной, че то не пашет... или я не понимаю...
0
|
||||||||||||||||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 12.07.2013, 18:13 | ||
|
Блин, да ты-же эту программу как EXE компилируешь. А она-же написана как COM !
Добавлено через 10 минут Добавлено через 1 час 11 минут P.S. Посмотрел в учебник Юрова ASSEMBLER 2-е издание и ... действительно не написано. Короче, компиляция COM-программы : tasm /m/l proga.asm tlink /t proga.obj
1
|
||
|
Ушел с форума
16381 / 7693 / 1080
Регистрация: 11.11.2010
Сообщений: 13,777
|
||
| 12.07.2013, 18:37 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
||||||
| 12.07.2013, 20:48 [ТС] | ||||||
|
Ethereal, Большое спасибо
, спрашивал у многих, все смотрели в код, но никто не понимал что компилить надо было com)))всё сделал, программа работает, но появилась маленькая ошибка, точнее неправильно написано функция вызыва(как я понимаю):
Mikl___, теперь мне всё понятно, спасибо)
0
|
||||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||||||
| 13.07.2013, 07:51 | ||||||
|
В чем неправильность по твоему мнению ?
У автора программы функция FindFirstParam возвращает результат во флаге Z слова состояния процессора. Команда ret этих флагов не меняет, поэтому можно выставить или сбросить какой-нибедь флажок в подпрограмме, тут-же выйти из подпрограммы по ret, тогда во флажке окажется признак успешности или не успешности отработки подпрограммы. Процессор в твоей программе последовательно исполнит инструкции :
1
|
||||||
| 13.07.2013, 08:49 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
||||||||||||||||||
| 13.07.2013, 22:48 [ТС] | ||||||||||||||||||
|
Ethereal, спасибо
за пояснение(лучше понял работу этой команды) , но ошибка маленько в другом месте, сейчас конкретнее поясню)
но вот беда, программа выводит строчки:
ведь после
(у вас программа идёт нормально???) (у меня заканчивает работу после вывода строк с инф.)
0
|
||||||||||||||||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||||||
| 14.07.2013, 10:25 | |||||||
|
Если ты не задал программе параметры командной строки, то
JZ ShowUsage сработает, управление улетит на метку ShowUsage, а там код, который завершается INT 20h <-----и наконец выходит из проги Если ты задал программе корректные параметры командной строки, то JZ ShowUsage не сработает и тогда и только тогда выполнится
И какое еще меню ? Если ты не задал программе параметры командной строки, то она тебе показывает Usage (ShowUsage) - как ее использовать и завершается. Так и должно быть ! Если пользователь неправильно использует программу надо ему сказать как это делать правильно и завершиться. Разве не так ? Добавлено через 4 минуты Внимательно читай эти строки Usage : huffman.com a <source.ext> [dest.huf] - add to archive, huffman.com e <source.huf> - extract from archive. пока не дойдет.
1
|
|||||||
|
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
|
|
| 14.07.2013, 10:58 [ТС] | |
|
Спасибо!!!!!!!!!!!
С вашей помощью до меня дошло!!!!! Программа работает на ура!!!!!!!!!!!!! ![]() ![]() ![]()
0
|
|
|
programmer
2391 / 524 / 69
Регистрация: 01.06.2011
Сообщений: 3,638
|
|
| 20.07.2013, 08:18 | |
|
помотрел код,но не пойму почему автор не использовал структуры для узлов?
По мне так это не самая лучшая реализация Хаффмана как по стилю,так и по коду. Как он адаптивный реализовывал бы вобще не понятно.
0
|
|
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
| 20.07.2013, 12:19 | |
|
0
|
|
|
programmer
2391 / 524 / 69
Регистрация: 01.06.2011
Сообщений: 3,638
|
||||||
| 20.07.2013, 17:20 | ||||||
|
Теорию информацию не первый год изучаю.Реализовывал Хаффмана,адаптивный ренж кодер,JPEG2000,ENUC и еще куча всяких кодировщиков типа Хемминга и т.д.
Но увы на С/C++,не припомню чтобы на асме.Конкретно с деревьями работал по шахматной задаче,найти максимальное поражение фигур ходом коня за n шагов.Поэтому представление как работать с деревьями имею. Второй момент,на асме пишу 7 лет. этого достаточно,что бы понимать как должен выглядеть код для метода сжатия по Хаффману на асме? Теперь вам вопрос.Что я не так сказал по поводу кода?Ваши аргументы. Задача была своеобразной,но код расчитываеться префиксный с построением дерева. Над оптимизацией кода сильно не заморачивался.
0
|
||||||
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
||
| 20.07.2013, 18:43 | ||
|
0
|
||
| 20.07.2013, 18:43 | |
|
После попытки скачать архиватор, не удаляются программы Как из программы Java вызвать архиватор и заархивировать файл ? разбор программы Разбор программы 2 Разбор программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|