Getting the size of a C function

W

Walter Banks

bartc said:
Assembler is 100% flexible compared to any HLL, even C, so sometimes it
makes life easier.

While you probably wouldn't write applications in it, there are types of
programs which do have a big proportion of assembler (in my case, these are
interpreters).

Hyde's HLA is not for everyone, but I use of form of HLA (inline assembler
within a HLL) which makes writing large amounts of assembler much less
painful.

Embedded assembly in a C program becomes a lot more manageable
when the assembler and C compiler share the same symbol table.
Getting rid of address mangling between C and asm and giving the
asm full access to C's symbol table makes it a lot easier to
add embedded assembler to an application.

Regards,

Walter..
 
A

Albert van der Horst

Assembler is 100% flexible compared to any HLL, even C, so sometimes it
makes life easier.

While you probably wouldn't write applications in it, there are types of
programs which do have a big proportion of assembler (in my case, these are
interpreters).

Hyde's HLA is not for everyone, but I use of form of HLA (inline assembler
within a HLL) which makes writing large amounts of assembler much less
painful.

That is not HLA. HLA is IMHO a bizarre concept. It is abstraction
added on top of an assembler.
Assembler is the pinnacle of concreteness.
If you go for assembler, you should complement it with macro's.
Macro's may be a pain to use, but they are extremely flexible
and the result remains horribly concrete.

I don't think this is just an opinion, and I would add this to
Wikipedia, but I have some stakes here.

1]
I have a Forth system, where macro's help me to have the same
source 16/32/64 bit, linux/msdos/mswindows/standalone.
It is legitimate for a language implementation to be written
in assembler (maybe complemented with parts written in the
language itself.) (The alternative is using C as a portable
assembler, but that leaves C itself to be written basically
in assembler.)

2]
I also have (dis)assembler that doesn't hide the difference (i86)
between move-from-register-a-to-b and move-to-register-b-from-a
MOV BX,AX
(No not LEA. )
which makes it suitable for reverse engineering stealth viruses.
And, if you are working on a language product which generates assembler
code, then you need to understand how it works even if you are not manually
writing the code yourself.

Also this notion should be more prominent on Wikipedia pages.
Sometimes it gives the impression that those using assembler are
behind the times instead of supplying the foundation for the
whole IT industry.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top