So, upon many hours of research, I have come to the conclusion that I don't understand much.
Binary and Machine Code/Opcodes:
Machine code is what is understood by the CPU, the machine code itself is made of pure binary correct?
So take for example
000010 00000 00000 00000 10000 000000
. This is machine code making a jump to 1024. This machine code is comprised of binary. Is that correct?000010
is an OPCode, a machine code instruction, made from binary, correct?Assembly Language
Assembly language provides mnemonics for OpCodes correct? So for
000010
, the Assembler mnemonic isJ
orJMP
correct?What does assembler assemble to? Does it produce raw machine code? What is the file extension for raw machine code? How is assembly executed?
Object Code/Object File
Could someone explain what these are? Are these the output of assembly? Thanks all!