flat assembler
Message board for the users of flat assembler.
Index
> IDE Development > Wink 6.92.03 (vertical selection + compiling) Goto page Previous 1, 2, 3 ... 13, 14, 15 ... 19, 20, 21 Next |
Author |
|
bitshifter 04 Nov 2010, 02:11
Hi, use GetCurrentDirectory then lstrcat /filename onto it...
BTW, Looking very nice |
|||
04 Nov 2010, 02:11 |
|
bitRAKE 04 Nov 2010, 02:43
Try,
invoke GetModuleFileName, NULL, szFilePath, _MAX_PATH ...this will work no matter the current directory. |
|||
04 Nov 2010, 02:43 |
|
Tomasz Grysztar 04 Nov 2010, 13:08
ouadji: look at how fasmw finds the path to fasmw.ini file and include directory. It is one of the first things it does during startup.
|
|||
04 Nov 2010, 13:08 |
|
ouadji 04 Nov 2010, 14:36
Code: invoke GetFullPathName,FileTitle,MAX_PATH,kw_path,NULL ;or eax,eax ;jz .RKF_crash ;invoke CreateFile,\ ;kw_path,GENERIC_READ,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0 FileTitle db 'key_W.wink',0 kw_path rb MAX_PATH thank you boss for the tip but in "FASM.ASM" : ------------------- why : ini_path rb 1000h and not : ini_path rb MAX_PATH EDIT: ----- Sorry Tomasz, but your solution does not work if I want to open a ASM file from a directory other than Wink. For cons, the bitRAKE solution works fine. Quote: from bitRAKE : ...this will work no matter the current directory. |
|||
04 Nov 2010, 14:36 |
|
Z3N 15 Nov 2010, 08:43
How can I add new symbols or change existing?
Because it looks cool, when 16 and 32 bit registers shown in different colors. And of course IDE need autocomplete. And where I can get sources? _________________ "There will be no more delay!" (Revelation 10) |
|||
15 Nov 2010, 08:43 |
|
ouadji 15 Nov 2010, 10:01
different colors for "ebx" and "bx" ... ? a automatic switch colors with keywords "use16/use32/use64" ? why not ! ... later. For now I'm working on several other important features. The full management of "struct" highlighting. (of course only for the "original fasm 'struct' macro") it's over, that's works fine. Now, the highlighting of "{ ..\{..\\{..\\} ..\}..}" syntax, for macros. Wink will check this syntax., and will allow to show errors quickly. Not for the macro language itself. Too difficult to do this in real time, the computing time is too long. Only for "{.\{.\}.}" syntax. (for now) Quote: And of course IDE need autocomplete. Quote: How can I add new symbols or change existing? Which extra symbols would you want ? Quote: And where I can get sources ? I will give the sources with the next version. In approximately one month, Wink 7.0 alpha will be ready for the first tests. (sorry for my english) |
|||
15 Nov 2010, 10:01 |
|
Z3N 15 Nov 2010, 10:45
ouadji wrote:
It's my english bad.... I mean code complete. Ctrl+Space in RadAsm.... ouadji wrote: Too difficult to do this in real time, the computing time is too long This means that the algorithm is incorrect ouadji wrote:
It's a bit of my usefull macro. And I want highlight api words. ouadji wrote: and inside my brain too Please, stay home! I'm going to pick your brain ... _________________ "There will be no more delay!" (Revelation 10) Last edited by Z3N on 15 Nov 2010, 10:55; edited 1 time in total |
|||
15 Nov 2010, 10:45 |
|
Tomasz Grysztar 15 Nov 2010, 10:54
ouadji wrote: Now, the highlighting of "{ ..\{..\\{..\\} ..\}..}" syntax, for macros. Code: macro gather { macro gathered { gathered } endg fix } macro gathered {} gather _hello db 'Hello!',0 endg _test db 'Test',0 gather _world db 'World!',0 endg gathered Code: macro bizarre closer { macro inner_life { closer } bizarre nop } inner_life Code: macro Parent [name] { common macro Child [\name] { \common forward name dd ? common \forward \name dd ? \} } Parent x,y Child z,t |
|||
15 Nov 2010, 10:54 |
|
ouadji 15 Nov 2010, 12:09
Quote: This means that the algorithm is incorrect my algorithms, incorrect ? nothing to do with that ! PS: thank you Tomasz. your are a mother for me ! One thing at a time ... first, the basic engine, then the possible special cases. |
|||
15 Nov 2010, 12:09 |
|
Z3N 15 Nov 2010, 13:09
ouadji wrote:
_________________ "There will be no more delay!" (Revelation 10) |
|||
15 Nov 2010, 13:09 |
|
ouadji 15 Nov 2010, 16:30
Quote: But still there can be ones where this approach will fail The Fasm macro language is very powerful, one can almost do everything with it ... (even things unreadable) Some special cases (very special cases) don't lessen the help provided in other 90% of cases ... 99% ? |
|||
15 Nov 2010, 16:30 |
|
Tomasz Grysztar 15 Nov 2010, 17:25
ouadji wrote: Some special cases (very special cases) |
|||
15 Nov 2010, 17:25 |
|
ouadji 17 Nov 2010, 21:02
Wink 6.70. it's not over, there are still many things to do and improve. but before continuing, I need you to test this Wink 6.70 mistreat it, shake it in all directions ! particularly the highlighting of the macro "struct", the syntax checking "{.. \ {.. \ \ {...." used in "macro", the management of "label name", data label like "xx dd ?", also play with "merge". Check also all this with long lines ! Don't forget the multiline comments, You can put multiline comments almost anywhere . If you have any questions, feel free to ask! above all, give me your feedback and comments. Thank you all. ps: "labels/endl" is not yet solved. "struc" is not yet solved neither. EDIT1: I noticed three problems. Two oversights on my part and a bug. All this is already fixed in version 6.71 Code: A) -- struct AA a1 dd ? ends jmp .toto.x .toto AA .x: ;highlighted with 6.70 ... it can't ! error. (I forgot that!) ;-------------------------------------------- B) -- struct AA xyz \ ; (word + "\" + ";") ... (a silly bug, sorry) ;-------------------------------------------- C) -- struct BB b1 dd ? ends jmp toto.. ;error code:143 (I forgot that too!) toto. BB .: ;all this is fixed in Wink 6.71 EDIT2: I notice that there are many many little things to improve in Wink. (and big things too ) For now, i'm working on Wink 6.72. But it's sometimes difficult for me to see all problems. If, on your side, you notice any abnormal things, please let me know. thank you. soon, Wink 6.74, much more faithful in the behavior of "struct" highlighting. There was a lot of flaws about this. Many errors and unsupported cases. All this will be corrected with W6.74. I'll be able to offer a perfect reproduction of the behavior of "struct". (also a first management of "labels/endl/label" inside "proc") Last edited by ouadji on 03 Dec 2010, 13:51; edited 1 time in total |
|||
17 Nov 2010, 21:02 |
|
ouadji 03 Dec 2010, 13:50
just this version to show you the improvements of Wink about 'struct'. Wink is in progress, and continually improved, that said, this version 6.74 is fully-functional. Last edited by ouadji on 27 Jan 2011, 17:24; edited 1 time in total |
|||
03 Dec 2010, 13:50 |
|
bitRAKE 04 Dec 2010, 05:35
This is a great improvement from previous versions.
|
|||
04 Dec 2010, 05:35 |
|
ouadji 04 Dec 2010, 23:07
Thank you bitRAKE, but there are still a lot small flaws and many things to improve. Feel free to send me your comments and tell me where Wink does not work. Of course, there will always be the almost insurmountable wall of the macro language. In this case, I check the syntax of braces and I report errors, but nothing more yet. That said, the labels that are declared inside a macro are not saved in the database labels .. for now, in the case of labels inside macros, failing to give a correct information, I prefer not give information. To be continued ... ... 6.75 in progress. |
|||
04 Dec 2010, 23:07 |
|
bitRAKE 16 Dec 2010, 15:45
I like any feature which displays errors prior to compile. This would be extremely useful to someone back-porting 64-bit code. I'm assuming instructions containing r?? registers would also be flagged. Too bad similar treatment doesn't exist for all processor feature levels: MMX,SSEn,3DNow,AVX -- a growing problem going forward.
|
|||
16 Dec 2010, 15:45 |
|
ouadji 16 Dec 2010, 17:20
I waited to see if someone found this feature useful. I see that "yes", I will explore this idea more in depth. The mechanism is already in place, now it's just a matter about information in keywords database. I noticed that some cases with "struct" are not solved by Wink6.74. This problem is solved. Wink 6.75 uses the backtracking, and now solves all cases. There would be some way to go much further by using some functions of the compiler itself. (to solve "macro") In this case, one should parse and dissect the compiler completely ... it's my dream ... but ... a mammoth task ! |
|||
16 Dec 2010, 17:20 |
|
edemko 18 Dec 2010, 01:35
i'm afraid there will be difficulties with
movme equ mov any serious patch to fasm and you'll have to re-build much do you remember "...fasm core is not changeable constantly...", and now we can see lots of files in the root To my mind sse.inc, i386.inc, mmx.inc, etc.inc would be nice Tomasz. But as always - i'm not sure. |
|||
18 Dec 2010, 01:35 |
|
Goto page Previous 1, 2, 3 ... 13, 14, 15 ... 19, 20, 21 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.