[OFF-TOPIC] It is true that is impossible write in binary code, the lowest level of programming that you can write is in hex code?

Grant Edwards invalid at invalid.invalid
Tue Nov 4 12:05:34 EST 2014


On 2014-11-04, françai s <romapera15 at gmail.com> wrote:

> I intend to write in lowest level of computer programming as a hobby.
>
> It is true that is impossible write in binary code,

No.  You can write in binary if you want.  If I were going to do
something like that I'd pick a CPU like a PDP11 with a nice simple,
regular, orthogonal instruction set.  That will minimize the amount of
stuff you'll need to memorize.  The MSP430 isn't bad either.

> the lowest level of programming that you can write is in hex code?

Hex is just a shorthand notation for binary where a group of 4 bits is
represented by a single character 0-9,A-F, but it's the exact same
"code":

binary  hex

 0000    0
 0001    1
 0010    2
 0011    3
 0100    4
 0101    5
 0110    6
 0111    7
 1000    8
 1001    9
 1010    A
 1011    B
 1100    C
 1101    D
 1110    E
 1111    F 

> What is the lowest level of programming computers that you can write ?
>
> Is binary code?
> Is hex code?

They're the same thing.  I supposed I could write in hex/binary if I
really wanted to.  I did it once or twice in the distant past, but
it's not something I'd consider fun. 

The lowest language I actually write code in is assembly.

> Is another machine code? Honestly do not know if it is true that
> there is another machine code beyond the binary and hex code.

> Is Assembly?

Assembly is small a step up from binary, where you enter keywords that
are translated directly into binary using a simple lookup table.  You
still have to know all about the CPU's instructions, registers, modes,
and so on the same as you do when writing in binary -- you just don't
have to memorize exactly which bit patterns are used for which
instructions.

On many CPUs there is another layer below "binary" and that's the
microcode that runs on the actual CPU gates.  The microcode is a
little program that interprets the "binary" code that you're talking
about writing.  The only people that write microcode are the design
engieers where the CPU was designed.

If you really want to write in "binary", you should probably first
learn to program in assembly language as a way to understand the the
CPU and it's instruction set and addressing modes.  The assmebler will
still do all sorts of bookkeeping and keep track of memory addresses
for you so that when you insert or remove an instruction you don't
have to manually adjust the addresses for the entire rest of the
program.

-- 
Grant Edwards               grant.b.edwards        Yow! A dwarf is passing out
                                  at               somewhere in Detroit!
                              gmail.com            



More information about the Python-list mailing list