Second all the authors of references about computers programming, is necessary develop currently in Assembly, Decimal code, Octal code, Hex code, Code that tweaks other code to do bad things which is another form of writing machine code, Binary code, Microcode?

Polytropon freebsd at edvax.de
Tue Dec 2 02:03:00 UTC 2014


On Sat, 29 Nov 2014 12:56:24 -0200, françai s wrote:
> Second all the authors of references about computers programming, is
> necessary develop currently in:
> 
> Assembly?;

Yes, it's very handy for implementing platform-specific
parts on a low level, for example hardware drivers.
Assembly is "verbose enough" as it uses mnemonics
instead of raw binary code, and code can even be
kind of structured, depending on what assember you're
using. A major requirement is that you know about
the inner workings of the parts you're dealing with.
This offers the opportunity to write very efficient
code for things where this matters.



> KERMIT?;
> 
> Kermit is a file transfer program written entirely in assembler on many
> platforms for speed. Kermit is quite large and sophisticated, which was a
> barrier to entry back in the day before the internet and most
> communications protocols were standardized. To ease the transition, and
> taking advantage of the .COM format in DOS, kermit came with a bootstrap
> program that was made up entirely of printable characters so that one could
> easily type it in (well, not so easily, but it was possible since it was
> only maybe a hundred or two bytes long). The authors of this program had to
> learn which assembler op codes and addressing modes lead to printable
> characters and write their code accordingly. Not exactly programming
> directly in machine code, but very close. It was really quite an impressive
> bootstrap technique.

Interesting example for what I said above. :-)



> Decimal code?;

YOu usually don't write _programs_ in decimal code, you
write _data_ represented in decimal, when it applies.



> Octal code?;

Same as above.



> Hex code?;

Also same as above. Hexadecimal code is a very close
representation of what's in memory and registers, so
it's quite handy for dealing with data and instructions
located there.



> Code that tweaks other code to do bad things which is another form of
> writing machine code?;

Self-modifying programs have a certain tradition. It's
probably "historic" today, but I can imagine that especially
in the malware sector self-modifying programs are a
very useful tool.



> Binary code?;

Very few people program in _actual_ binary code. In most
cases, a decimal, hexadecimal (or really binary)
representation is being used. This can be handy
for dealing with CPU or hardware features.



> Microcode?

Microcode and firmware extends my statements about assembly
language and binary code.



> Comparing the responses of all the authors of references about computers
> programming about all the levels of computers programming that I quoted
> above, exist different opinions?

Of course there are different opinions. Some people
would love to write operating systems and device
drivers in Javascript, others would suggest to use
type-safe languages for everything low-level, and
so on. You can fill the whole Internet with opinions
and related discussions. :-)




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


More information about the freebsd-questions mailing list