flat assembler
Message board for the users of flat assembler.

Index > Main > New Proposal for small assembly group

Author
Thread Post new topic Reply to topic
agivney



Joined: 05 May 2005
Posts: 16
agivney
I am just writing to ask if there are any interested parties, only five in fact, who would be willing to work together on certain assembler projects, more like a learning group, with at least one experienced programmer, a few intermediate and possibly someone totally new. It is a long term thing. For further details please check out

http://www.geocities.com/agivney/

This site also contains an excellent collection of webpages (zipped) concerning shared libraries (dll's) in Windows + Linux, and also a Knoppix 64 Yasm build (since the Fasm 64 project is still in teething, I know when it is finished, it will be great!).

Thanks Very Happy
Post 08 May 2005, 10:52
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7725
Location: Kraków, Poland
Tomasz Grysztar
Quote:
since the Fasm 64 project is still in teething

Actually the 64-bit Linux support is considered to be finished now (including the latest bug fixes in 1.61). It's the Win64 support (both PE+ and extended COFF) that is yet in development, aimed to be fully ready in 1.64.
Post 08 May 2005, 10:59
View user's profile Send private message Visit poster's website Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
I thought that, but when I tried to compile with gcc, I had major problems. I got many linker errors. FASM compiled the code well, but when I tried to link it with GCC (it linked), but I got many errors when I ran the code. These errors did not show up on basic code, only when I had calls to multiple C libraries, this code ran and was linked without problems in YASM. I actually prefer FASM to YASM. This was with version 1.61. I also had trouble getting ld to find an entry point to main. Eventually the lines

public main
main:

did the trick. I find it highly improbable that I am right and you are wrong, so what could I be doing wrong?
Post 08 May 2005, 11:12
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7725
Location: Kraków, Poland
Tomasz Grysztar
Of course you have to declare symbol as public to make it visible to linker - this is not a trick, this is how it should be done.
As for the run-time errors, I will do some more testing to see whether it's fasm's problem. The main trouble is that I don't have any x86-64 machine and so far all my 64-bit support development was done with very little final testing done for me by some people with 64-bit machines.
Post 08 May 2005, 11:53
View user's profile Send private message Visit poster's website Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
I understand, thank you.
Post 08 May 2005, 11:59
View user's profile Send private message Visit poster's website Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
scientica
Here's a little working example (which actually was orginally written by Privalov, I just repacked it and make a nice Makefile for it). I'll see if I can get more time to write some working examples.

3 simple steps:
1) Download and unpack
2) Run "make"
3) Run ./elfbj64

also, there's a "bonus" make option: "make clean" Wink Razz

I've had some problem with gcc too when I ran a quick test just now...^H^H [edit]
the problem is gcc assmption that main is the entry point, it's worked around with -nostartfiles. I've attached an updated Makefile which also builds "elfobj64_gcc" ussing gcc for wrapper around ld. -- ps, notice the size difference... (adding "-nostdlib" shrinks the size to the same as with just ld, but then you'd be with out the stdlib functions Wink)
[/edit]

... privalov, could you please add .tbz2 to the allowed extensions?


Description: remove the .asm in the file name.
Download
Filename: Makefile.asm
Filesize: 244 Bytes
Downloaded: 360 Time(s)

Description: remove the .asm in the file name.
Download
Filename: elfobj2.tbz2.asm
Filesize: 578 Bytes
Downloaded: 332 Time(s)


_________________
... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
Post 08 May 2005, 15:26
View user's profile Send private message Visit poster's website Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
Thank you scientica for you advice and files, I ran the code and had no problems. I will see how I go running my own example with the
"-nostartfiles" options in gcc.
Post 09 May 2005, 00:05
View user's profile Send private message Visit poster's website Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
I tried my own code, which once again compiles file in fasm and gcc
with

public main
main:

or if I do not include the above I simply add -nostartfiles to gcc, and then I run the code, and the error I get is "Illegal instruction". When I run gdb, the error is not located, I get the error code, "Program received signal SIGILL, Illegal instruction. 0x00000000000400466 in ?? ()" When I run "nm myfile", I realise the error is prior to any of my code, since the entry point is 0x400498. Thus the error is between
(0x500c20) "A '_end'" and (0x400498) "T '_start'" in the nm output. I hate to give my usual refrain, but this code runs O.K in when compiled in YASM. I hope this is helpful.
Post 09 May 2005, 00:46
View user's profile Send private message Visit poster's website Reply with quote
WytRaven



Joined: 08 Sep 2004
Posts: 45
Location: Canberra, Australia
WytRaven
...email away...
Post 09 May 2005, 04:19
View user's profile Send private message Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
scientica
agivney wrote:
I tried my own code, which once again compiles file in fasm and gcc
...snip...
nt is 0x400498. Thus the error is between
(0x500c20) "A '_end'" and (0x400498) "T '_start'" in the nm output. I hate to give my usual refrain, but this code runs O.K in when compiled in YASM. I hope this is helpful.

uhm, try: "ld <all your object files> -o output_file" instead of gcc, and see if that makes any difference.

_________________
... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
Post 09 May 2005, 07:59
View user's profile Send private message Visit poster's website Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
I will try again Cool
I need to spend some real time debugging the program, I will get back when I find out exactally is happening. I am sure it is only a small thing that I am doing or not doing. I have not noticed many others having the same problems as me.
Post 09 May 2005, 11:44
View user's profile Send private message Visit poster's website Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2141
Location: Estonia
Madis731
The page ^o)
It's GREEN Very Happy
I hope it will have a lot of source in the future
Post 09 May 2005, 12:01
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
Yes, green is my favourite colour. I plan to have plenty of source code, especially 64 bit examples. Twisted Evil
Post 10 May 2005, 05:34
View user's profile Send private message Visit poster's website Reply with quote
Kenny80



Joined: 08 May 2005
Posts: 22
Kenny80
Ah to bad group is already full :/ , will u post here if opening is made or new project is seeing light?
Post 11 May 2005, 11:45
View user's profile Send private message Reply with quote
THEWizardGenius



Joined: 14 Jan 2005
Posts: 382
Location: California, USA
THEWizardGenius
I woulda helped, but my experience with USB (the only thing I'm even close to qualified for) is nil. Where do you find out how to program USB? I've heard it's really difficult...
Post 12 May 2005, 14:51
View user's profile Send private message AIM Address Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
Concerning the programming a driver in U.S.B;

1)The first place I would plan to look would be at the Linux Source Code for the driver. (This would provide some insight, but many things would still have to be worked out)
2) The second place would be in U.S.B specification documents (For U.S.B 1 and 2), which are freely available.

And I would take it from there.

Our Work with the Dos AMD Powernow Driver is powering along. Mainly because at this stage, we are mainly translating the Linux driver code in Assembler (using Fasm), which is not too hard. The execuatable we are producing is simply a COM file. The driver simply slows the C.P.U down, once and for all, or speed it back up, so there are no complex alogorythms. There is also execellent documentation provided by A.M.D, but it tends to be technical (hard to put into practise).
Post 13 May 2005, 11:50
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7725
Location: Kraków, Poland
Tomasz Grysztar
agivney: Please try fasm 1.61.3 - I've found and fixed one more bug with object output.
Post 13 May 2005, 15:38
View user's profile Send private message Visit poster's website Reply with quote
agivney



Joined: 05 May 2005
Posts: 16
agivney
Excellent Very Happy . Thank you for all your great work.
Post 15 May 2005, 23:35
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.