flat assembler
Message board for the users of flat assembler.

Index > Heap > fasm and vista

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
jacko221



Joined: 12 Nov 2005
Posts: 22
jacko221
could anybody tell me (as i havn't tried) if it is much different programming in vista as it would be in XP using flat assembler (besides having to code in 64bit) ?
I bring this up question because i read that the win32 api would not exist and instead be replaced by managed code and the .Net frame work 3.0 (a.k.a winFX).
Post 12 Jul 2006, 05:40
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
api will be there, emulated by .net framework (which will use the real api..). they just say x86 apps will run 40% slower than managed code (eg. just-in-time compiled).
Post 12 Jul 2006, 06:41
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
madmatt



Joined: 07 Oct 2003
Posts: 1045
Location: Michigan, USA
madmatt
How could managed code be faster than assembly code?
Post 13 Jul 2006, 08:06
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
they say because unmanaged APIs are just calls to managed ones... i don't know, i remember there was a big flame about this months ago
Post 13 Jul 2006, 09:25
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
Well if vista beta, is anything to go by, vista will run dos, win98 etc programs, better than XP.
Also theres a ver that can run and compile UNIX programs Shocked.
Post 13 Jul 2006, 16:41
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Please explain further (e.g., Interix??) since I have no intention of downloading a 4 gig file. Smile

Dex4u wrote:
Well if vista beta, is anything to go by, vista will run dos, win98 etc programs, better than XP.
Also theres a ver that can run and compile UNIX programs Shocked.
Post 14 Jul 2006, 05:03
View user's profile Send private message Visit poster's website Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Unless I've missed something, you don't need to write 64bit code. There's 32bit versions of Vista, and even for 64bit vista there's still WoW32 for running 32bit apps.

Also, I can't see how native apps would run (that much) slower than dotNET... sure, the APIs might be implemented in dotNET with a thin conversion layer to native apps - but I can't see how that would take up 40%. Not to mention, of course, that while the dotNET JIT'er is relatively good, you can still easily beat it even without writing assembly code.
Post 14 Jul 2006, 09:28
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak
Simple, they make it so non .net programs won't run as quickly (by forcing them to use another layer of indirection which'll make them about as useful as java) so we have to use .net. Mac's commin' out with a system that can run the same hardware as windows, and vista is commin' out, they wanna make .net look faster as well so people buy vista, being misinformed most of them, instead of Mac, or Linux or such. People pick on others for likin' mac, i'm starting to see more advantages to mac than windows at this point. Windows is notorious for taking ability away from previous programs. That way, if you want the speed that xp provides for native apps, go ahead and buy XP to go with your new vista computer. And this is shown because of the new sudden appearances of windows commercials already. Windows is trying to sell vista, and they know it might backfire on them. Heck, halo 2 pc will be only for vista, not backwords compatable like halopc. Basically, they're trying to market vista as much as possible cause it's not gonna be pretty when a new version of windows comes out. It's turned into a big event. Basically, it's gonna so bad we're just gonna make apps for floppy disks so we can use them on all platforms.
Post 23 Jul 2006, 15:09
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
That's plain nonsense.

Sure, the system will be big, bloated and slow, partially because so much of it is dotNET. But the layer mapping win32->winfx (or whatevery they call it) will be thin, no way Microsoft is going to add intentional slowdown code. I bet a win32 app won't be measurably worse off than a dotNET one... and win32 (or win64, whatever) still has the advantage of being native code.

I'm not a fan of Vista in any way though, and WinXP is the last Microsoft OS I'll be using without being forced. Unless they get stuff right after Vista.

Oh, and be careful with Apple and their Macs... apple is even more into limiting your rights than Microsoft is.
Post 23 Jul 2006, 16:14
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak
I have a feeling both of their intentional limiting captablilities will be their demise. From what i've seen, programmers and users of vista alike are getting ticked off. Anyone smart would know the idea is to make people dependant on your software if you want it to sell. .net framework comes to mind. When vista comes out with these specs, .net will be the most efficiant API for windows according to vid, and it wouldn't surprise me windows would do that. See, once .net is the best for the most popular operating system, people will learn it in school. Now, my school is planning on going completely winapi based... It's turning into a windows world instead of a computer world. *IF* people come to their sences before microsoft succeeds in this, people might fight over mac and windows, then see sudden linux commercials. i don't know much about linux, but i heard it runs better than both.

