flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
windwakr 19 Sep 2009, 23:41
There are FASM versions somewhere. I'll look for them and edit when I find them.
EDIT: Ok, try this. |
|||
![]() |
|
shack 20 Sep 2009, 02:13
Thanks windwakr, but I can't seem to compile the sulaiman's asm.
All of the scripts cause error when compiled. Code: **.asm[82] return error:illegal instrucion. Maybe due to update of FASM itself? |
|||
![]() |
|
windwakr 20 Sep 2009, 02:16
Try changing to ret, those files are quite old.
BTW: Those were converted to FASM by our very own sleepsleep. Maybe he can tell you what needs to be changed to work with modern FASM versions if he sees this. |
|||
![]() |
|
Picnic 20 Sep 2009, 16:45
Hello shack,
Newer conversions for some of them can be found below. http://nap.koduleht.net/Madis/cache/Iczelion-FASM/ |
|||
![]() |
|
shack 21 Sep 2009, 00:53
Hello Picnic, and thank you.
This one looks better to me than Sulaiman's translation. It uses locals directive which simply answers my question(2). LOCAL in MASM is perhaps "locals" in FASM... maybe. And some of the scripts in Sulaiman's don't work as I expected even when compiled without an error. But all samples encluding the above translation,don't make a section for unintialized data. Why? there is no assembler directive for making a section for uninitialized data in FASM? In NASM, .bss is used. This helps reduce the file size because .bss section is not included in the file itself( this is what I learned from a book.). |
|||
![]() |
|
LocoDelAssembly 21 Sep 2009, 01:17
Quote:
Not completely sure about the other formats but with PE format (fasm is able of producing them without needing a linker), there is no such a thing as ".bss" or ".data?". What you do instead is to make sure that no uninitialized variables are followed by either initialized data and/or instructions in the same section. For instance, this will be a 2560 bytes executable: Code: format pe gui 4.0 section '.text' code readable executable ret section '.data' data readable writable rb 1024 hello db "hello", 0 And this one 1536 bytes: Code: format pe gui 4.0 section '.text' code readable executable ret section '.data' data readable writable hello db "hello", 0 rb 1024 |
|||
![]() |
|
Borsuc 21 Sep 2009, 15:22
You could also allocate memory manually.
_________________ Previously known as The_Grey_Beast |
|||
![]() |
|
shack 23 Sep 2009, 09:40
Thanks,LocoDelAssembly. I understand that.
Quote:
How? plz? And what do you think about my question(1)? what I want to know is the reason why they differ in type defintion. MASM hInstance HINSTANCE ? CommandLine LPSTR ? hwndButton HWND ? hwndEdit HWND ? FASM hInstance dd ? CommandLine dd ? hWndButton dd ? hWndEdit dd ? I am beggining to think that it's just a persnal preference,but since I am very new to programming, I am not sure. Which is better? Are you FASM users are including custom_windows.inc or just typing "dd"? |
|||
![]() |
|
revolution 23 Sep 2009, 10:22
HINSTANCE, LPSTR, etc. are the HeLLish way of doing things. Assembly is more "bare metal", so everything becomes a dword.
|
|||
![]() |
|
Borsuc 23 Sep 2009, 16:08
shack wrote:
_________________ Previously known as The_Grey_Beast |
|||
![]() |
|
bkerr 05 Oct 2009, 00:01
Picnic wrote: Hello shack, Thank you for the link. I'm also trying to follow Iczelion's tutorials. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.