flat assembler
Message board for the users of flat assembler.
Index
> Windows > Win32 calls. Register usage? Goto page Previous 1, 2, 3 ... , 9, 10, 11 Next |
Author |
|
revolution 08 Jun 2009, 18:39
Azu wrote: For the last motherfucking time http://board.flatassembler.net/topic.php?p=95565#95565 |
|||
08 Jun 2009, 18:39 |
|
Azu 08 Jun 2009, 18:47
k, you've officially pissed me off now, congrats. Bye.
|
|||
08 Jun 2009, 18:47 |
|
kdownload 09 Jun 2009, 20:41
What about pushing EBP? I mean, is that not what EBP is for anyway? For every function call, preserve it. If you really want something that doesn't make sense, the 64bit equivalent standard for linux uses the lower dword for each floating point param... and if that's not enough, you have to store the count in rax... At least you don't have to monitor the number of params on the stack...
|
|||
09 Jun 2009, 20:41 |
|
arigity 09 Jun 2009, 21:27
considering the only cdecl function you people seem to care about is wsprintf and that is just a wrapper for wvsprintf you'd think people would just make there own instead of complaining about it... its like 7 instructions...
there are a ton of reasons why cdecl is a good calling standard, it allows for the caller to be much more flexible in coding style than stdcall. |
|||
09 Jun 2009, 21:27 |
|
Borsuc 10 Jun 2009, 01:33
I am not blaming just one function I blame the whole standard. I just express why cdecl is the wrong standard to use in HLLs. Yes it may be useful in asm because of flexibility. Not in HLLs though. It should have been replaced long ago.
|
|||
10 Jun 2009, 01:33 |
|
Azu 10 Jun 2009, 06:09
arigity wrote: considering the only cdecl function you people seem to care about is wsprintf and that is just a wrapper for wvsprintf you'd think people would just make there own instead of complaining about it... its like 7 instructions... |
|||
10 Jun 2009, 06:09 |
|
arigity 10 Jun 2009, 13:30
Azu wrote: The function it's a wrapper for sucks horribly. this has nothing to do with the standard ESPECIALLY considering the function its a wrapper for is stdcall.... and its a pretty complex function its understanding that it would be confusing to look at. Borsuc wrote: I am not blaming just one function I blame the whole standard. I just express why cdecl is the wrong standard to use in HLLs. Yes it may be useful in asm because of flexibility. Not in HLLs though. It should have been replaced long ago. what you can do with it doesn't change depending on if you use a hll or not, this was shown in loco's example. also, if either of you can think of a better standard i'd definitely like to see it, what you currently suggest is crap. |
|||
10 Jun 2009, 13:30 |
|
Azu 10 Jun 2009, 13:34
arigity wrote:
arigity wrote:
cdecl is crap, and passing args on the heap is crap. Put those together and you get crappity crap A.K.A. wsprintf! |
|||
10 Jun 2009, 13:34 |
|
arigity 10 Jun 2009, 13:53
Azu wrote: stdcall is a much better calling standard. cdecl is crap. stdcall is a pretty great standard if all you care about is calling the function and getting on with your life, but it can't always be used and in some cases is a terrible idea to use. cdecl provides added flexibility to how you interact with functions and arguments and lets the user not the function decide what stays on/off the stack with it your much less limited in code-design then you would be normally and your not limited to what the designer of the function thought was 'right'. i still do not see a better standard. |
|||
10 Jun 2009, 13:53 |
|
Azu 10 Jun 2009, 14:05
arigity wrote:
It's called inline. HLLs and LLLs alike support it extensively. Enjoy. Or just accept that wanting to preserve args is the exception not the norm, and simply use sub esp,X in these rare cases, rather then a crappy calling standard like cdecl that needs add esp,X in almost all cases.. |
|||
10 Jun 2009, 14:05 |
|
arigity 10 Jun 2009, 14:21
Azu wrote: If you want versatility in code-design at the expense of code size.. there's a standard just for you. we call it progress, hey since 16 bit programs are smaller then 32 bit ones, it definitely makes more sense to code in them right? who cares about a few limitations when you can save some bytes! lets all just head back to dos, screw this gui crap, its too large. |
|||
10 Jun 2009, 14:21 |
|
Azu 10 Jun 2009, 14:24
GUIs are created in Windows using the stdcall standard. User-mode programs operate in ring 3 and thus can not make GUIs using inline code, so you are actually arguing against GUIs not for them.
|
|||
10 Jun 2009, 14:24 |
|
arigity 10 Jun 2009, 14:30
Azu wrote: GUIs are created in Windows using the stdcall standard. User-mode programs operate in ring 3 and thus can not make GUIs using inline code. you entirely missed my point. aside from that, the gui still adds to windows size... if it was all just 1 big black box it'd be twice as small! |
|||
10 Jun 2009, 14:30 |
|
Azu 10 Jun 2009, 14:32
arigity wrote:
arigity wrote: aside from that, the gui still adds to windows size... if it was all just 1 big black box it'd be twice as small! Last edited by Azu on 10 Jun 2009, 14:44; edited 1 time in total |
|||
10 Jun 2009, 14:32 |
|
arigity 10 Jun 2009, 14:43
Azu wrote: Your point is that inline code = progress = GUI. I pointed out the contradiction in your point though. progress = larger size. things get BIGGER as time goes on. 64 bit code > 32 bit code >16 bit code 16 bit code still works even on 64 bit os's, lets all just nix out useful things because it takes up too much space. Azu wrote: Actually, most windows would take up a lot more space to display the same amount of information in text as they do in imagery or imagery + text. no gui system = smaller windows, i do not see how i can make this any plainer. if you do not believe me grab a copy of a dos os sometime. |
|||
10 Jun 2009, 14:43 |
|
Azu 10 Jun 2009, 14:49
arigity wrote: progress = larger size. Thus; other factors being identical, the smallest thing has progressed most. arigity wrote: no gui system = smaller windows, i do not see how i can make this any plainer. if you do not believe me grab a copy of a dos os sometime. |
|||
10 Jun 2009, 14:49 |
|
arigity 10 Jun 2009, 15:13
i don't have the patience for this -_- as soon as i prove you wrong at one point you jump to another. I'm not going to bother telling you why your idea is wrong anymore. it doesn't change anything and is a waste of my time.
|
|||
10 Jun 2009, 15:13 |
|
Azu 10 Jun 2009, 15:15
Uh.. sorry, but you've proven nothing, and I destroyed all of your arguments.
Cya later. |
|||
10 Jun 2009, 15:15 |
|
Borsuc 11 Jun 2009, 00:16
arigity wrote: progress = larger size. things get BIGGER as time goes on. Occams' Razor, simplest thing that does a specific job is the best. Simplest for a computer is smallest. Don't make me laugh, there is no difference in functionality between cdecl and stdcall, if the latter is adapted as I have shown previously. It's just you using the crappy bloated argument, why don't you use it on direct analogy instead? cdecl is useful, but only for functions inside your program that are hard-coded to bring out the most out of it, and that is, dynamic stack manipulation (this also requires assembly mind you). NOT for a STANDARD API that all apps can use from. I don't know about you, but if I had to choose between two identical (in functionality) versions of Windows, but one being 50% smaller, I know which one I would call progress, better, and more efficient, and be my choice. _________________ Previously known as The_Grey_Beast |
|||
11 Jun 2009, 00:16 |
|
Goto page Previous 1, 2, 3 ... , 9, 10, 11 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.