What we need is an OS that runs completely on assembly, that only updates per new processor, and is only a new port for the OS that better uses the processor. In fact, it might be a good project for us here. We could all use a standardized method of programming ASM that everyone else here could read... But chances are this project will never fly off. lol
Post 23 Jul 2006, 16:56
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
rugxulo wrote:
Please explain further (e.g., Interix??) since I have no intention of downloading a 4 gig file. :)

Dex4u wrote:
Well if vista beta, is anything to go by, vista will run dos, win98 etc programs, better than XP.
Also theres a ver that can run and compile UNIX programs Shocked.

Go here and download the mp3 radio show (Episode: 153, windows VISTA beta2).
http://www.binrev.com/radio/archive.php
For full info.

PS: Plesae anyone, do not give me the media spin on hackers, as my views on them are here: http://www.osdev.org/phpBB2/viewtopic.php?t=2749


Last edited by Dex4u on 23 Jul 2006, 19:21; edited 1 time in total
Post 23 Jul 2006, 19:12
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Quote:

I don't know much about linux, but i heard it runs better than both.

Once you get some experience with it, you'll see that's not true Smile - driver support can still be horrible, the API is limited, and the X windowing system is horrible.

Quote:

When vista comes out with these specs, .net will be the most efficiant API for windows according to vid, and it wouldn't surprise me windows would do that.

Said it before, saying it again: it's not like a conversion layer from win32->winfx is going to add a lot of overhead.

Quote:

What we need is an OS that runs completely on assembly, that only updates per new processor, and is only a new port for the OS that better uses the processor.

A dream that's never going to happen. It's not really useful either, it's more useful having a portable system. You're not going to gain much by choosing assembly instead of C/C++ for an operating system anyway. The problem with windows is not the kernel, but all the fluff the application-level programmers have added.

Quote:

But chances are this project will never fly off. lol

Look at MenuetOS.
Post 23 Jul 2006, 19:12
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak
Quote:
Said it before, saying it again: it's not like a conversion layer from win32->winfx is going to add a lot of overhead.


What i'm saying, is that i wouldn't put it past them to purpously slow down a program if it dosn't have a certain code in it some where to say that is .net or such.

Quote:
A dream that's never going to happen. It's not really useful either, it's more useful having a portable system. You're not going to gain much by choosing assembly instead of C/C++ for an operating system anyway. The problem with windows is not the kernel, but all the fluff the application-level programmers have added.


indeed, and the application-level (such as explorer.exe and such) is considered part of the OS itself.

Quote:
Look at MenuetOS.


Free and made in assembly and has it's own floor and requires no OS to be based on? Kinda like how windows used to be built ontop of DOS?
Post 23 Jul 2006, 19:36
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
kohlrak wrote:
Quote:
Said it before, saying it again: it's not like a conversion layer from win32->winfx is going to add a lot of overhead.

What i'm saying, is that i wouldn't put it past them to purpously slow down a program if it dosn't have a certain code in it some where to say that is .net or such.

They won't do that, for a couple of simple reasons. First, it would be plain stupid and purposeless. Second, the public outcry when it's discovered would be very bad PR. Also, where's the slowdown code from win16-on-win32 or win32-on-win64?

kohlrak wrote:

Quote:
A dream that's never going to happen. It's not really useful either, it's more useful having a portable system. You're not going to gain much by choosing assembly instead of C/C++ for an operating system anyway. The problem with windows is not the kernel, but all the fluff the application-level programmers have added.

indeed, and the application-level (such as explorer.exe and such) is considered part of the OS itself.

Part of the OS, not the kernel. The non-kernel part of the OS doesn't have to be written in assembly either, just has to be written better. Microsoft really ought to fire a whole bunch of programmers and only keep the good ones...

kohlrak wrote:

Quote:
Look at MenuetOS.

Free and made in assembly and has it's own floor and requires no OS to be based on? Kinda like how windows used to be built ontop of DOS?

Umm, you're contradicting yourself - windows used to be built ontop of DOS, which means it required an OS already.

Anyway, what I meant was it doesn't do a hell of a lot, support a lot, etc. On the other hand, look at http://www.reactos.org which is C... I'm afraid an Assembly OS is doomed, just not enough interest.

_________________
Image - carpe noctem
Post 24 Jul 2006, 10:50
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak
Quote:
They won't do that, for a couple of simple reasons. First, it would be plain stupid and purposeless. Second, the public outcry when it's discovered would be very bad PR. Also, where's the slowdown code from win16-on-win32 or win32-on-win64?


