flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > i got no idea what should i start with :S

Author
Thread Post new topic Reply to topic
Nameless



Joined: 30 Apr 2010
Posts: 95
Nameless 11 Sep 2010, 13:47
i just learned some asm lately under win32, i know the syntax and i know how to get somethings done, loops, bla bla bla (the basics i mean)

i learned Delphi and Pascal by writing some softwares and improving them, but i got no idea what i should code to learn FASM :S, i would appreciate any help.

after seeing MikeOS Page (http://mikeos.berlios.de/) i thought i can code mine, since he wrote some code and explained it for super asm n00bs, so i thought its open for anyone to do.
will i be abel to make an os? or i should stick to more asm for now then later do that?

one last thing, i also thought i can start a website to put my experience there (not the current, eveything i learn along the way so other ppl can follow an easier way than mine) but again, im not sure if the info i collect is correct, i may understand things incorrectly, so if there is anyone who wants to help. would be really appreciated Smile
Post 11 Sep 2010, 13:47
View user's profile Send private message Reply with quote
klavs.pr



Joined: 20 Apr 2010
Posts: 20
Location: Latvia
klavs.pr 11 Sep 2010, 16:13
In my oppinion, OS dev is a waste of time if you do not know asm well. Try to count how many OSes do you know (do not count different versions of Linux, because all of them are built on the same basics). You are not the only one who has ever wanted to build his own OS. Were they successful? Probably not.

But if you have lot of spare time (about 15+ years) you may end up with your own OS which is so great that everyone knows about it. But that is only if you are wery patient and willing to learn all that you will find necesary.
Post 11 Sep 2010, 16:13
View user's profile Send private message Reply with quote
Nameless



Joined: 30 Apr 2010
Posts: 95
Nameless 11 Sep 2010, 16:47
well, its surely a waste of time, but i really dunno what to code in fasm Sad
for example, what have u coded lately? or what u coded when u started asm?

im really confused and dunno what to do, i dunno what companies out there require :S

i thought it would be kewl even if its a small OS, put it on a website with some other kewl projects and send it out in a resume, i dont even know if thats possible. but since i cant really afford much courses, thats my only option.
Post 11 Sep 2010, 16:47
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20356
Location: In your JS exploiting you and your system
revolution 11 Sep 2010, 17:02
Very few companies will consider assembly programming as a vital skill. If you are doing it to improve your chances in a job then perhaps you could try to marry the assembly programming with hardware design. Writing test programs (and sometimes full systems) in assembly is important when working with new hardware.

As for what to program just as practice: well it doesn't really matter. If you are interested in OS dev then I suggest you go ahead and do it. Never mind about what others may say about it being pointless, that is not the case. The experience you gain, even if you fail, will be invaluable.
Post 11 Sep 2010, 17:02
View user's profile Send private message Visit poster's website Reply with quote
Nameless



Joined: 30 Apr 2010
Posts: 95
Nameless 11 Sep 2010, 17:11
hardware design? like Microcontrollers? and is there any other good way to practice other than OSdev? im not intersted in OSdev itself, just intersted on anything that will improve my asm skills
Post 11 Sep 2010, 17:11
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20356
Location: In your JS exploiting you and your system
revolution 11 Sep 2010, 17:14
Nameless wrote:
... just intersted on anything that will improve my asm skills
Do you like to play computer games? You could write one.
Post 11 Sep 2010, 17:14
View user's profile Send private message Visit poster's website Reply with quote
Nameless



Joined: 30 Apr 2010
Posts: 95
Nameless 11 Sep 2010, 17:25
lol, u really got to the worest part xD
the last game i played was Hercules back in 2002, then i started vb, then moved to delphi and c Razz

i think i will start linking the c and delphi and fasm together, i dont think its gonna be that hard
Post 11 Sep 2010, 17:25
View user's profile Send private message Reply with quote
roboman



Joined: 03 Dec 2006
Posts: 122
Location: USA
roboman 11 Sep 2010, 17:25
klavs.pr wrote:
....OS dev is a waste of time... Were they successful? Probably not...

Success..... Depends on how you define that and what it is you are trying to do.

In not to long of a time you can get something that will boot and you will likely have learned some things to get there. You can add a few functions and learned a bit more, most likely you have learned a lot of what not to do and things you shouldn't have done the way you did and why not.

As for the getting help. There are a ton of questions that have been asked here and answered, there are also other forums. There are a number of web sites that have done what you are planing on doing and you can get some help there also.

Help as in people joining your project Smile At the early stages why would any one join, at that stage most people would rather start their own Smile If you want to ease into things, you could join in on an os that has already been started and is partly/mostly working. Do you have a goal, a target or do you just want to play with the stuff and learn how to do some low level stuff by trying things.

One hint, get a test computer that you only use for testing os software on, then try stuff and the worst thing that can happen is you need to reformat the drive. Great way to find out what you need to learn is to try something, then when you get lost or find what just will not work, it shows you what you need to learn. Costs you a lot to learn auto repair that way, but with software it only costs you a bit of time and lets you discover things on your own.....
Post 11 Sep 2010, 17:25
View user's profile Send private message Visit poster's website Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4347
Location: Now
edfed 12 Sep 2010, 08:03
Nameless wrote:
hardware design? like Microcontrollers? and is there any other good way to practice other than OSdev? im not intersted in OSdev itself, just intersted on anything that will improve my asm skills


yep, hardware design like microcontroler is a good approach to code computers because it deals directlly with the particularities of the cpu.

for that, you need to understand the limits of the machine. frequency, memory, registers, latency, etc...

even when coding a simple function, you should make it the faster as you can by respecting coding laws dedicated to your hardware.

for example, under X86, put basic instructions in a chain will let the pipelines esecute them in few clocks. it is not a huge optimisation, but if executed 40 000 000 times, the speed gain is perceptible.

what is really interresting with asm is the bit magic, optimisations by testing an computing in a single instruction, etc...
because if a C instruction can be converted in many lines of asm, a single asm instruction can be converted in a lot of C instructions, depending on what you want to code.
Post 12 Sep 2010, 08:03
View user's profile Send private message Visit poster's website Reply with quote
janequorzar



Joined: 11 Sep 2010
Posts: 60
janequorzar 21 Oct 2010, 19:10
Learning to write your OS is surely not a waste of time. If anything it teaches you logic and Hardware design as Revolution pointed out.

Robman is exactly correct in what he is saying - "Success..... Depends on how you define that and what it is you are trying to do."

If your writing an OS to learn how it all works, that is the best way to learn it. AND it will also force you to learn ASM better. And I do mean it will force you to learn assembly. Makes a true programmer out of you. I have "successfully" made and taught others how to make an OS from scratch. And I am working on my second one that is a lot more advanced. But is it going to get me anywhere in life ? Heck no.. Its useless when you really think about it. But it does force me to learn more about Drivers and Kernels and how it all works. When I see a problem in a Windows Program, first thing I think of is "If I rewrote the driver for this since it wont work in this version of windows, I bet I could with Assembly". and I have done it. All thanks to my previous experience with trying to make an OS.

Look, bottom line, Making an OS is not for everyone. And don't give up on programming even if Assembly is not your thing. Try C or C++ or C#. Any of those will also make you a true programmer as well. BUT Assembly language is as close to the hardware as you can get. There is nothing closer unless you know how to write binary directly to a file. Which by the way, learning assembly language, along the way you might find that writing Binary to a file is not as mysterious as you once might have though. Wink
Post 21 Oct 2010, 19:10
View user's profile Send private message Reply with quote
bitshifter



Joined: 04 Dec 2007
Posts: 796
Location: Massachusetts, USA
bitshifter 23 Oct 2010, 12:43
Nameless wrote:
after seeing MikeOS Page (http://mikeos.berlios.de/) i thought i can code mine, since he wrote some code and explained it for super asm n00bs, so i thought its open for anyone to do.
will i be abel to make an os? or i should stick to more asm for now then later do that?

MikeOS is a great place to start ASM and OSDev at the same time.
Although it assembles with NASM, you (I) could port it to FASM in about 5 minutes.
Then make some changes to the code, maybe a new CLI command to start.
I suggest sticking with 16bit (real mode) for now since the BIOS provides all the services you need.
In my experience, it would take about a year to learn enough ASM and OSDev
to code such an OS from scratch (thanks to good open source examples).

PS: Forget about wasting time, do what you enjoy, time will pass...

_________________
Coding a 3D game engine with fasm is like trying to eat an elephant,
you just have to keep focused and take it one 'byte' at a time.
Post 23 Oct 2010, 12:43
View user's profile Send private message 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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.