flat assembler
Message board for the users of flat assembler.

Index > MenuetOS > Bug in MenuetOS 0.77

Goto page Previous  1, 2, 3, 4, 5
Author
Thread Post new topic Reply to topic
mega-squall



Joined: 17 May 2004
Posts: 22
mega-squall
This is MUCH to be done !
Do you imagine rebuilding Empires with not even a shovel, just bare hands ?

I don't think moving MOS towards Linux is a good idea.
Picking good things in Linux is great, but rewriting Linux like a blind man is stupid.
Anyway, why Linux and no OpenBSD, or any other 'mature' OS ?
Post 11 Aug 2004, 22:41
View user's profile Send private message Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
crc
Quote:
I see FASM not only as a language but also whole independent system. so why not merely c-compiler/oop/abstraction 'in asm'?


Because C and other languages are designed around a totally different viewpoint. C was designed to be portable, so it isn't inherently tied to a specific CPU. Assembly is, by nature, not portable, as it is tied to a specific CPU. Once you abstract the CPU and rest of the hardware away, you no longer have real control over the computer - you have to rely on someone else's system. PC's are not like larger computer systems (e.g., IBM mainframes like the S/390, AS/400, and zSeries); having complete control is a good thing on a PC.

So you can write a C compiler in assembly. It's been done before. But doing that defeats the ultimate goal of C, and many other HL systems languages. Abstraction is not always a good thing.
----
Quote:
Picking good things in Linux is great, but rewriting Linux like a blind man is stupid. Anyway, why Linux and no OpenBSD, or any other 'mature' OS?


Because Linux has the apps Smile Seriously, if I was going to support another OSes syscall interface and ABI, I'd go for Linux. At least you'd be able to run some of the popular programs, without needing to recompile everything. This does have a use, at least for developers: I use FreeBSD, with Linux emulation, saving me one reboot every time I test a new version of RetroForth. If WINE ever gets to a point where it supports RetroForth, I can save yet another reboot after that. I agree that we don't need another *nix, but where's the innovation today? Menuet, as nice as it is, sticks with the existing desktop model. I'd love to see it move beyond the desktop. Surely the desktop with its WIMP interface isn't the best UI possible!
Post 11 Aug 2004, 23:13
View user's profile Send private message Visit poster's website Reply with quote
fasm9



Joined: 19 Jun 2003
Posts: 439
fasm9
crc wrote:

So you can write a C compiler in assembly.


you mean which?

1. C compiler written in assembler.

2. C compiler running in assembler.

1 and 2 is quite different.
i think you meant 1, while i meant 2.

c compiler cut/hide the link from assembly. but by did it, c compiler lost self-ability and gain portability. While, FASM have low level ability, yet a bit lack of some kind of abstraction/oop/c-compiler stuff.

