здравствуйте!
мне тут уже здорово помогли в прошлый раз с этой программой! она заработала, спасибо!
смысл: конвертировать файл формата рсх в файла формата вмр (256 цветов на точку). компилятор тасм. для процессора 8086.
но теперь у меня новая проблема. необходимо читать исходный файл не побайтно, как было, а блоками. я хочу блоками по 256 байт считывать. в память 256 байт верно считываются и раскодируются, я в отладчике смотрела. и построчно в вмр файл переписывается тоже верно вроде. но при запуске программа виснет и ничего не делает. не могу уже найти ошибку. может, это мелочь какая-нибудь?а может, я что-то упускаю особенное? не мог бы кто-нибудь посмотреть, а то замучилась уже с этой программой ковыряться....
опять рсх в вмр
Модератор: Andy
- Вложения
-
[Расширение txt было запрещено, вложение больше недоступно.]
1. Разберитесь вы наконец с моделью программы
2.
3. Читать по 2 байта из файла - великое извращение и болезнь многих программистов, не проще ли считать сразу весь этот небольшой заголовок
4. С PSP большой косяк. Вообще при загрузке программы ES уже содержит PSP и нет необходимости грузить его по Int 21h. Хоть бы инструкцию какую написали, как ее юзать. Мне пришлось делать один сегмент кода, менять модель, коментарить все шедевры над параметрами, а имена файлов забивать как константы, т.к. при загрузке параметры читались неверно, создавались мусорные файлы типа "OBJ0", "SE0" и т.д. Сам пока не понял почему, но параметры не ловятся никак. Возможно это связано с cmd.exe, из под которой я все запускал.
5. Есть великолепная функция выделения памяти в MS-DOS - ее сделали специально для тех, кто очень любит писать в программе строки, наподобие
Поговаривают, что если ее использовать, размер exe-файла в таких случаях уменьшается в сотни раз.
6. Мне все удалось подделать ее так, чтобы хоть увидеть результат. Что-то мне подсказывает, что рисунок 100х100 при 256 цветах, занимает килобайт 10, но никак не 64. Лично мне не удалось найти сходство между исходником и результатом. Палитра явно отдыхает, т.к. таких цветов в исходнике не было. Открыв Photoshop'oм как RAW удалось разглядеть схожесть, некоторые группы линии изображения сдвинуты.
Вообщем, упростите эту прогу - я еще нигде не видел, чтобы люди так работали с файлами. Не читайте и не пишите туда по одному байту, прочитайте весь файл в память и работайте с ней. На худой конец читайте частями, по несколько строк или построчно. Зачем вам сдалить все эти перемещения позиций в файле. Минимум ее можно упростить в 5 раз, и тогда все ошибки сами всплывут.
2.
Есть большая разница между mov al, '0' и mov al, 0;mov al,'0' ; добавление символа конца строки
;mov ds:[si],al
3. Читать по 2 байта из файла - великое извращение и болезнь многих программистов, не проще ли считать сразу весь этот небольшой заголовок
4. С PSP большой косяк. Вообще при загрузке программы ES уже содержит PSP и нет необходимости грузить его по Int 21h. Хоть бы инструкцию какую написали, как ее юзать. Мне пришлось делать один сегмент кода, менять модель, коментарить все шедевры над параметрами, а имена файлов забивать как константы, т.к. при загрузке параметры читались неверно, создавались мусорные файлы типа "OBJ0", "SE0" и т.д. Сам пока не понял почему, но параметры не ловятся никак. Возможно это связано с cmd.exe, из под которой я все запускал.
5. Есть великолепная функция выделения памяти в MS-DOS - ее сделали специально для тех, кто очень любит писать в программе строки, наподобие
Код: Выделить всё
mass db 7D00h dup(?)
6. Мне все удалось подделать ее так, чтобы хоть увидеть результат. Что-то мне подсказывает, что рисунок 100х100 при 256 цветах, занимает килобайт 10, но никак не 64. Лично мне не удалось найти сходство между исходником и результатом. Палитра явно отдыхает, т.к. таких цветов в исходнике не было. Открыв Photoshop'oм как RAW удалось разглядеть схожесть, некоторые группы линии изображения сдвинуты.
Вообщем, упростите эту прогу - я еще нигде не видел, чтобы люди так работали с файлами. Не читайте и не пишите туда по одному байту, прочитайте весь файл в память и работайте с ней. На худой конец читайте частями, по несколько строк или построчно. Зачем вам сдалить все эти перемещения позиций в файле. Минимум ее можно упростить в 5 раз, и тогда все ошибки сами всплывут.
It's a long way to the top if you wanna rock'n'roll
спасибо, что уделили мне время! =)
я всегда догадывалась, что из меня фиговый программист! но это курсовой проект, над которым я тружусь очень долго, начав изучение с нуля. мне никто не помогал, и спрашивала, как что делать я только у вас! =( я постараюсь все учесть, еще раз спасибо, надеюсь, у меня получится...
я всегда догадывалась, что из меня фиговый программист! но это курсовой проект, над которым я тружусь очень долго, начав изучение с нуля. мне никто не помогал, и спрашивала, как что делать я только у вас! =( я постараюсь все учесть, еще раз спасибо, надеюсь, у меня получится...
на самом деле, для того, чтобы написать эту программу требуется от 2 до 4 часов.
если уж совсем дело хреново будет - обращайтесь. постарайтесь убрать лишние переменные (их там около половины) и перемещение указателя файла.
если уж совсем дело хреново будет - обращайтесь. постарайтесь убрать лишние переменные (их там около половины) и перемещение указателя файла.
It's a long way to the top if you wanna rock'n'roll