Probably inexistant yet. Programming is becomming more and more unpopular, therefor safer for them to pull it off. Second, it really is full of purpose. Like i said, it'll make people more dependent on windows when kids find out that they can't code for any other OS because their whole course on C#, C++, or such was for use only with windows. By that time, it's too late and those kids are lost, then microsoft owns you for a few years.

Quote:
Part of the OS, not the kernel. The non-kernel part of the OS doesn't have to be written in assembly either, just has to be written better. Microsoft really ought to fire a whole bunch of programmers and only keep the good ones...


The best ASM programmers writting the best ASM code will always beat the best C/C++ code or any other language for that matter. When writing something for a peoplce on such a large scale, they should write it as perfect as can be. Good marketing that way, then it might have speed changes that are noticable... That power can be put to other programs.

Quote:
Umm, you're contradicting yourself - windows used to be built ontop of DOS, which means it required an OS already.


the 2nd sentace was an example of what i don't want. I was using it as an example to point out that windows once used DOS as a floor for their OS, i was asking if it was unlike windows in that respect. Considering that those versions of windows (even though DOS was an OS and was the floor for windows) were considered together the entire os. (Since even though what was ontop of DOS wasn't an OS, people still considered it one anyway.)

Quote:
Anyway, what I meant was it doesn't do a hell of a lot, support a lot, etc. On the other hand, look at http://www.reactos.org which is C... I'm afraid an Assembly OS is doomed, just not enough interest.


There is... In fact, i know an online community which practically worshipped the idea... Fact was, they are afraid of assembly.

EDIT: omg.... What is that, a windows emulator? Or are they trying to call the interface their own idea? lol
Post 24 Jul 2006, 16:27
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
kohlrak wrote:
Quote:
They won't do that, for a couple of simple reasons. First, it would be plain stupid and purposeless. Second, the public outcry when it's discovered would be very bad PR. Also, where's the slowdown code from win16-on-win32 or win32-on-win64?


Probably inexistant yet. Programming is becomming more and more unpopular, therefor safer for them to pull it off. Second, it really is full of purpose. Like i said, it'll make people more dependent on windows when kids find out that they can't code for any other OS because their whole course on C#, C++, or such was for use only with windows. By that time, it's too late and those kids are lost, then microsoft owns you for a few years.


Scepticism and a little paranoia is healthy for you. This is an outright silly conspiracy theory, though. Any serious comp.sci. isn't focused on windows, never have been, never will be. hi-school programming courses are usually a joke, get over it.

Microsoft released a lot of sourcecode for their dotNET stuff (google "rotor"), although not the WinForms stuff. There's also the open-source http://www.mono-project.com/ , so dotNET code is actually useful on far more than just windows. Not as portable as Java yet, but it's under active development.

kohlrak wrote:

Quote:
Part of the OS, not the kernel. The non-kernel part of the OS doesn't have to be written in assembly either, just has to be written better. Microsoft really ought to fire a whole bunch of programmers and only keep the good ones...


The best ASM programmers writting the best ASM code will always beat the best C/C++ code or any other language for that matter. When writing something for a peoplce on such a large scale, they should write it as perfect as can be. Good marketing that way, then it might have speed changes that are noticable... That power can be put to other programs.


If you were to write a full OS in assembly, drivers and applications and all, you'd need quite an amount of years to do so. And you would be locked to a single platform... whereas NT compiles for 32/64bit intel, as well as Itanium. Win2k used to build for Alpha as well, but they dropped support before win2k final.

Try to look at the number of platforms linux or BSD builds for - especially OpenBSD. Try achieving the same with assembly, good luck Smile

Oh, and sure a good assembly coder can beat compilers. But if you were to optimize all of the code at the same level a compiler does, instead of focusing on hotspots, you'd never get any work done.



kohlrak wrote:

Quote:
Umm, you're contradicting yourself - windows used to be built ontop of DOS, which means it required an OS already.


the 2nd sentace was an example of what i don't want. I was using it as an example to point out that windows once used DOS as a floor for their OS, i was asking if it was unlike windows in that respect. Considering that those versions of windows (even though DOS was an OS and was the floor for windows) were considered together the entire os. (Since even though what was ontop of DOS wasn't an OS, people still considered it one anyway.)

Windows 9x was more a less a "dos extender on steroids", although with native drivers instead of thunking back to DOS. There's no DOS use in Windows NT though.


kohlrak wrote:

Quote:
Anyway, what I meant was it doesn't do a hell of a lot, support a lot, etc. On the other hand, look at http://www.reactos.org which is C... I'm afraid an Assembly OS is doomed, just not enough interest.