--
I respect FASM low level ability as new kind of thing (had haven't seen before).

PS: there is third option.
3. simply let the FASM to talk GCC. Wink
Post 12 Aug 2004, 04:06
View user's profile Send private message Reply with quote
mega-squall



Joined: 17 May 2004
Posts: 22
mega-squall
I don't get your point.
What do you mean by C compiler running in ASM ?

Every program runs in ASM, because C code (or code in any other langage) is compiled and linked to make some ASM code, which is then assembled to binaries.

I think you mean "Have FASM talking C" by your 3rd option (GCC is not a langage, it's a compiler ...). But this is stupid.

C langage REQUIRES to be compiled/linked into ASM before it can be processed. You cannot just run some C code like this. CPU does not understand C.

FASM just replaces mnemonics by the binary value of the operation to be done by the CPU. This can't be done with C langage, because the while(), for(), print(), ... operations do not exist in ix86 ...

GCC translates (i.e compile) C code into ASM code.
For instance, the for() instruction is replaced by an assignation, a condition test, calls to operations beetwen brackets and much memory moves, basically. More operations are done for memory management, etc ... Then, the ASM code is assembled to become an executable binary.

What's up with Menuet is that code is directly written in ASM so the code is lightened, because ASM coders do not use the same code for the same C instruction, because some operations are not always needed. A while() in C is translated in the same amount of lines (or nearly) into ASM, even if half of them are useless.

This is why FASM cannot unerstand C or ANY OTHER LANGAGE than ASM.
Post 12 Aug 2004, 17:09
View user's profile Send private message Reply with quote
fasm9



Joined: 19 Jun 2003
Posts: 439
fasm9
About 3rd option, wrong.
more exactly, see the lastest topic at linux section.

and about C compiler running in assembly.
AISB, there is an enough possibility to do it.
I.E., Abstraction/oop/c-compiler stuff rather than macro.

--
why they invent C-compiler rather than using assembler?
and Today why we choose FASM over GCC? we see the short-point of c-compiler and assembler.
Post 12 Aug 2004, 21:58
View user's profile Send private message Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
crc
Quote:
why they invent C-compiler rather than using assembler?
and Today why we choose FASM over GCC? we see the short-point of c-compiler and assembler.


C was invented as a systems programming language to make UNIX easier to port. As such, it has no real ties to the underlying hardware (for example, the C language has no I/O functions).

FASM is closely tied to a specific hardware (the x86 processor in a PC). It's better than C when you need tightly optomized binaries or full control of your computer.
Post 13 Aug 2004, 11:26
View user's profile Send private message Visit poster's website Reply with quote
fasm9



Joined: 19 Jun 2003
Posts: 439
fasm9
Using them(GCC, FASM) at the same time, somewhat complex!

using GCC: keep going along with GCC only.
using FASM: keep going along with FASM only?

--
Post 13 Aug 2004, 13:15
View user's profile Send private message Reply with quote
mega-squall



Joined: 17 May 2004
Posts: 22
mega-squall
Anyway, MenuetOS is meant to be 100% ASM ...
Post 13 Aug 2004, 17:03
View user's profile Send private message Reply with quote
Mike Hibbett



Joined: 02 Sep 2003
Posts: 88
Location: UK
Mike Hibbett
No it isn't.

The OS is 100% Assembly, but that doesn't preclude applications written in high level languages.

Mike
Post 13 Aug 2004, 18:56
View user's profile Send private message AIM Address Reply with quote
fasm9



Joined: 19 Jun 2003
Posts: 439
fasm9
I haven't read this article before, Guess what? Of course, it's my lazyness..

http://cm.bell-labs.com/cm/cs/who/dmr/chist.html

--
Today, we have more than they.
they lead their idea ahead beyond the limited hardware, nowaday, most hardwares are basically aware of C philosophy. i think FASM is in better situation. lead better hardware.
Post 13 Aug 2004, 22:57
View user's profile Send private message Reply with quote
compilax



Joined: 18 Feb 2004
Posts: 56
compilax
If you like Linux so much, help develop Linux.

I don't quite understand why you are so hell bent on making FASM = GCC. They are different compilers that are written in different languages and handle code written in different languages that are better suited for different environments.

For low level work (eg: the underlying parts of an OS), The only advantages I see to C are: ease of coding for some people, and portability (and most low level things are platform specific Wink. People who code for MenuetOS would, i assume, not find asm coding all too hard (i find it easier than C usually), and it is obviosly not aimed towards portability.

as far as Linux vs. *BSD... FreeBSD!!!!!!!!!!!! - i find it a much cleaner and faster, and there arent many apps that wont run on it if recompiled - simple Linux apps will run as they are quite similar systems, and larger apps usually have modifications to make it work with FreeBSD and other systems.
Post 14 Aug 2004, 03:52
View user's profile Send private message Visit poster's website MSN Messenger Reply with quote
fasm9



Joined: 19 Jun 2003
Posts: 439
fasm9
IMNSHO, Helping MenuetOS and myself is Helping Linux.

> .. ease of coding for some people ..
I see most people, you can't say that unless you had done written in FASM with DOOM1~3, OOo, (even)MenuetOS, GCC all by yourself.
Post 14 Aug 2004, 04:33
View user's profile Send private message Reply with quote
compilax



Joined: 18 Feb 2004
Posts: 56
compilax
Quote:
I see most people, you can't say that unless you had done written in FASM with DOOM1~3, OOo, (even)MenuetOS, GCC all by yourself.

please explain.
what i meant was that there is, at the very least, one person (me) in the world who finds C harder to code in than asm. For one, you can do anything in asm. You can access each byte of a word seperately without shifting and anding, you can create self modifying code, you can mess with a pointer to a pointer to a pointer to a pointer easier, etc... all without looking at a manual! I find myself more likely to make a mistake in asm code, but it is easier to debug, because generally i know it is _my_ code that is screwing up, not someone else's compiler producing faulty code or someone else's routine i am calling (which i tend to do a lot more in C), and because i know the end product is exactly what i typed in - the first byte in the file is part of the first thing i typed, etc.
Post 14 Aug 2004, 05:17
View user's profile Send private message Visit poster's website MSN Messenger Reply with quote
fasm9



Joined: 19 Jun 2003
Posts: 439
fasm9
Why software-engineering/java/C# exist? Assembly is enough to the rest of us?!

saying that, it's about scale.
and it just like machine code to assembly for assembly to c-compiler for c-compiler to c++ compiler for c++-compiler to C#-compiler.

It also, just like a bike to a motorcycle for a motorcycle to a car for a car to a aeroplane for a aeroplane to a rocket.

Enough explain?

--
FASM is a self assembler. n-generation cycle make him the all-round player! Wink
Post 14 Aug 2004, 05:45
View user's profile Send private message Reply with quote
mega-squall



Joined: 17 May 2004
Posts: 22
mega-squall
Why software-engineering/java/C# exist?

Because even if it's not easier to code, it's a good compromise between control of the code and power.

Understanding an ASM program is much harder than understanding a C program when both are written by somebody else. C is masterized by more people. C has shorter sources for the same (big) program. C needs no source modification if you want to port it from any architecture to any other architecture (yet sometimes changing architecture means changin environment).

This are what makes C code more interesting for the coding industry. Making one program is cheaper in C than in ASM. For OpenSource, communities do not mind having to code more, code harder, code more expansive, because they don't see code as a future final product which will have to yield more than it has costed.

Even if they did so, they would say seeing the useness of their code would yield them more (proudness) than it would have costed (spare time and good will) ...
Post 14 Aug 2004, 19:28
View user's profile Send private message Reply with quote
SPTH



Joined: 24 Jul 2004
Posts: 91
SPTH
I have started to code a Anti Virus for MenuetOS.
I'll upload it to my homepage, when it's finished.

Beside detecting Menuet.Oxymoron (the first virus for MenuetOS), it will also contain a heuristic. But coding will still use some time!

greets, ...
Post 15 Aug 2004, 16:45
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4, 5

< 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 can attach files in this forum
You can download files in this forum


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

Website powered by rwasa.