Ну программа-то уже отработала и закрылась. И сбил я стек или не сбил - уже не важно. Вот если бы программа после этого продолжала работать - тогда другое дело... Можно ради хорошего дела и на форуме FASM'а у того же Грытшара (или как там его правильно...) спросить или у тамошних спецов.
ну конечно, щас пойдём ещё и у Гриштара спрашивать про этот гуан. если тебя это так мучает, переставь ты наконец его после exit.
Marylin, я не хочу с вами ругаться или доказывать, что я умнее вас. Знаний у вас - однозначно, на порядок больше, чем у меня. Тут вопрос в том, как более правильно или более грамотно? Всё знать невозможно. И даже опытный специалист может в чём-нибудь ошибиться. Даже в простом вопросе, если раньше он об этом не задумывался и делал так, потому что - ВСЕ ТАК ДЕЛАЮТ. А вот правильно ли делают все ? Это уже другой вопрос. Вы что думаете, что тот же Гриштар никогда не ошибается и не пишет кривой код? Я лично так не думаю, потому что не ошибаются только леньтяи и идиоты...
Mikl___, спасибо. Не знал эту историю. Читал только в статье создателя Фреша (редактора-IDE для FASM), что создатель FASM умер. Я ещё подумал, что что-то какую-то чушь этот программист Фреша несёт. Вроде, Т. Гритшар - жив, здоров и умирать не собирается. А тут окзывается не всё так просто... Да, получается, что FASM самый замороченный ассемблер. И своей историей возникноения и всеми этими FASM, FASM 2, FASM G... Mikl___, что-то я не понял юмора. Кто такой Privalov и кто такой Т. Грыштар ? По моей, сегодняшней информации из достоверных источников: * Форумные слухи: иногда появляются сообщения, будто «основатель умер», а «кто-то другой продолжает». * Факты: это неправда. Томаш Грыштар жив , активен и сам ведёт проект. Он никогда в жизни не слышал ни о каком Привалове. Кому верить-то?
GRAFik, а ссылочку можно на то, что Tomasz Grysztar никогда в жизни не слыхал ни о каком Привалове? Привалов — псевдоним Tomasz Grysztar (sourceforge.net›u/privalov/profile). И даже до 2003 года никнейм Tomasz Grysztar на форумах https://www.asmcommunity.net/forums/topic/10118/ и на https://board.flatassembler.net/ На этих форумах можно так же найти ссылки "Privalov wrote", которые цитируют ответы Tomasz Grysztar https://github.com/DamianSuess/Learn.Assembly (FASM is an open-source, cross-platform assembler, targeting the IA-32 and x86-64 architectures by Tomasz Grysztar, aka Privalov.) https://en.wikipedia.org/wiki/FASM (The project was started in 1999 by Tomasz Grysztar, a.k.a. Privalov, at that time an undergraduate student of mathematics from Poland.) https://board.flatassembler.net/topic.php?t=94 (fasm is the creation of Tomasz Grysztar (aka Privalov)) Александр Иванович Привалов — главный герой повести братьев Стругацких «Понедельник начинается в субботу», не помню, где читал, но это со слов Томаша о его псевдониме Так Tomasz Grysztar выглядел в 2006. Сейчас ему ≈50
Index > Programming Language Design > Interview With Tomasz Gryszstar fasmnewbie I have some general questions to Mr Tomasz. Sort of interview kind of questions: What external tool did you use to create FASM? You are a Math grad. Did math help you a lot in crafting FASM and its macro language? Any particular field of math? What's the real use of FASMG and how is it different than FASM's macro language? In what field FASMG should be most useful and helpful? What's the future direction of FASM and its by-product like FASMG? What HLL language do you prefer the most to accomplish most of your programming tasks? In your opinion, which one or two of current HLL languages available today that could be redone by using FASM/G and its macrolanguage so that it can perform much better and / or with cleaner design? Take your time Tomasz. Don't have to answer them all if you don't feel comfortable with some of it Tomasz Grysztar My environment at the time was DOS Navigator (it was a shareware back then) and a ton of command-line tools. I already had some programming tools I created myself, and fasm was not my first assembler. But in the very beginning I used Turbo Assembler, since I learned the assembly language working with the Borland tools. However, I did not own a personal copy of TASM, and thus creation of a self-compiling suite of tools was in fact crucial for me to become independent. When I started writing fasm I also already had a copy of NASM, but for some reason I never used it (I don't remember why I didn't like it, in fact the syntax of fasm shows an influence of NASM in a few places). I specialized in the abstract algebra, and there is in fact a strong connection between the theory of programming languages and this field. But please keep in mind that I was at high school when designing fasm and I gained such theoretical knowledge much later. In fact, I chose to study mathematics because I felt already very confident in the field of programming and designing algorithms and data structures, and I thought that the math studies may be more valuable to me, by giving me more new knowledge. I do not regret this choice. I initially had a simple plan that this would just be a base for fasm 2. But as I saw many examples of using pure macro language of fasm 1 for purposes other than x86 assembly, it inspired me to release this basic engine on its own, with examples demonstrating that it is even more capable than fasm 1 in this area. If one wants to create a set of macros to assemble for another architecture, fasm g may be a better choice than fasm 1. I plan to continue adding new instruction sets into fasm 1, but I do not plan to add any other large features there. I really feel that I already pushed this architecture near the limits of its capabilities. As for the fasm g, it still may become a base for the fasm 2, but I would need some incentive, because for my personal purposes fasm 1 combined with fasm g are quite enough at the moment. I really have no strong preference here, I use whatever is required at the moment (and when there are no requirements, I actually fall back to assembly language, I really find it very easy to express my thoughts in assembly). In recent years I very often had to use Java (usually combined with some scripting languages), but I do not really like it, I liked C# much more. I'm not sure whether it is a good idea to implement a complex HLL language with macros. Maybe for educational purposes? I wouldn't try it myself, though. fasmnewbie У меня есть несколько общих вопросов к господину Томашу. Что-то вроде вопросов для интервью: Какой внешний инструмент вы использовали для создания FASM? Вы окончили математический факультет. Помогла ли вам математика при разработке FASM и его макроязыка? В какой именно области математики? В чем реальная польза FASMG и чем он отличается от макроязыка FASM? В какой области FASMG может быть наиболее полезен? Каковы перспективы развития FASM и его побочного продукта FASMG? Какой язык высокого уровня вы предпочитаете использовать для решения большинства своих задач по программированию? На ваш взгляд, какой из существующих языков высокого уровня можно было бы переработать с помощью FASM/G и его макроязыка, чтобы он работал намного лучше и/или имел более понятный дизайн? Не торопись, Томаш. Необязательно отвечать на все вопросы, если какие-то из них тебя смущают. Томаш Грыштар В то время я работал с DOS Navigator (тогда это была условно-бесплатная программа) и множеством инструментов командной строки. У меня уже были собственные инструменты для программирования, и fasm был не моим первым ассемблером. Но в самом начале я использовал Turbo Assembler, так как изучал ассемблер, работая с инструментами Borland. Однако у меня не было собственной копии TASM, поэтому создание набора инструментов для самостоятельной компиляции было для меня критически важным шагом на пути к независимости. Когда я начал писать fasm, у меня уже был NASM, но по какой-то причине я им не пользовался (не помню, почему он мне не нравился, но синтаксис fasm в некоторых местах демонстрирует влияние NASM). Я специализировался на абстрактной алгебре, и на самом деле существует тесная связь между теорией языков программирования и этой областью. Но, пожалуйста, имейте в виду, что я был старшеклассником, когда разрабатывал fasm, и получил эти теоретические знания гораздо позже. На самом деле я решил изучать математику, потому что уже был уверен в своих силах в области программирования и разработки алгоритмов и структур данных и подумал, что математика может принести мне больше пользы, дав новые знания. Я не жалею о своем выборе. Изначально у меня был простой план: это должна была быть просто основа для fasm 2. Но когда я увидел множество примеров использования чистого макроязыка fasm 1 не только для ассемблирования x86, это вдохновило меня на то, чтобы выпустить этот базовый движок отдельно, с примерами, демонстрирующими, что в этой области он даже более функционален, чем fasm 1. Если вы хотите создать набор макросов для сборки под другую архитектуру, fasm g может оказаться более подходящим вариантом, чем fasm 1. Я планирую и дальше добавлять новые наборы инструкций в fasm 1, но не планирую добавлять какие-либо другие крупные функции. Мне кажется, что я уже почти исчерпал возможности этой архитектуры. Что касается fasm g, то он все еще может стать основой для fasm 2, но для этого мне нужен какой-то стимул, потому что для моих личных целей fasm 1 в сочетании с fasm g на данный момент вполне достаточно. На самом деле у меня нет особых предпочтений, я использую то, что нужно в данный момент (а когда нет никаких требований, я возвращаюсь к ассемблеру, потому что на нем очень легко выражать свои мысли). В последние годы мне часто приходилось использовать Java (обычно в сочетании с какими-нибудь скриптовыми языками), но она мне не очень нравится, гораздо больше мне нравился C#. Не уверен, что идея реализовать сложный язык высокого уровня с макросами — хорошая. Может быть, для образовательных целей? Но сам бы я не стал этого делать. https://board.flatassembler.net/topic.php?t=4919 Tomasz Grysztar As you may not yet know, one of the main reason why I have initially learned assembly language, was to write games (in DOS, of course). While I was in the high school I have done a several skeletons of game engines, the last one of them is the kelvar, which became one of the official examples for flat assembler. It is a very tricky one, however, as it uses the fully 32-bit unreal mode and for this reason you need a plain DOS and really-Intel-compatible processor for it to run (for example the emulators I know fail to execute it properly). While the most of my early projects written in assembly language got lost during the years due to various rash delete commands combined with a few media failues, the archive containing snapshots of some of the game projects survived. Thus I decided to show another one, which I was quite proud of in the days I made it with my two friends. It was written in 1997, two years before I started the flat assembler project, and thus the main code is written in TASM syntax. But when looking on the sources of some of the program from TOOLS directory, you can notice that some of them are written in a bit different syntax, which looks just like the one of fasm. These were written in my first own assembler (it was called ASM32, as I recall), which assembled only 32-bit code for the DOS32 extender, and which gave me an experience I used later in desiging the flat assembler itself. My ASM32 was later changed to assemble for my own extender, as I wrote one, and thus the first versions of fasm before it was capable of self-assembling were 32-bit executables running on that extender, too. The fact that the syntax of ASM32 was already so similar to the final syntax of fasm, may explain how the trick with self-assembling was achieved. However both ASM32 and my extender (called HDOS) got lost and perhaps will never come back... So the sources of some of the tools here are the only remaining samples of the ASM32 syntax.Tomasz Grysztar Возможно, вы не знали, что одной из главных причин, по которой я начал изучать ассемблер, было желание писать игры (разумеется, в DOS). В старших классах я сделал несколько прототипов игровых движков, последний из которых — kelvar, ставший одним из официальных примеров для fasm'а. Однако это очень сложная игра, поскольку в ней используется полностью 32-битный нереальный режим, и поэтому для ее запуска нужен обычный DOS и процессор, совместимый с Intel (например, известные мне эмуляторы не справляются с этой задачей). Большинство моих ранних проектов, написанных на ассемблере, за долгие годы были утеряны из-за необдуманных команд удаления и проблем с носителями информации, но архив со снимками некоторых игровых проектов сохранился. Поэтому я решил показать еще один проект, которым я очень гордился, когда работал над ним с двумя друзьями. Он был написан в 1997 году, за два года до того, как я начал проект fasm, поэтому основной код написан на TASM. Но если посмотреть на исходники некоторых программ из каталога TOOLS, можно заметить, что некоторые из них написаны с использованием немного другого синтаксиса, очень похожего на синтаксис fasm. Они были написаны на моем первом ассемблере (кажется, он назывался ASM32), который компилировал только 32-битный код для расширения DOS32 и дал мне опыт, который я позже использовал при разработке самого fasm'а. Позднее я изменил ASM32, чтобы он компилировался для моего собственного экстендера, который я написал сам, и поэтому первые версии fasm до того, как он научился самокомпилироваться, представляли собой 32-битные исполняемые файлы, которые также работали на этом экстендере. Тот факт, что синтаксис ASM32 уже был очень похож на окончательный синтаксис fasm, может объяснить, как удалось реализовать самокомпиляцию. Однако и ASM32, и мой расширитель (под названием HDOS) были утеряны и, возможно, никогда не найдутся... Таким образом, исходные коды некоторых инструментов — это единственные сохранившиеся образцы синтаксиса ASM32.