Не работает... Странный глюк, пишет Instruction not found или что-то в этом роде...Цитата:
Правда не понимаю почему у тебя не работало LD (IX+0),7 ???
Вид для печати
Не работает... Странный глюк, пишет Instruction not found или что-то в этом роде...Цитата:
Правда не понимаю почему у тебя не работало LD (IX+0),7 ???
Вообще-то, признаюсь, большего неудобства нежели в СИ с любыми плюсами я не испытывал ... Наверное самое лучшее, что могли придумать это паскаль, не считая ВАСИКА, конечно ! Это с точки удобства программирования. Просто я умудрился на СИ написать несколько программ, и заметил тенденцию, что писать их нужно как можно проще, не стараясь использовать готовые библиотеки. Поскольку при всей своей мулти-платформинности СИ не имеет всех библиотек и в любом случае перенося программу в другую среду приходится её править ! Но да же если стать извращенцем, а это можно сделать и на асме, и писать всё простейшими командами, то и тут есть подводные камни. На микроконтроллерах я не один раз с этим сталкивался. Вот не хочет он 37-мой IF исполнять ... Что мне делать ??? Я не могу полезть и так просто переписать кусок компилятора. Но если у меня есть асм, я просто эту проблему обойду ... Да, - я затрачу в три раза больше времени, но я добьюсь успеха. Получается, для качественной работы с СИ мне нужно быть асом использования команд, не использовать больше двух сравнений в IF, следить за тем что бы во вложенном цикле небыло вложенных циклов больше чем 10-ть штук, зачем ??? Это всё превращает не в программирование а в борьбу за выживание под ПРОЦИКОМ, так и зародилась винда ... Про кодинг под виндой страшно говорить ... То используешь какую-нибудь библиотеку, переносишь на другой комп, а тебе говорят, что тут она уже не работает ... Как проклятый ищешь её на другие винды, а тебе сообщают, что её перестали модернезировать со времён 2001 года, что делать ??? Я месяц сидел кряхтел над работой, пришёл сдавать работу, и выясняется что у крутого нет винды ХР, у него только ИТ, поскольку его внучатый-племянник по дедушкиной линии об этом прочитал в каком-нибудь УМНОМ учебнике по чайникостроению ... И я сижу и переписываю половино программы на СИ неизвеснт для чего и почему ... Хотя извесно почему, потому что был дурком и согласился использовать библиотеку ... Или тот же ком-порт ... Как я когда-то влетел с этим, пока не написал личный маленький модуль на асме для управлением компортом, работает как часы на совершенно любых виндовсах, ну за исключением 3.11, а предыдущий так глючил, проглатывая целые куски данных ... Конечно, никто же не тестировал, а что будет если без остановочно на 115200 отправить ему данные, ах как визуал начинает захлёбываться, особенно если отправить FF00FF00 ... Понятно, что одна винда другой пошлёт нормально, ведь у неё переходные процесс, и времени хватает на один бит, поэтому стоп-бит и старт бит у них не сливается, но стоит на асме отправить пачку, - держи винда любимый глюк. Я не знаю, может я за 15-ть лет так и не научился программировать на ПАСЕ или на СИ, но я признаюсь честно, никогда у меня такого не было на АСМЕ, как на ПиЦи так и на Speccy ... Глюки, конечно, были, но не такого плана ... Уж точно на диск всегда всё записывалось как по часам далеко не по-советским !!!Цитата:
Сообщение от SMT
Кстати, по-поводу команд в таблице, помоему для компилятора, поиск команды такая мелочь, в сравнении с обработкой в строке математических функций или чего-то подобного. А если пытаешься совместить разные синтаксисы ALASM и TASM, то всё превращается ещё в больший ужас ... Но и вправду, я в этом случае выбрал АСМ и очень быстро добавляю новые возможности ... И когда я начинал писать этот АСМ, то подумал, что быстрее будет его сделать на высоком уровне, в итоге универсальность и гибкость самих команд на порядок ниже нежели поиск макросов, который был сразу написан на АСМе. Теперь я часто задумываюсь, что зря решил писать выделение команд на высоком уровне, хоть теперь это и асм стал, но из-за ограниченности или громосткости кода пришлось упростить поиск команд, а сделать новый вариант мне в лом, поскольку это нужно переписывать таблицу команд !
Я не знаю чем отличается методы с такими шарообразными названиями, но я не думаю, что можно ими решить например поиск:
...EQU ...=...+...
Где "..." любое значение с любыми символами, только певое "..." это переменная один, второе "...", соответственно второе ... На асме эта процедура выглядит в 20-40 строчек, не помню уже точно, но короткая и такая шустрая, что IF долше её исполнится ... Кроме всего у каждой команды есть условия, на переменные, и если это условие не совпало, то искать нужно дальше, а в условиях может быть что угодно, например проверка находится ли переменная в диапозоне от -127...+128, если нет, то ищем слежующую команду. Кстати и поиск у меня двухступенчатый, что в своё время ускорело процесс в десятки раз ...
Я извеняюсь перед любителями СИ, может я чего лишнего наговорил, не хотел обидеть, просто страшно становится, ведь мы когда-то начинали с ВАСИКА, и пришли к АСМу, неужто этот путь был напрасно, ведь СИ должен был встретиться по пути этой дороги а не в конце ...
Ещё раз извеняюсь, все мы творим но на разных инструментах, помоему это лучшее объяснение этим спорам, хотя я надеюсь что меня не воспримут как спорщика, а как человека, который высказал своё мнение ...
ВАУУУУУУУУУ ... k*257+105 ... Я бы точно до такого не догадался ... Теперь сделаю выгрузку в $, а заодно и при загрузке буду проверять, а то честно говоря, я игнорирую кнтр-сум !!! Спасибо !!!Цитата:
Сообщение от Bulba
И elf/2'у то же !!! =)
Слушай, оставь пожалуйста иходник с этим глюком ??? Наверное там дело совсем в другом ... О конфедециальности твоего исходника можешь не волноваться, и клянусь впервые исполнить то, что пишется лицензионных соглашениях, о том, что я должен через 30-ть дней удалить эту программу с компьютера !!! :DЦитата:
Сообщение от Alex/AT
Да вот собственно и я о том же - если мне надо накатать какую-нить тулзу для амми или пц - я возьму цэ, а если скажем 4к интро - то асм! =)Цитата:
Сообщение от SMT
Эээ - речь идёт о поиске строчки-имени команды в массиве/списке? Дык сделать хешь-таблицу на 256 входов - уже ускорение в 256 раз будет - с тем же линейным поиском. А если ещё пихать новые команды не в список, а в бинарное дерево, то и поиск по нему ещё быстрее будет. Балансировку на первый раз можно не делать - в предположении что хешь-функция 'хорошая'. Это к вопросу си-асм, такое я сам на сях делал (когда надо было за 3 дня написать асм для 51ых =).Цитата:
судя по тому, что Robus отдельно выделяет случаи (уже второй раз, в первый я не придал этому значения), когда команда находится в конце таблицы, как наихудший, можно предположить, что происходит линейный поиск в таблице команд. в таком случае лучше прочитать, что такое конечные автоматы и как они применяются в компиляторах, чем бесконечно оптимизировать цикл поиска. потому что хорошо реализованный автомат на визуал басике будет быстрее (но на больших объемах данных), чем любая реализация линейного поиска на ассемблере
Роб, а какая разница на каком языке писать? язык лучше выбирать в зависимости от задачи. обработка строк - perl, dhtml - javascript, что-то маленькое и максимально быстрое - асм. а спор между любителями c/c++ и pascal - это наверное навсегда :)Цитата:
Сообщение от Robus
линкуйся статиком или носи с собой dll. хотя это никакого отношения к си не имеет. мне почему-то кажется что подобные проблемы могут быть на любом языке.Цитата:
Сообщение от Robus
описанное выше - проблема компилятора. вполне допускаю что нет хорошего компилятора си для микроконтроллеровЦитата:
Сообщение от Robus
а может быть стоило посмотреть на LEX или YACC? вообще народ довольно давно работает над решением задачи синтаксического анализатора, почему бы не использовать готовые наработки?Цитата:
Сообщение от Robus
http://www.nvg.ntnu.no/sinclair/faq/...rm.html#HOBETAЦитата:
Сообщение от Robus
На тот момент не были реализованы LD (IX+s),#n, до сих пор не убит баг с длинной строкой (когда DB больше 36 штук), и нету листинга, что крайне важно, в основном потому, что компилер у тебя до сих пор не избавле от всех глюков - и для поиска их я сначала ассемблирую, а потом сравниваю файлы - это удобно. И во время самого написания программы тоже очень удобно посмотреть, где и что находится. Так что листинг обязательно нужен, как и полный список ошибок, чтобы в файл выводился.Цитата:
Сообщение от Robus
Все компилится... LD (IX),#7, LD (IX+3),4... Нормально все.Цитата:
Сообщение от Alex/AT
Все это есть.Цитата:
Сообщение от Alex/AT
Зачем? Все равно ты отлаживаешь я больше чем уверен в Unreal Speccy. Ставишь автозапуск на .trd и радуешься жизни. Хобету ты так не запустишь, придется сначала делать .trd или .scl и туда перекидывать... Оно тебе надо?Цитата:
Сообщение от Alex/AT
Вообще, в последние 2 недели мы наблюдаем стремительное развитие обеих ассемблеров :) Это не может не радовать.Цитата:
Сообщение от Alex/AT
У меня появился заказ, а это на сутки минимум ... Должен работать ... Хотелось бы узнать в отвлечении от темы, я тут скачал последнюю версию UnrealSpeccy 27в, она говорит мне что OS Not Support !!! SMT, это что ??? Может я не так настроил ??? И ещё, может на досуге сделаешь автоматическое добавление в диск А: имейджа из командной строки ... А то я частенько работаю сразу над двумя-тремя проектами, иногда так нужно !?!
Листинг и исправление багов на послезавтра !!! Удачи вам и мне то же не помешает ... Единственное, чего не хочу - ехать в ЛасВегас, там столько умолешённых, и все с шарообразными глазами, а ещё у них сеть на 150 вольт, правда есть и на 220, но их техники отличаются, один завёт другого, что бы тот протянул удленитель, тот который отвечает за 150 вольт, - тянет своё, а тот который за 220, - свою. Хех, дикий народ ...
Вопросы про Unreal задавать автору лучше всего в разделе Эмуляторы, в теме про Unreal... их там даже не одна.
Именно, все вопросы по Эмуляторам обсуждать в Эмуляторах!
Как тока Роб прочитаешь, чего тебе там SMT понаписал, весь оффтоп удалю, думаю никто не обидится.