flat assembler
Message board for the users of flat assembler.
Index
> Main > New Proposal for small assembly group |
Author |
|
agivney 08 May 2005, 10:52
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 |
|||
08 May 2005, 10:52 |
|
agivney 08 May 2005, 11:12
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? |
|||
08 May 2005, 11:12 |
|
Tomasz Grysztar 08 May 2005, 11:53
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. |
|||
08 May 2005, 11:53 |
|
agivney 08 May 2005, 11:59
I understand, thank you.
|
|||
08 May 2005, 11:59 |
|
scientica 08 May 2005, 15:26
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" 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 ) [/edit] ... privalov, could you please add .tbz2 to the allowed extensions?
_________________ ... 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 |
|||||||||||||||||||||
08 May 2005, 15:26 |
|
agivney 09 May 2005, 00:05
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. |
|||
09 May 2005, 00:05 |
|
agivney 09 May 2005, 00:46
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. |
|||
09 May 2005, 00:46 |
|
WytRaven 09 May 2005, 04:19
...email away...
|
|||
09 May 2005, 04:19 |
|
scientica 09 May 2005, 07:59
agivney wrote: I tried my own code, which once again compiles file in fasm and gcc 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 |
|||
09 May 2005, 07:59 |
|
agivney 09 May 2005, 11:44
I will try again
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. |
|||
09 May 2005, 11:44 |
|
Madis731 09 May 2005, 12:01
The page ^o)
It's GREEN I hope it will have a lot of source in the future |
|||
09 May 2005, 12:01 |
|
agivney 10 May 2005, 05:34
Yes, green is my favourite colour. I plan to have plenty of source code, especially 64 bit examples.
|
|||
10 May 2005, 05:34 |
|
Kenny80 11 May 2005, 11:45
Ah to bad group is already full :/ , will u post here if opening is made or new project is seeing light?
|
|||
11 May 2005, 11:45 |
|
THEWizardGenius 12 May 2005, 14:51
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...
|
|||
12 May 2005, 14:51 |
|
agivney 13 May 2005, 11:50
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). |
|||
13 May 2005, 11:50 |
|
Tomasz Grysztar 13 May 2005, 15:38
agivney: Please try fasm 1.61.3 - I've found and fixed one more bug with object output.
|
|||
13 May 2005, 15:38 |
|
agivney 15 May 2005, 23:35
Excellent . Thank you for all your great work.
|
|||
15 May 2005, 23:35 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.