flat assembler
Message board for the users of flat assembler.
Index
> Projects and Ideas > Excalibur - the first teaser |
What do you think about the project? | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
Total Votes : 8 |
Author |
|
Kazyaka 22 Feb 2013, 15:07
Excalibur
Hight-level programming language written in AutoIt v3 by me. Actually it only converts simple scripts to flat assembler syntax, but I hope that the project will be developed in the future. Features: You can call functions from system libraries, like in most other language. Code: GetModuleHandle(0) Code: MessageBox(32, "Text", "Title", 0) Code: MessageBox(32,"Text", GetCommandLine(), 0) Comments are followed by the semicolon character ; and extend to the end of the line. Code: ;This is a comment I also took care of assembly lovers. You can write flat assembler code between AsmBegin and AsmEnd, like: Code: AsmBegin jz @f mov [iTime],8 @@: AsmEnd The code enclosed with these symbol will add as a whole to output. Note that the keywords are case-sensitivity. First script: Save the below text in any file format. Code: MessageBox(0,"Hello world!",GetCommandLine(),0) ;Hello world! ExitProcess(0) Code: The process completed successfully. Input: F:\Excalibur AutoIt\test.au3 Output: F:\Excalibur AutoIt\test.asm Time: 0.0024 second(s) System : WIN_XP X86 Service Pack 3 If you can, write this log in your post. In the other case it will display error. The converted script will look like that: Code: include 'win32ax.inc' .code start: push 0 call [GetCommandLine] push eax push string1 push 0 call [MessageBox] push 0 call [ExitProcess] .end start string1 db "Hello world!",0 What do you think about it? This is only test version and includes a lot of bugs. So don't report me them, please.
|
|||||||||||
22 Feb 2013, 15:07 |
|
AsmGuru62 22 Feb 2013, 18:14
Cool!
Same idea I am using, but my script has OO properties. |
|||
22 Feb 2013, 18:14 |
|
sleepsleep 22 Feb 2013, 18:26
should be awesome! =) no source license? =P
|
|||
22 Feb 2013, 18:26 |
|
Kazyaka 22 Feb 2013, 22:46
Actually the project isn't open source. Maybe it'll in the future. I don't know.
You can vote in the poll. It's anonymous! |
|||
22 Feb 2013, 22:46 |
|
MHajduk 24 Feb 2013, 17:35
Hi, Kazyaka.
In general, your application works fast and good, anyway I'd like to see two new features there:
|
|||
24 Feb 2013, 17:35 |
|
Kazyaka 25 Feb 2013, 15:12
The first serious reply!
MHajduk, 1. It won't added in the next version, but I'll have this in mind in the future. Z doświadczenia wiem, że to bardzo ważne. :p 2. Nice idea, but I think the project is going in the other way. I wish the Excalibur was once independent (output will EXE file, not ASM). But even now, if you've the line, like this: Code: MessageBox(0,"Hello world!",GetCommandLine(),0) ;Hello world! Code: push 0 ;Here? call [GetCommandLine] ;Maybe here? push eax push string1 push 0 call [MessageBox] ;Or in any other place? Thanks for feedback. I'm waiting for more. |
|||
25 Feb 2013, 15:12 |
|
MHajduk 25 Feb 2013, 15:41
Kazyaka wrote: 2. Nice idea, but I think the project is going in the other way. I wish the Excalibur was once independent (output will EXE file, not ASM). But even now, if you've the line, like this: Code: push 0 call [GetCommandLine] push eax push string1 push 0 call [MessageBox] ;Hello world! |
|||
25 Feb 2013, 15:41 |
|
Kazyaka 25 Feb 2013, 16:51
MHajduk wrote: Anyway, it's only a suggestion. I like little suggestions. They're helping me a lot. I'm just learning about text encoding. To display dialog box with Polish and other language characters we need to use UNICODE. It doesn't work with UTF-8 format. Am I right? |
|||
25 Feb 2013, 16:51 |
|
MHajduk 25 Feb 2013, 17:37
If I'm not mistaken Windows uses internally 16-bit Unicode but FASM to represent those chars uses UTF-8 encoding, hence my suggestions about UTF-8. I don't know how to use Unicode in AutoIt (I've never programmed with it), so you have to check how there Unicode is managed.
|
|||
25 Feb 2013, 17:37 |
|
Kazyaka 26 Feb 2013, 17:07
After reading many articles and documentations, I think the project will support the most important encoding types. I mean ANSI, UTF-8 (with BOM), UTF-8 (without BOM), UTF-16 Little Endian and UTF-16 Big Endian. Of course, this slows down the program, but it will much simpler for programmers from all over the world.
When it comes to AutoIt, it's the easiest and the most developed language which I've ever learned. Sometimes the one line in this is equal to tens lines written in FASM (this second is much faster). It can save a lot of your work. What should I say more? Just take a look here if you've the time. I back to work. If you've else some ideas then post them. |
|||
26 Feb 2013, 17:07 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.