There is... In fact, i know an online community which practically worshipped the idea... Fact was, they are afraid of assembly.

Yeah well, how many people interested in MenuetOS do you count? Interested as in actively involved in some way, whether it be kernel or application developers. A hundred? That's not a lot of interest.

kohlrak wrote:

EDIT: omg.... What is that, a windows emulator? Or are they trying to call the interface their own idea? lol

Nope, ReactOS isn't an emulator. It's a re-implementation of the NT kernel with binary compatibility... quite an interesting project. And, with time, a lot more useful project than most hobby OSes.

_________________
Image - carpe noctem
Post 25 Jul 2006, 11:29
View user's profile Send private message Visit poster's website Reply with quote
Octavio



Joined: 21 Jun 2003
Posts: 366
Location: Spain
Octavio
Quote:

If you were to write a full OS in assembly, drivers and applications and all, you'd need quite an amount of years to do so. And you would be locked to a single platform... whereas NT compiles for 32/64bit intel, as well as Itanium. Win2k used to build for Alpha as well, but they dropped support before win2k final.

Try to look at the number of platforms linux or BSD builds for - especially OpenBSD. Try achieving the same with assembly, good luck

You are right , a single assembly programmer can not beat a thousand of C programmers, assembly is not a thousand of times better than C.
I think it is better to compare similar things, like a OS written by ONE C programmer (without copy and paste) and a OS written by ONE assembly
programmer.Also try to port Fasm to a hobby OS and then try to port GCC then you will think that assembly is the most portable language.
Post 25 Jul 2006, 12:25
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
Quote:
Oh, and sure a good assembly coder can beat compilers. But if you were to optimize all of the code at the same level a compiler does, instead of focusing on hotspots, you'd never get any work done.

Maybe you remember discussion about optimizing size vs. speed. Parts of code which are seldom runned (let's say 1-5 times per application run) should be optimized for size, because loading code from HDD takes MUCH more than running it. And unoptimized asm code is about 10 times smaller than optimized HLL code Razz
Post 25 Jul 2006, 13:06
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
Octavio wrote:
Also try to port Fasm to a hobby OS and then try to port GCC then you will think that assembly is the most portable language.

I agree 100% with this, also if people would code asm device drivers as fasm is written (as in designed to be easy ported to other OS), it would making code a ASM OS much easier.
Just a side note, i do not use C, but when i did try and learn it, i found it hard to get program to compiler from one C compiler to another, never mind from one processor to a another.
Post 25 Jul 2006, 15:18
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Octavio wrote:

I think it is better to compare similar things, like a OS written by ONE C programmer (without copy and paste) and a OS written by ONE assembly

Would be more realistic to compare two 5-man projects or whatever - one person is never going to get much stuff done Smile

Octavio wrote:

Also try to port Fasm to a hobby OS and then try to port GCC then you will think that assembly is the most portable language.

Hehe - GCC assumes you've got at least a POSIX environment running. And then there's editing all the build scripts - eek. To be fair, GCC is a much more complex beast than FASM, and supports many more CPUs, file formats, etc.

vid wrote:

Maybe you remember discussion about optimizing size vs. speed. Parts of code which are seldom runned (let's say 1-5 times per application run) should be optimized for size, because loading code from HDD takes MUCH more than running it. And unoptimized asm code is about 10 times smaller than optimized HLL code Razz

"cl /O1 mostfiles.cpp" Razz - the issue is more about writing non-crap code and not using bloated libraries/frameworks IMHO.

Dex4u wrote:

I agree 100% with this, also if people would code asm device drivers as fasm is written (as in designed to be easy ported to other OS), it would making code a ASM OS much easier.

This isn't very realistic, though. OS driver models differ quite a lot. Some logic can be kept, but the way to do I/O etc vary. And no, it's not a good idea to do direct IN/OUT if you want decent portability. Also if you code your drivers in assembly, you lock yourself to x86 (or whatever platform you write the assembly for).

Multiple systems have, say, PCI support - I wonder how many platforms a typical linux driver compiles for?

Dex4u wrote:

Just a side note, i do not use C, but when i did try and learn it, i found it hard to get program to compiler from one C compiler to another, never mind from one processor to a another.

Weird. Did you use non-standard library functions? Or just write some very whacked-out code? Smile
Post 25 Jul 2006, 16:25
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:  
Goto page 1, 2  Next

< 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.

Powered by rwasa.